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>
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.
- 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
- 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
- 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
Major changes:
- Rename SubnetSpec → ChainSpec/ParticipantSpec throughout codebase
- Rename BlockchainSpec → ChainSpec for full chain definitions
- Update all protobuf definitions with new naming
- Fix duplicate variable declarations from sed replacements
- Update copyright headers to BSD-3-Clause with SPDX identifiers
- Update github.com/luxfi/genesis to v1.5.6 (BLS signer keys)
The genesis v1.5.6 update adds:
- Initial stakers with BLS publicKey and proofOfPossession
- Initial allocations for local network testing
- Fixes "failed to load database state: not found" error
Build fixes:
- Fix api/mocks/client.go CChainAPI return type
- Fix local/node_test.go with build tag for integration tests
- Fix parameter name collisions (chainConfigs → pChainConfigs)
- Migrated from Subnet to Net terminology
- Fixed logging imports to use luxfi/log
- Updated metric and set package imports
- Added replace directives for local packages
- All binaries building successfully
- Add OPStackEngine for running OP Stack L2 rollups
- Add Eth2Engine for Ethereum 2.0 consensus+execution layers
- Support multiple consensus clients (Prysm, Lighthouse, Teku, Nimbus, Lodestar)
- Support multiple execution clients (Geth, Erigon, Nethermind, Besu)
- Remove ALL ava-labs dependencies from netrunner
- Replace ava-labs client libraries with direct HTTP RPC calls
- Add example manifests for OP Stack and multi-consensus architectures
- Update manifest validation to support new engine types
* start adding some checks for node stop
* avoid closing the notification chan
* get to work health up to a good point
* notification of node failure events to user he decides
* use new channel in example
* fix unit tests
* add stopped node check on server healthy check
* keep dead status of process and let used find out on that
* add management of node failure on server
* fix unit tests
* fix e2e test
* Update local/node.go
Co-authored-by: Dan Laine <daniel.laine@avalabs.org>
* fix after applying suggested changes
* add more sync to local node process
* check this causes unit test error at CI
* add state to process manage struct
* add process exit code to notification msg
* fix stuff related to changing notification msg
* fix unit test
* add ctx to node Wait, network RemoveNode
* fix unit test
* kill all descendant of wait context failure
* address PR comment
* move context wait to Stop
* fix unit test issue
* use Await4 to avoid race conditions
* improve comments
* nit
* rm comments regarding Ctrl+C special case and improve code for that
* address PR comment
* move node process to its own file
* add missing file
* reduce number of channels
* address PR comments
* address PR comments
* change Alive method for Status method
* address PR comments
* avoid using of syscal
* address PR comments
* avoid syscall SIGNAL stuff
* address PR comments
* fix examples delay
* fix log format; go mod tidy
* Dan's pass; remove unexpectedStopChan (#158)
* move status to its own package; nits
* combine newNodeProcess and Start
* update nodeProcess
* remove unexpected stop chan
* nit
* fix test
* fix local network stop context cancellation
* fix node stop deadlock
* make Stop return exit code rather than error
* remove return value from killDescendants
* nits; bump timeout
* lint
* add wait time to Status to be notified on common avalanchego startup
failures
* fix lock in Status()
* fix lock code
* increase first status call wait time
* remove first call to status check
Co-authored-by: Dan Laine <daniel.laine@avalabs.org>
* change netowork.Healthy to block and return an error rather than return immediately and return a chan error. Fix network.Healthy so it immediately returns if network.Stop is called
* add test
* modify test
* nit
* nit
* fix tests
* onStopCtx --> onStopCh
* remove stopped field
* add comment
* remove unnecessary contexts
* fix comments
* rm k8s implementation and backend type
* finish removing k8s and multiple backend stuff
* nits
* update README
* rm implSpecificConfig from json string
* remove k8s from go.mod/sum
Co-authored-by: Dan Laine <daniel.laine@avalabs.org>
* completed 1st iteration of task
* address all cases; stop networks after each test
* added example
* fix PR comments round 1
* fix PR comments round 2
* refactor flag passing (#75)
* refactor flag passing
* address PR comments
* warn on certain flags
Co-authored-by: Dan Laine <daniel.laine@avalabs.org>