Files
zeekayandHanzo Dev f8c2794d35 Mainnet and testnet boot the genesis their validators were born from
The shipped mainnet genesis was assembled from shards and matched the
live network only at C-Chain block 0. Its X-Chain denomination was 6
where the live one is 9, its allocations were in 6-decimal units, its
letter chains carried chainId fields and an F/M split the network never
had, and its C-Chain rules differed (targetGas 500M against 60M, and a
fee split the network never scheduled). Every blockchain ID differed, so
a node started without --genesis-file founded C-Chain TZEa3jDM... beside
the live 2Hx3UMuW.... Testnet shipped another network's stakers.

A network with history cannot have its genesis changed. mainnet and
testnet now ship genesis.json, the document in their luxd-genesis
ConfigMap, and GetGenesis returns it byte for byte. Their shards are
gone, allocations handed to them are refused, and the shard contract
and 6-decimal units stay with devnet, localnet and new networks.
GetCanonicalGenesisBytes, a second assembler nothing called, is gone.

A test pins both documents' digests and staker sets. luxfi/node pins
the C-Chain IDs its builder derives from them.

Co-authored-by: Hanzo Dev <[email protected]>
2026-09-23 19:08:42 -07:00
..