57 lines
3.2 KiB
YAML
57 lines
3.2 KiB
YAML
# Canonical chain aliases for lux-mainnet luxd validators.
|
|
# Loaded by luxd via --chain-aliases-file (see luxd-startup.yaml).
|
|
#
|
|
# PROPOSED 2026-06-28 — owner-gated, NOT yet applied to lux-mainnet.
|
|
# luxd runs the LUX primary network ONLY (P/X/C + lux-native A/B/D/G/K/Q/T/Z).
|
|
# Per brand_sovereign_node_one_way each brand runs its OWN sovereign node —
|
|
# luxd does NOT host brand L2 EVMs. The hanzo/pars/spc/osage entries below were
|
|
# PHANTOM: dangling aliases pointing at blockchain IDs that were NEVER created
|
|
# via CreateChainTx. Direct ground truth (NOT the gateway cache the prior
|
|
# "reconciled to live P-Chain values" comment trusted):
|
|
# - platform.getBlockchains on luxd-0:9630 returns ONLY the 10 lux-native
|
|
# chains (P/X/C/A/B/D/G/K/Q/T/Z) — none of these 5 brand IDs.
|
|
# - /data/chainData/network-1 holds ONLY those 10 + P — ZERO brand block data.
|
|
# So they generate isBootstrapped=false (dangling) and /v1/chain/{brand}/rpc 404.
|
|
# Dropping them removes the dead advertising and the gateway-404 confusion.
|
|
#
|
|
# ZOO IS KEPT (do NOT blanket-drop): mainnet zoo (chainId 200200) is a REAL
|
|
# chain — it had live history (h=799 via RLP import) and its chaindata is
|
|
# restorable. Its canonical home is the sovereign node zood
|
|
# (github.com/zooai/node) per zoo_sovereign_zood_not_luxd_chain. The zoo alias
|
|
# stays here as restore-pending so routing intent is preserved; when zood
|
|
# serves zoo, repoint zoo routing to api.zoo.network and remove this alias.
|
|
# (zoo currently has ZERO data on luxd too — the alias is dangling until
|
|
# restored — but it is intentionally retained pending the zood bringup.)
|
|
#
|
|
# MECHANISM (verified 2026-06-28): mainnet luxd does NOT mount this CM — the STS
|
|
# mounts only data/startup-script/staking-keys. The LIVE alias source is the
|
|
# PERSISTENT /data/configs/chains/aliases.json on each pod's PVC (currently
|
|
# hanzo=2Tdhxq…/zoo=tQzPnAp…/pars=SsbCrV3…/spc=yJ9tBV…/osage=2FtVpr… — a FOURTH
|
|
# distinct id set, vs this CM's RHuUsL…/4HBM17…, the devnet manifest's 2Jtt431M…,
|
|
# and devnet-live fKXPhd… — proving non-materialization). Mainnet startup does
|
|
# NOT wipe /data, so the file is retained across restarts. Applying this CM alone
|
|
# is a NO-OP until startup is re-wired to mount+install it.
|
|
#
|
|
# APPLY (owner-gated), pick ONE:
|
|
# (A) Re-wire (recommended): add a chain-aliases CM volume+mount + install line
|
|
# to the mainnet STS like lux-devnet, making THIS CM the single source.
|
|
# (B) Direct (minimal): on each pod set the persistent file to lux-primary-only
|
|
# (keep zoo: `printf '{"<live-zoo-id>":["zoo"]}' > /data/configs/chains/aliases.json`).
|
|
# THEN roll ONE pod at a time, wait Ready + isBootstrapped(C)=true before the
|
|
# next, so the other 4 hold quorum. MAINNET pods are sybil-protected: NEVER wipe
|
|
# /data/db. No operator manages lux-mainnet (scaled 0/0) — direct STS/file ops
|
|
# are not reverted.
|
|
apiVersion: v1
|
|
kind: ConfigMap
|
|
metadata:
|
|
name: chain-aliases
|
|
namespace: lux-mainnet
|
|
annotations:
|
|
lux.network/chain-aliases-policy: "lux-primary-only + zoo restore-pending (zood)"
|
|
lux.network/brands-dropped-at: "PROPOSED-2026-06-28"
|
|
data:
|
|
aliases.json: |
|
|
{
|
|
"4HBM17czc7zFQMPrd9CVZ6YbABm1jecf99iwvFw8Gbo6gFaU3": ["zoo"]
|
|
}
|