Files
zeekayandHanzo Dev c67fa635df live/mainnet: the only artifact that reproduces mainnet, now in git
Until this commit, live lux mainnet was reproducible from exactly one
place: a base64 blob inside the Kubernetes ConfigMap luxd-startup in
namespace lux-mainnet. Nothing in this repository reproduced it. If that
ConfigMap were lost or regenerated, the C-Chain identity of the chain
holding the historic RLP could not be rebuilt from any source.

genesis.json is the source document startup.sh decodes to
/data/genesis.json on every boot. genesis.bytes is the built P-Chain
blob it produces — the artifact that created the current P-Chain state,
and therefore what defines every chain id on mainnet. Building the
former with the node's own builder reproduces the latter byte for byte,
and all nine chain ids match platform.getBlockchains read in-pod.

No file under configs/ reproduces this. Four sources give four different
C-Chain ids and only this one is live; they are different chains rather
than different formatting, carrying different upgrade timestamps, a
different targetGas, and in the shard's case warpConfig — the key
previously recorded as having bricked the C-Chain.

A chain id is sha256 over a CreateChainTx that carries no credentials,
so it is a pure function of the genesis bytes and one byte of whitespace
moves it. These files must not be reformatted.

The operational hazard is one line in a ConfigMap rather than anything
in a binary: luxd reaches this document only via
--genesis-file=/data/genesis.json, and without that flag the loader
falls through to the shards, which yield eleven chains of which only
X-Chain matches live.

Co-authored-by: Hanzo Dev <[email protected]>
2026-08-08 06:55:45 -07:00

2.3 MiB