- 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
Remove local replace directive for github.com/luxfi/genesis.
This package now uses proper tagged versions from GitHub instead of local paths.
This enables reproducible builds and clean CI/CD pipelines.
- 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
- Update VERSION file from 1.14.33 to 1.15.0
- Add Commit and BuildDate to ldflags in build script
- Version now shows: 1.15.0 (commit: xxx, built: timestamp)
- 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
Update dependencies to use the consolidated p2p package where
all p2p code is now in the external github.com/luxfi/p2p package
instead of the internal node/network/p2p.
- 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
- First validator gets immediate allocation (no vesting) for wallet ops
- Other validators get 1B LUX with 100-year vesting
- Rename Net -> Chain for consistency with Lux node API
- Update to genesis v1.5.7
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)
The updateSubnetInfo function was failing because GetNets returns the
Primary Network (which has ID ids.Empty). GetCurrentSupply succeeds for
the Primary Network (since it has supply) but it's not an elastic
subnet, so GetElasticSubnetID fails with "subnetID not found on map".
This fix filters out both PlatformChainID and PrimaryNetworkID when
collecting subnet IDs to query.
Also updates genesis dependency to v1.5.5.
The initialStakedFunds field must reference an address that exists
in the allocations with proper unlock schedule. Previously it used
the treasury address which wasn't in allocations.
Now uses the first validator key address which is guaranteed to
exist in the allocations generated from ~/.lux/keys/ files.
This fixes "initial staked funds validation failed" error when
starting mainnet/testnet networks.
- Replace alpine with debian-slim for runtime stage
- Replace alpine builder with golang:bookworm
- Fixes QEMU emulation failures with ARM64 builds
- Use static binary for better portability