Mainnet launches 2026-09-10 09:09 UTC with the chain spec published as a file before any binary embeds it. The node deploy can now run from /etc/quantus-node/chainspec.json (CHAINSPEC_URL or the chainspec_url input), asserts the started node's block-0 hash against EXPECTED_GENESIS (required with a spec: it is the only defence against a look-alike), and prints the spec id, which names <base-path>/chains/<id>/ and is what the miner deploy must be pointed at; validate checks the miner credentials exist under it. BOOTNODES are dialled and held as reserved peers. The unit raises --out-peers to 32 and --in-peers to 64: bob sits at the default cap of 40 peers today, and launch is a propagation race (quantus/chain#1). infra-setup grants the runner the chain spec path (applied to bob 2026-09-09). Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01CBgs2nSi4H2mdh8kD8vMX5
36 lines
1.9 KiB
Cheetah
36 lines
1.9 KiB
Cheetah
# Rendered by .gitea/workflows/deploy.yaml from the QUANTUS_INNER_HASH Gitea
|
|
# secret and rsynced to /etc/quantus-node/node.env (0640 root:quantus-node).
|
|
# The rendered file is never committed (generic.md §6).
|
|
#
|
|
# 32-byte wormhole preimage, 0x-prefixed — the node derives the reward address
|
|
# from it and logs that address on startup. Generated by
|
|
# script/infra-setup.sh --mint-reward-key.
|
|
QUANTUS_INNER_HASH={{QUANTUS_INNER_HASH}}
|
|
|
|
# Multiaddr other nodes should dial to reach this one, as a complete flag, or
|
|
# empty for a node with no public ingress. Behind NAT this is required — libp2p
|
|
# would otherwise advertise a 10.x address nobody outside can reach.
|
|
# Prefer a /dns4/ name over a literal address so a WAN IP change needs no
|
|
# redeploy (architecture public-dns.md uses per-site indirection names).
|
|
# --public-addr /dns4/<site-indirection-name>/tcp/30333
|
|
QUANTUS_PUBLIC_ADDR={{QUANTUS_PUBLIC_ADDR}}
|
|
|
|
# Chain spec. Deliberately configuration rather than a value baked into the unit:
|
|
# Planck is a testnet, and switching to mainnet should be one line in the
|
|
# workflow env, not an edit to a static asset. The miner credential path
|
|
# (<base-path>/chains/<chain>/) follows from the same value.
|
|
QUANTUS_CHAIN={{QUANTUS_CHAIN}}
|
|
|
|
# Bootnodes, rendered as complete flags: each address is dialled (--bootnodes)
|
|
# and held as a reserved peer (--reserved-nodes) so the connection to the
|
|
# foundation's nodes is never evicted. Empty = the spec's own bootNodes only.
|
|
QUANTUS_BOOTNODES={{QUANTUS_BOOTNODES}}
|
|
|
|
# JSON-RPC exposure. Empty = loopback only. A complete flag string opens it:
|
|
# --rpc-external --rpc-methods safe --rpc-cors all --rpc-rate-limit 300 \
|
|
# --rpc-rate-limit-whitelisted-ips 127.0.0.1/32
|
|
# `safe` still permits author_submitExtrinsic (signed, so no key exposure) and
|
|
# every state read; it blocks author_rotateKeys, system_addReservedPeer and the
|
|
# rest of the unsafe set. Never `unsafe` on a validator.
|
|
QUANTUS_RPC_EXPOSE={{QUANTUS_RPC_EXPOSE}}
|