genesis canonicalized the field to EVMAddr per the EVMAddr/UTXOAddr
naming lock. Following the strip-aliases cascade through the workspace
(crypto v1.19.16, utxo v0.3.3, node v1.27.13, sdk v1.16.62).
luxfi/genesis renamed UnparsedAllocation → AllocationJSON,
UnparsedStaker → StakerJSON, with field ETHAddr (was EVMAddr in an
earlier rev). Update network/config.go to match.
network/config.go:
- 'beacon node P2P port not ready, continuing anyway' was a soldier-on
pattern: if the beacon's staking port isn't up before the next node
tries to dial it, bootstrap will silently fail. Fail loudly instead.
- Switch UnparsedAllocation field names ETHAddr→EVMAddr, LUXAddr→UTXOAddr
to track the genesis package rename.
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.
Update prose descriptions in README and LLM.md to use "chain" or "L2"
instead of "subnet". Preserves API endpoint paths, JSON field names,
CLI subcommand names, genesis config keys, Go struct fields, and
deprecatedFlagsSupport.json backward compatibility mappings.
- 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
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 genesis package now uses ids.ShortID and ids.NodeID types directly
with custom JSON marshaling. Updated NewLuxGenesis to construct these
types properly instead of using string values.
- Fix genesis cChainGenesis parsing to handle both string and map formats
- Update tmpnet API usage for ReadNetwork, Start signatures
- Update import paths for renamed packages
- Fix type assertions and field access patterns
- Fix genesis cChainGenesis format: convert object to JSON string
* Resolves unmarshal error when starting luxd nodes
* Genesis field must be JSON string, not object
- Add script to start local 5-node network
* Uses pre-configured staking certificates from local/default/
* Properly configures bootstrap IPs and node IDs
* Includes peer connection verification
- Change from github.com/luxfi/node/genesis
- To github.com/luxfi/genesis/pkg/genesis
- Add replace directive for genesis package
Part of genesis consolidation effort