config: give mainnet the two public archive nodes as fallbacks
Mainnet was the only chain left on a single endpoint, and that endpoint is our
own node — so a restart on bob took the flagship chain off the site while both
testnets, on two endpoints each, stayed up.
Our node stays first, and has to: loopback pays no network hop, and `127.0.0.1/32`
is the only address whitelisted against its `--rpc-rate-limit 300`. Behind it are
`rpc1-` and `rpc2-mainnet.quantus.com`, both of which answer `archive_v1_*`,
report the same genesis and the same runtime, and accept a `wss://` upgrade.
They took some finding, which is recorded in the template's comment so the next
person does not repeat the search: mainnet uses a different domain *and* a
different prefix from the testnets, its bootnodes serve only p2p on 30333, and
the official explorer talks to a GraphQL indexer rather than to any node at all.
This buys availability, not depth. Failover moves on a transport failure, and a
pruned node answers `{"result": null}` — a success, so a deep state read would
stop at it rather than fall through to a peer that has the answer. Filed as #9.
Closes #8
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Jp6a8EDar9ueEhAxzep4V5
This commit is contained in:
@@ -92,8 +92,32 @@ mainnet = true
|
||||
# stays in the site's navigation; it is simply no longer navigable, because
|
||||
# authorship comes from headers and we no longer hold an endpoint that serves
|
||||
# them. That is the ordinary `no_endpoint` state, not an outage.
|
||||
rpc_url = "http://127.0.0.1:9944"
|
||||
ws_url = "ws://127.0.0.1:9944"
|
||||
# Our own node first, and it must stay first: loopback pays no network hop, and
|
||||
# `127.0.0.1/32` is the only address whitelisted against the node's own
|
||||
# `--rpc-rate-limit 300`. Reaching it by its mesh name instead would cap the
|
||||
# backfill at a hundred blocks a minute for no reason.
|
||||
#
|
||||
# The two public archive nodes behind it are the fallback. They were not easy to
|
||||
# find: mainnet uses a different domain *and* a different prefix from the
|
||||
# testnets — `rpc1-mainnet.quantus.com`, where Planck has
|
||||
# `a1-planck.quantus.cat` — and its bootnodes (`a1..a7-p2p-mainnet.quantus.com`)
|
||||
# expose only port 30333, so they gossip and serve nothing. The official
|
||||
# explorer is no help either: it talks to a GraphQL indexer rather than to a
|
||||
# node.
|
||||
#
|
||||
# This buys availability, not depth. Failover moves on a transport failure, and
|
||||
# a node that has pruned answers `{"result": null}` — a success, so a deep read
|
||||
# stops at it rather than falling through to a peer that holds the state. #9.
|
||||
rpc_urls = [
|
||||
"http://127.0.0.1:9944",
|
||||
"https://rpc1-mainnet.quantus.com",
|
||||
"https://rpc2-mainnet.quantus.com",
|
||||
]
|
||||
ws_urls = [
|
||||
"ws://127.0.0.1:9944",
|
||||
"wss://rpc1-mainnet.quantus.com",
|
||||
"wss://rpc2-mainnet.quantus.com",
|
||||
]
|
||||
# TWELVE, not the 6.0 Planck used. `TARGET_BLOCK_TIME_MS` is 12_000 in the
|
||||
# runtime bob actually runs — verified at commit b017e642, which is the
|
||||
# `0.11.1-b017e6420aa` its `system_version` reports, not merely at the tip of
|
||||
|
||||
Reference in New Issue
Block a user