hanzo/pars/spc/osage were dangling aliases: blockchain IDs never created via
CreateChainTx (absent from platform.getBlockchains, zero block data in
/data/chainData, no brand genesis in the P-chain genesis builder). Proof of
non-materialization: each brand mapped to a DIFFERENT id across the source
manifest, the live CM, and the CR annotations — a real CreateChainTx id is
immutable. Per brand_sovereign_node_one_way luxd hosts no brand L2 EVMs; each
brand runs its own sovereign node (zood/hanzod/parsd/...).
- lux-devnet: APPLIED + verified (luxd-0 rolled): aliases.json={}; all 11
lux-native chains (P/X/C/A/B/D/G/K/Q/T/Z) bootstrapped; brands now report
'no such alias' instead of phantom isBootstrapped=false; 0 missing-last-accepted.
- lux-testnet: PROPOSED (owner-gated) — all brands phantom, drop to {}.
- lux-mainnet: PROPOSED (owner-gated) — drop hanzo/pars/spc/osage; KEEP zoo
alias restore-pending (zoo has real restorable chaindata; canonical home is
sovereign node zood per zoo_sovereign_zood_not_luxd_chain).
36 lines
1.9 KiB
YAML
36 lines
1.9 KiB
YAML
apiVersion: v1
|
|
kind: ConfigMap
|
|
metadata:
|
|
name: chain-aliases
|
|
namespace: lux-devnet
|
|
annotations:
|
|
# 2026-06-28 — DROP phantom brand chainAliases. luxd runs the LUX
|
|
# primary network ONLY (P/X/C + lux-native A/B/D/G/K/Q/T/Z). Per the
|
|
# brand_sovereign_node_one_way law each brand (hanzo/zoo/pars/spc/osage)
|
|
# runs its OWN sovereign node (zood/hanzod/parsd/…) — luxd does NOT host
|
|
# brand L2 EVMs. The hanzo/zoo/pars/spc/osage entries here were dangling
|
|
# aliases: they pointed at blockchain IDs that were NEVER created via
|
|
# CreateChainTx (absent from platform.getBlockchains, zero block data in
|
|
# /data/chainData, no genesis in the P-chain genesis builder which only
|
|
# emits the lux-native set). Evidence they never materialized: the
|
|
# "hanzo" alias mapped to a DIFFERENT blockchain ID in the source
|
|
# manifest (2Jtt431M…), the live CM (fKXPhd…), and the CR annotations
|
|
# (i3AxuEf…) — a real chain's CreateChainTx ID is immutable. Removing
|
|
# them stops luxd advertising chains it doesn't run; isBootstrapped(brand)
|
|
# now correctly reports "no such alias" instead of a phantom false.
|
|
#
|
|
# zoo restore path: zoo's real chaindata (mainnet historical h=799 RLP)
|
|
# is restored on ITS OWN sovereign node zood (github.com/zooai/node) per
|
|
# zoo_sovereign_zood_not_luxd_chain — NOT on luxd. Until zood serves zoo,
|
|
# zoo on luxd is intentionally absent (it had ZERO data on luxd anyway).
|
|
#
|
|
# The lux-native chain aliases (C, X, P, A, B, D, G, K, Q, T, Z) are
|
|
# assigned by luxd from the P-chain genesis builder + built-in primary
|
|
# alias logic — NOT from this CM. So an empty aliases.json is correct;
|
|
# the primary network keeps all its aliases.
|
|
lux.network/chain-aliases-policy: "lux-primary-only (brand L2s are sovereign nodes)"
|
|
lux.network/brands-dropped-at: "2026-06-28"
|
|
data:
|
|
aliases.json: |
|
|
{}
|