Drop the Avalanche-heritage /ext prefix; /v1 is the single canonical route
surface (one way, no backward compat). The node's baseURL is the source of
truth; clients, SDKs, CLI, indexer, maker, genesis, netrunner, and the
k8s/compose/gateway/explorer configs are updated to match.
Co-authored-by: Hanzo Dev <dev@hanzo.ai>
proto/p Wave 2A (#101) rips github.com/luxfi/codec from p/txs — the
package-level txs.Codec singleton is gone. local/blockchain.go's
newWallet was using it to parse PChain wire bytes; switch to
sdk/wallet/chain/p.Codec (already imported as pwallet in the same
file), which is the canonical linearcodec-backed codec.Manager
constructed by the sdk's wallet/chain/p init().
This is a one-line cascade fix — no new helper needed because the SDK
already exposes the codec we'd construct here anyway.
go build ./... green.
The proto pin remains at v1.1.0; the workspace go.work consumes the
local proto/ which is on branch chore/proto-p-codec-rip with the new
API. This commit goes live once proto v1.2.0 + sdk v?.?.? are tagged.
Renames LUX_-prefixed env vars to canonical, non-noisy forms across
genesis_config, blockchain, network, examples, tests, genkeys, server:
- LUX_MNEMONIC -> MNEMONIC
- LUX_PRIVATE_KEY -> PRIVATE_KEY
- LUX_KEYS_DIR -> KEYS_DIR
- LUX_BINARY_PATH -> BINARY_PATH
- LUX_NETWORK_TYPE -> NETWORK_TYPE (doc only)
- LUX_GPU_EVM -> GPU_EVM (doc only)
- LUX_GPU_WORKER_PID-> GPU_WORKER_PID
Also fixes an obvious infinite-recursion bug in
local/genesis_config.go::getMnemonic() that the previous LUX_MNEMONIC
fallback line had become — the helper now reads MNEMONIC then
LIGHT_MNEMONIC and returns. Without this fix, callers reaching the
fallback would have hung the process.
BREAKING: external callers (CI, dev scripts, operators) must update
env var names. Per CLAUDE.md no-backwards-compatibility rule, the old
forms are removed.
luxfi/constants and luxfi/genesis just split LocalID and CustomID
into distinct constants:
LocalID = 1337 canonical local single/multi-node dev
CustomID = 0 sentinel for user-defined non-well-known networks
This repo now uses LocalID everywhere it actually meant the local
dev network, and constants.LocalID for the same in places that
imported through luxfi/constants. Plus configs.LocalnetID →
configs.LocalID and configs.LocalnetChainID → configs.LocalChainID
to track the renamed constants.
Net effect on netrunner:
* NewLocalConfig uses configs.LocalID (was configs.CustomID/1337)
* NewCanonicalCustomConfig uses configs.LocalID
* NewLocalConfigFromMnemonic uses configs.LocalID
* network/config.go default switch now lists LocalID alongside Mainnet/Testnet
* server/network.go default networkID set to LocalID for the local server
The Custom* constants remain available for genuine user-defined
networks; on those, addresses use the "custom" HRP from
luxfi/constants and look like P-custom1..., X-custom1...
zapwire (Z-Wing PQ control RPC) and network tests still green; the
heavy local/ integration tests that actually spawn luxd are out of
scope for this change.
- Enhance genesis.go with LoadCanonicalGenesis for mainnet/testnet
- Add LoadGenesisForNetwork to load from external paths
- Improve snapshot.go with better incremental backup support
- Fix network ID handling in genesis_config.go (use constants.MainnetID not ChainID)
- Update API client interfaces for better type safety
- Fix server network handling for proper genesis selection
- Update dependencies to latest versions
- Update github.com/luxfi/keys v1.0.5 → v1.0.6
- Update github.com/luxfi/genesis v1.5.18 → v1.5.19
- Remove local replace directives for keys and genesis
- Use published package versions for reproducible builds
- Remove ledger-lux-go transitive dependency
- Fix Network ID vs Chain ID confusion in genesis_config.go
- Use constants.MainnetID/TestnetID instead of configs.ChainID
- Fix port base calculation for multi-network mode
- Add snapshot server functionality
- Update protobuf definitions with new RPC methods
- Add mnemonic test coverage
- Fix chain validator addition for testnet/mainnet networks
- Add better error handling for CreateChains
- Improve network state tracking for multi-network support
- Fix server shutdown to properly clean up network resources
- Replace all direct go.uber.org/zap imports with github.com/luxfi/log
- Rename log variables to logger throughout codebase to avoid shadowing
the log package when using package-level functions like log.String, log.Err
- Remove local replace directives from go.mod (genesis, config)
- Bump version to 1.6.1
- cmd/multinet.go: Use constants.MainnetID (1), TestnetID (2), etc.
- cmd/start.go: Use constants, add devnet support
- All data dirs now use ~/.lux/networks/ instead of /tmp/
- Network IDs (P-Chain): 1, 2, 3, 1337
- Chain IDs (C-Chain EVM): 96369, 96368, 96370, 1337
- Rename --subnet-evm-path flag to --evm-path
- Rename subnetEvmPath variable to evmPath
- Rename subnet-evm-genesis.json to evm-genesis.json
- Change VmName from "subnetevm" to "evm"
- Update all test configurations