Commit Graph
100 Commits
Author SHA1 Message Date
claudeandClaude Opus 4.8 16057e4875 bob-sepolia: add Jovian to EL genesis; drop redundant op-node override
genesis.json had no jovianTime, so op-geth/op-reth never activated Jovian
and op-node rejected Jovian-era L1-info txs ("unexpected length"). Added
jovianTime=1772548201 to the genesis config (EL source of truth for both
geth and reth). Removed OP_NODE_OVERRIDE_JOVIAN from the op-node env: the
local rollup.json already carries jovian_time, making the override redundant.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-14 06:28:01 +00:00
claudeandClaude Opus 4.8 36b8243a03 op-reth: emit --disable-discovery (not --nodiscover) for node_sync nodes
op-reth rejects geth's --nodiscover flag, which the op-geth base template
emits for node_sync nodes. Use reth's --disable-discovery instead.

- hashkeychain-testnet: now node_sync/consensus-layer (was execution-layer
  with an empty DB, which could not backfill) + --disable-discovery
- xlayer mainnet/testnet (archive+pruned): --nodiscover -> --disable-discovery
  (these were latently broken on restart)

Fix lives in the op-reth.yml base template so all reth nodes are covered;
the redundant override in op-reth.boba.yml was removed.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-14 06:18:55 +00:00
claudeandClaude Opus 4.8 10deed7819 superseed-sepolia op-reth: use conduit-op-reth image + historicalrpc
Chain 53302 is legacy Canyon-at-genesis (block 0 has no Shanghai
withdrawalsRoot). Upstream op-reth always injects it and computes the wrong
genesis hash 0xfa6f21ae vs canonical 0x7274a90e, so it crash-loops against
the DB. conduit-op-reth has legacy-Canyon genesis compatibility for 53302.

Regenerated from context.yml (reth client_image override) + op-reth.yml
template (historicalrpc for superseed-sepolia fresh-sync backfill).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-14 06:10:06 +00:00
claudeandClaude Opus 4.8 31309aaac3 bob-sepolia: use local genesis/rollup for all variants, drop Conduit URLs
Conduit's downloaded genesis.json/rollup.json are faulty (rollup.json
lacks chain_op_config + post-Fjord fork times, crashing op-node v1.19.0).
The fixed configs live in op/bob/sepolia/. Removed the client_genesis /
node_rollup_json Conduit URLs from context.yml and regenerated, so all 7
bob-sepolia composes (geth + reth) now bind-mount ./op/bob/sepolia:/config
and drop the curl-from-Conduit init containers.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-14 05:45:55 +00:00
claudeandClaude Opus 4.8 be1f8d33b9 superseed-sepolia: add pectra_blob_schedule_time + fix eip1559DenominatorCanyon
op-node was crashing post-Jovian and the rollup/genesis configs were missing
two fields present in the live sequencer (sepolia.superseed.xyz
optimism_rollupConfig):
- rollup.json: add pectra_blob_schedule_time=1742486400 (L1 Sepolia Pectra)
- genesis.json: eip1559DenominatorCanyon 0 -> 250 (match chain_op_config)

Verified against the live sequencer. Fixes op-node 'unexpected length: 178'
L1-info parse error. karst_time not yet published by the sequencer (Karst
Sepolia ~2026-06-17 16:00 UTC) - to be added once available.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-14 05:26:56 +00:00
claudeandCursor 4209d46ba7 Fix bob-sepolia op-reth-pruned-trace: local rollup config for op-node v1.19.0
Conduit's rollup.json lacked chain_op_config and fork times required by op-node v1.19.0, causing a crash loop. Mount op/bob/sepolia locally (genesis + rollup) and drop Conduit init containers.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-14 07:10:29 +02:00
claudeandClaude Fable 5 ff49dc92f5 bob-sepolia: force OP_NODE_OVERRIDE_JOVIAN; drop stale op/bob.by backup
bob-sepolia is past the Jovian hardfork (jovian_time=1772548201). Conduit's
downloaded rollup.json omits jovian_time, so op-node misparsed the 178-byte
Jovian L1-info deposit txs ("data is unexpected length: 178") and the node
stalled at genesis. Add OP_NODE_OVERRIDE_JOVIAN to all bob-sepolia variants.

Remove op/bob.by: an unused local genesis/rollup backup. Source of truth is
the genesis/rollup downloaded from the Conduit URLs in context.yml.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-14 03:16:25 +00:00
claude db59f360ca boba op-reth: --disable-discovery (op-reth v2.3.0 rejects geth's --nodiscover) for node_sync 2026-06-14 02:43:45 +00:00
claudeandClaude Opus 4.8 44783dfb16 arc-testnet: run containers by numeric uid 0 (distroless images)
Circle's arc-execution/arc-consensus images are distroless with only the
`arc` user and no `root` entry in /etc/passwd, so `user: root` failed with
"unable to find user root". Run by numeric uid 0:0 instead (no passwd
lookup needed; root can write the root-owned named volumes).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-14 02:19:47 +00:00
claudeandClaude Opus 4.8 84d119219c Add Arc testnet node (Circle L1): arc-execution EL + arc-consensus CL
Generated compose for the new `arc` client. Single self-contained stack:
3 init containers (snapshot download ~84GB, CL key init, socket prep) +
EL (reth-fork, http RPC behind traefik /arc-testnet, dshackle upstream
chain: arc-testnet) + CL (follows relay endpoints, drives EL over shared
IPC sockets). Images pulled anonymously from Circle's public Cloudsmith
registry at 0.7.2. Positional subcommands pinned in entrypoint so
process_yaml's command-sorting can't reorder them.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-14 02:07:37 +00:00
claudeandClaude Opus 4.8 97d2cfe4aa op-reth sepolia fixes: superseed Jovian fork times, Karst v2.3.1 bump, op-sepolia/soneium template fixes
- superseed-sepolia: add holocene/isthmus/jovian fork times to rollup.json (CL)
  and genesis.json (EL). jovian_time=1768978801 is superseed's chain-specific
  activation (verified live via sepolia.superseed.xyz optimism_rollupConfig);
  the official superseed-xyz/node repo + the old committed config both lacked it,
  causing op-node "failed to parse L1 info deposit tx ... unexpected length: 178".
- op-reth v2.3.0 -> v2.3.1 across all op-reth composes (Karst-mandatory release,
  Sepolia activation Jun 17 2026 16:00 UTC).
- op-sepolia: --chain=optimismsepolia -> optimism-sepolia (invalid chain spec
  prevented op-reth from starting).
- soneium-minato-sepolia (reth/geth/erigon): L1 upstream vars now resolve to
  ETHEREUM_SEPOLIA_* (were ETHEREUM_MINATO-SEPOLIA_*, nonexistent -> no L1 RPC);
  state-cache shell var de-hyphenated; pectra blob-schedule override now emitted.

NOTE: superseed karst_time not yet published by the chain; must be added before
Jun 17 2026 once superseed announces it.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-13 15:06:42 +00:00
claude 9958d4e50d boba-mainnet op-reth: upstream op-reth + vendored patched chainspec (reth-config.json, bedrockBlock=1149019); revive boba on reth from Boba's snapshot (op-geth EOL 2026-05-31) 2026-06-13 14:32:28 +00:00
claude c4a61bf35c Add op-reth sepolia testnets: unichain-sepolia (registry chain), superseed-sepolia (custom genesis) — Superchain Jun-19 fork fallback 2026-06-13 11:50:30 +00:00
claudeandClaude Opus 4.8 cb556f9df8 Add op-reth variants: unichain-mainnet, hashkey mainnet+testnet (Superchain op-geth->reth migration); add hashkey mainnet config (chainid 177, mainnet.hsk.xyz) which also fixes the previously-empty geth/erigon mainnet composes
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-13 05:41:41 +00:00
claudeandClaude Fable 5 405f36d02f monitoring scripts: protocol dispatch via registry slug + mantle/metis chainid fixes
- sync-status.sh: resolve protocol family from the compose x-upstreams chain
  label via the registry (reference-rpc-endpoint.sh --protocol) instead of
  path-substring guessing; legacy path detection kept as fallback for
  composes without a resolved label. Unknown families report
  'unsupported protocol: X' honestly instead of a bogus eth_chainId error.
  Aztec reference lookup falls back to slug urls when rollup_version is
  not in the registry.
- reference-rpc-endpoint.sh: new --chain <slug> (urls by registry key,
  works for idless non-EVM entries) and --protocol <slug> modes; existing
  chainid and --rollup-version lookups unchanged.
- mantle-sepolia: chainid 5001 -> 5003 (verified live: 0x138b), label and
  --networkid now correct
- metis-sepolia: label resolves via registry override (drpc chains.yaml
  carries wrong id 59901; live chain is 59902, verified via official RPC)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-12 06:34:31 +00:00
claudeandClaude Fable 5 714e8ba07a non-EVM chain labels via full registry import + reference endpoint ladder
- aztec-testnet, solana, ripple x-upstreams now carry their drpc slug as
  chain label (was empty -> dshackle ignored the upstreams)
- reference-rpc-endpoint.json: every chain now has a protocol field
  (eth/bitcoin/solana/ripple/aztec/...) for protocol-family dispatch in
  scripts, plus https://{slug}.drpc.org appended as LAST fallback url
  (independent endpoints stay preferred; overrides win entirely)
- registry grew 247 -> 333 entries (all drpc protocols imported, not just eth)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-12 06:12:24 +00:00
claudeandClaude Fable 5 f5f475cdb1 fix dshackle chain labels: hoodi, rootstock-testnet, ronin-saigon + registry refresh drift
- ethereum-hoodi composes: chain ethereum -> hoodi (was mislabeled as mainnet)
- rootstock-bamboo: chain rootstock -> rootstock-testnet
- ronin-saigon op-reth: empty chain -> ronin-saigon (fresh DRPC registry now
  carries saigon at chainid 202601; stale local upstreams.yml had dropped it)
- assorted regen drift from fresh chain registry

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-12 05:32:16 +00:00
claudeandClaude Fable 5 4b0ce9ca69 aztec-testnet: bump to 4.3.1 (network redeployed, 3.0.2 genesis incompatible) + regen drift
Aztec testnet rollup was redeployed on Sepolia; 3.0.2 computes the old
genesis archive root and crash-loops. 4.3.1 matches the deployed rollup
and bootstraps from snapshot. Verified live on rpc-de-13.

Includes regen drift from current templates for other stale compose files.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-12 03:33:44 +00:00
claudeandCursor 83328a5ab5 fix(cleanup-backups): trash-based retention instead of mass rm
The old script grouped backups with cut -d'-' -f1-3, which mis-grouped
volume keys and permanently deleted ~360 archives on 2026-06-11. Replace
with safe retention: group by full volume key regex, keep 3 newest per key,
move excess to /backup/trash, and protect uploading-*, broken_*, and
deprecated-* prefixes.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-11 14:53:03 +02:00
claude 2375dc3ef7 Regenerate compose files: ZKSync v29.17.0, Base new registry, multi-client bumps
Sync compose files with context.yml accumulated updates:
- ZKSync ERA/Abstract/Lens/Sophon external-node: v29.16.0-alpha → v29.17.0 (stable; fixes interop fee 403s)
- Base: registry ghcr.io/base/node-{reth,geth} v0.16.1/v0.15.6 (was oplabs GCR)
- Arbitrum/AlephZero/Connext/Nitro chains: v3.9.9-rc.3 → v3.10.1
- Gnosis reth: v1.1.11-eraimports → v1.2.1
- Gnosis/Linea erigon3: v3.4.0 → v3.4.2
- Polygon bor 2.7.2→2.8.1, erigon3 v3.5.0→v3.6.0
- Prysm v7.1.3→v7.1.4, Besu v26.4.0→v26.5.0
- Blast sepolia v1.4.0→v1.7.0, XRP 3.1.2→3.1.3
- Viction v2.5.1→v2.6.0, Immutable/Linea geth v1.17.2→v1.17.3

Co-Authored-By: Claude Agent <claude@stakesquid.eu>
2026-06-10 19:58:49 +00:00
claudeandClaude Fable 5 c0416b4ae6 Add ronin-mainnet and ronin-saigon op-reth (OP-stack migration, May 12 2026)
Ronin migrated from standalone sidechain to OP-stack L2 operated by
Conduit, with EigenDA V2 for data availability. New composes follow
conduitxyz/ronin-migration-reth-docker: conduit-op-reth fork +
op-node v1.16.5 + eigenda-proxy 2.7.0 relay.

- op/ronin/{mainnet,saigon}: Conduit genesis (bedrockBlock patched to
  55577500 / 45528550) and rollup.json (alt_da GenericCommitment injected)
- saigon is a NEW chain post-migration: chainid 202601, L1 sepolia
- also regenerated: xlayer-testnet composes (dshackle chain label was
  corrupted to 'ronin' by an override typo), native ronin/ronin composes
  (upstream labels follow new chain ids), reference-rpc-endpoint.json

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-10 09:00:45 +00:00
claude e9024c5c17 add op-reth sepolia variants for bob, worldchain, ink
Superchain Sepolia hardfork ~2026-06-19 drops op-geth support; op-erigon is
already broken post-hardfork. op-reth is the migration target for Superchain
members. Generates archive-trace, minimal-trace, and pruned-trace variants
via the 'full_minimal_trace' profile (mirroring base-sepolia / op-sepolia).
2026-06-09 05:37:19 +00:00
claude 2e08acbe07 regenerate drifted celo-sepolia compose files
Pre-existing template change: bind-mount './op/celo/sepolia:/config' migrated to
parameterizable named docker volumes (CELO_SEPOLIA_OP_GETH_*_CONFIG /
CELO_SEPOLIA_OP_GETH_*_NODE_CONFIG with sensible defaults). Surfaced when
running update.sh on top of the current rpc/ submodule HEAD.
2026-06-09 05:37:19 +00:00
claude ef88539ae6 fix of the fix 2026-06-07 09:19:06 +02:00
claude 241c52848b fix 2026-06-07 09:12:43 +02:00
claude eeb894d783 fix taiko reth build 2026-06-07 08:34:05 +02:00
claude 6daffd04df Update dshackle to v0.79.5
Co-Authored-By: Claude Agent <claude@stakesquid.eu>
2026-05-30 04:12:29 +00:00
claude e2b76be395 Update dshackle version: 0.79.2 -> 0.79.4
Co-Authored-By: Claude Agent <claude@stakesquid.eu>
2026-05-27 04:09:33 +00:00
claudeandClaude Opus 4.7 20aeedbc9c fix(rskj): traefik should hit nginx wrapper on port 80, not rskj client on 8545
The rskj compose has an nginx proxy wrapper in front of the rskj client.
The wrapper listens on port 80 and proxies to rskj:8545 internally (this is
required because rskj's hosts whitelist is hard-coded to localhost only,
so traefik forwards must look local to rskj). Traefik labels were pointing
to port 8545, hitting the rskj client directly, which rejected the request
because the Host header didn't match localhost.

Fix: traefik loadbalancer.server.port now 80 for both rootstock-mainnet
and rootstock-bamboo (mirrors the parent rpc-client.yml template's
existing client_proxy_required logic, which the rskj client template
inadvertently dropped).

Verified on de-31: rootstock-mainnet eth_blockNumber returns block
8,872,189 after the fix.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-24 15:55:50 +00:00
claude 459e90e187 Update versions: erigon3 v3.4.2, external-node v29.17.0, prysm v7.1.4, dshackle v0.79.2
- erigon3: v3.4.1 -> v3.4.2 (ethereum, gnosis, linea)
- external-node: v29.17.0-alpha -> v29.17.0 (zksync-era, abstract, lens)
- external-node sophon: v29.1.0 -> v29.17.0
- prysm: v7.1.3 -> v7.1.4
- dshackle: 0.79.1 -> 0.79.2

Co-Authored-By: Claude Agent <claude@stakesquid.eu>
2026-05-23 04:09:34 +00:00
claude 0c8b4089fc Update external-node to v29.17.0-alpha (abstract, lens, zksync-era)
Co-Authored-By: Claude Agent <claude@stakesquid.eu>
2026-05-21 04:09:01 +00:00
claude e8a4d65c52 Update dshackle to v0.79.1
Co-Authored-By: Claude Agent <claude@stakesquid.eu>
2026-05-20 04:09:08 +00:00
claude a7ee7448d8 Update nitro to v3.10.1-d7f07be
Co-Authored-By: Claude Agent <claude@stakesquid.eu>
2026-05-19 04:11:47 +00:00
claude 2e08603b67 Update versions: dshackle 0.78.7->0.78.8, bitcoin-cash 0.33.3->0.33.4
Co-Authored-By: Claude Agent <claude@stakesquid.eu>
2026-05-16 04:08:39 +00:00
claude 76c441e2bb Update versions: bor 2.7.3->2.8.0, erigon3 v3.5.0->v3.6.0 (polygon), reth v1.2.0->v1.2.1 (gnosis)
Co-Authored-By: Claude Agent <claude@stakesquid.eu>
2026-05-15 04:11:53 +00:00
claude 31de6192df Update dshackle 0.78.6 -> 0.78.7
Co-Authored-By: Claude Agent <claude@stakesquid.eu>
2026-05-14 04:09:28 +00:00
claudeandClaude Opus 4.7 705e79626c arb/nitro: drop obsolete --node.da-provider.* and DA inbox/parent-url flags
These flags were removed in Nitro v3.10 and cause Fatal config errors on
startup. Affected chains use AnyTrust DAS via REST aggregator without a
separate relay (orbit-no-relay branch):
- alephzero (mainnet+sepolia)
- connext-sepolia
- everclear-mainnet
- opencampuscodex-sepolia
- playblock-mainnet
- plume (mainnet+testnet)
- real-mainnet

The parent-chain node URL and sequencer-inbox-address are now auto-derived
from --parent-chain.connection.url. The --node.da-provider.* flag family is
gone entirely.

Verified live on rpc-de-13 (everclear): container Up, REST aggregator URL
accepted, head block loaded, RPC listening.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-14 03:44:35 +00:00
claude 9d734b2825 Update versions: besu 26.4.0->26.5.0, rippled 3.1.2->3.1.3
Co-Authored-By: Claude Agent <claude@stakesquid.eu>
2026-05-13 04:08:16 +00:00
claude 55614918e4 Update versions: geth v1.17.3, nitro v3.10.0, nimbus v26.5.0, gnosis-reth v1.2.0
Co-Authored-By: Claude Agent <claude@stakesquid.eu>
2026-05-12 04:08:18 +00:00
claude 0f0859844b Update viction node to v2.6.0
Co-Authored-By: Claude Agent <claude@stakesquid.eu>
2026-05-11 04:09:43 +00:00
claude 5e53cc33a0 Update erigon3 v3.4.0 -> v3.4.1
Co-Authored-By: Claude Agent <claude@stakesquid.eu>
2026-05-10 04:08:53 +00:00
claude 8e3656a3f8 Update versions: haqq v1.9.3->v1.9.4, dshackle 0.78.5->0.78.6
Co-Authored-By: Claude Agent <claude@stakesquid.eu>
2026-05-09 04:11:04 +00:00
claude dc8c73c264 Update versions: bitcoind 0.33.2->0.33.3, bor 2.7.2->2.7.3
Co-Authored-By: Claude Agent <claude@stakesquid.eu>
2026-05-08 04:08:02 +00:00
claude 3b97b1bc55 Update versions: nitro v3.9.9-rc.3 -> v3.9.9-6b0af88-stripped, blast-sepolia sepolia-v1.4.0 -> sepolia-v1.7.0, dshackle 0.78.4 -> 0.78.5
Co-Authored-By: Claude Agent <claude@stakesquid.eu>
2026-05-06 04:09:53 +00:00
claude 67c08fe6c9 Rootstock: revert HOCON env-var sub - hardcode rpc-de-31 domain
${?DOMAIN} substitution caused rskj to crash with 'Can't read config'.
Hardcoding the host-specific domain for now (rootstock only runs on
de-31). For multi-host deployment later, would need a per-host
templated node.conf or a proxy that rewrites Host header.
2026-05-05 19:28:27 +00:00
claude 7dc379dd05 Rootstock: include $DOMAIN in http hosts whitelist
rskj's hosts whitelist is exact-match (no wildcards). Use HOCON env-var
substitution ${?DOMAIN} to inject the per-host public domain into the
allowed list. Pass DOMAIN env var into the container via the rskj
template.

Allowed hosts list: [localhost, 127.0.0.1, ::1, ${?DOMAIN}]
- localhost variants for direct/internal access
- DOMAIN for traefik-forwarded requests (Host header = public domain)
2026-05-05 19:25:57 +00:00
claude bbb6205cb4 Rootstock: drop JVM -Dhosts.X props - let file config 'hosts = ["*"]' win
Setting hosts via -Dhosts.0=*, -Dhosts.1=*, etc creates an OBJECT in
HOCON (indexed entries), but rskj's schema expects LIST. Result: rskj
warns and falls back to default whitelist (localhost only).

Drop the hosts.X JVM properties entirely. The file /etc/rsk/node.conf
already declares hosts = ["*"] which IS a HOCON LIST. Without the JVM
override, the file value wins.
2026-05-05 19:16:27 +00:00
claude 53697cb40d Rootstock: override RSKJ_SYS_PROPS to allow Host: * in http whitelist
The rsksmart/rskj:VETIVER-9.0.1 image bakes an env var:
  RSKJ_SYS_PROPS=-Drpc.providers.web.http.bind_address=0.0.0.0
                 -Drpc.providers.web.http.hosts.0=localhost
                 -Drpc.providers.web.http.hosts.1=127.0.0.1
                 -Drpc.providers.web.http.hosts.2=::1

These JVM -D system properties take precedence over /etc/rsk/node.conf
in HOCON, so the Host whitelist always resolves to {localhost,127.0.0.1,::1}.

Result: traefik routing to rskj at IP rootstock-mainnet-client:8545
arrives with Host header that doesn't match those three. rskj returns
HTTP 400, traefik translates to 502 Bad Gateway.

Override the env var in the compose template so the http hosts whitelist
contains '*' (any host). Traefik's ipallowlist middleware is the actual
gatekeeper. Affects rootstock-mainnet AND rootstock-bamboo.
2026-05-05 19:06:31 +00:00
claude abb3c4b189 Rootstock: hosts = ["*"] - allow all Host headers (was [])
VETIVER-9.0.1 enforces rpc.providers.web.http.hosts as a whitelist;
empty list / default rejects everything except 'Host: localhost'.

The traefik route uses 'customrequestheaders.Host=localhost' middleware
to rewrite the Host header, but that middleware appears not to be
applied for the rootstock route - real requests still arrive at rskj
with Host: rpc-de-XX.stakesquid.eu and rskj returns 400 Bad Request,
which traefik translates to 502 Bad Gateway.

Wildcard whitelist is fine here because traefik (with ipallowlist
middleware) is the actual gatekeeper.

Confirmed empirically: 'wget --header=Host:localhost' returns valid
JSON-RPC, anything else returns 400.
2026-05-05 18:56:08 +00:00
claude bc95c7e1a6 Rootstock: fix rpc.modules format for VETIVER (LIST -> OBJECT)
VETIVER-9.0.1 silently ignores rpc.modules when configured as a list of
{name,version,enabled} objects. Switch to canonical OBJECT format from
rskj's expected.conf:
  modules = { eth { version = "1.0", enabled = "true" } ... }

Without this, the RPC server starts but no modules are registered, so
eth_blockNumber returns method-not-found and show-status flags as 'error'
even though the chain itself imports blocks fine.

Also added 'hosts = []' under rpc.providers.web.http (LIST per
expected.conf, was missing). Same fix applied to bamboo testnet config.

Note: this only resolves mainnet. Bamboo still needs DB recreate due to
unrelated 'Invalid block header size: 22' corruption.
2026-05-05 18:34:09 +00:00
claude 4a62c8b243 Update versions: nethermind 1.37.1->1.37.2, dshackle 0.78.3->0.78.4
Co-Authored-By: Claude Agent <claude@stakesquid.eu>
2026-05-05 04:10:11 +00:00
claude 97a3ce1db4 Bump matterlabs/external-node v29.1.2 -> v29.16.0-alpha
Required to fix zksync-era-mainnet on de-13 which is failing with
'migration 20250820140638 was previously applied but is missing in the
resolved migrations'. We were 15 minor versions behind the latest stable
GitHub release (core-v29.16.0). Cascades to abstract/lens external-node
composes which inherit the base version (none currently deployed).
2026-05-04 19:12:19 +00:00
claude f921cf4028 Linea: set sequencer URLs (rpc.linea.build / rpc.sepolia.linea.build)
maru v1.2.x strictly validates l2-eth-api-endpoint as a URL and crashes when SEQUENCER
env var is empty. Old maru tolerated empty. Fixes 4 stuck Linea instances on
de-27, de-32, us-40 — all besu/geth running but maru crash-looping with config error
'Required type class java.net.URL could not be decoded from a String value: '
2026-05-04 14:36:34 +00:00
claude 065c31dbb5 Update dshackle 0.78.2 -> 0.78.3
Co-Authored-By: Claude Agent <claude@stakesquid.eu>
2026-05-02 04:07:35 +00:00
claude f75470e2c1 Update reth to v2.2.0
Co-Authored-By: Claude Agent <claude@stakesquid.eu>
2026-05-01 13:13:20 +00:00
claude e8cc23ae26 Revert BSC pin: back to 1.7.3 (corrupt DB on us-32 to be replaced via 48.club snapshot) 2026-05-01 11:01:09 +00:00
claude 5af2b5ace8 Pin BSC client to 1.7.2
1.7.3 introduced a regression where --tries-verify-mode=none silently overrides
--state.scheme=path → hash, causing 'Incompatible state scheme' crash on minimal
nodes built with path scheme. 1.7.2 was confirmed working before the auto-bump.
2026-05-01 10:45:48 +00:00
claude e51d99c433 Update versions: bitcoind 0.33.2, dshackle 0.78.2; regenerate compose files
Co-Authored-By: Claude Agent <claude@stakesquid.eu>
2026-05-01 04:19:24 +00:00
claudeandClaude Opus 4.6 c03cc74943 Fix maru version: v1.2.0 -> v1.2.1-20260410142843-d326b73
v1.2.0 tag doesn't exist on Docker Hub, causing compose build
failures on de-27, de-32, us-40. Using the actual tag format.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-30 19:34:54 +00:00
claude 737ffdac32 Update versions: nethermind 1.35.7->1.37.1, rippled 3.0.0->3.1.2, nitro rc.2->rc.3, agave 3.1.4->3.1.14, geth 1.16.7->1.17.2, besu 25.12.0->26.4.0, erigon3 3.3.2->3.4.0, nimbus 25.11.1->26.3.1, juno 0.15.16->0.16.0, pathfinder 0.21.3->0.22.3, op-reth 1.9.3->1.10.2, scroll 5.10.0->5.10.6, cronos-zkevm 29.6.0->29.14.0, xlayer cdk-erigon 0.8.7.1->0.9.5, wemix 0.10.11->0.10.13, fuse nethermind 1.32.2->1.36.2, bitcoin-cash 0.32.4->0.33.1, rootstock REED-8.1.0->VETIVER-9.0.1, sonic 2.1.4->2.1.6, metis dtl 0.2.5->0.2.6, celo v2.1->v2.2, mantle 1.3.2->1.5.5, boba geth 1.101603->1.101609, zircuit 1.125.6->1.132.6, fraxtal 1.101603->1.101702, blast mainnet 1.4.0->1.8.0, bor 2.5.4->2.7.2, polygon erigon3 3.3.3->3.5.0, bsc 1.6.4->1.7.3, goat testnet3+mainnet, ronin 1.1.2->1.2.2, taiko geth 1.17.3->2.4.0, maru 9737a45->1.2.0, gnosis reth 0.1.8->1.1.11, berachain reth 1.3.1->1.4.0, dshackle 0.76.0->0.78.0
Co-Authored-By: Claude Agent <claude@stakesquid.eu>
2026-04-30 09:47:51 +00:00
claudeandClaude Opus 4.7 d0291932bc Regenerate all compose files with version updates
- prysm v7.1.3, lighthouse v8.1.3, java-tron v4.8.1
- Add zero-gravity/aristotle chain (chainid 16661)
- Add tempo/mainnet compose files
- Add tempo to chainid exempt list (uses named chain specs)

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-04-24 19:14:33 +00:00
claude 926a993129 Update safe patch versions: prysm v7.1.3, lighthouse v8.1.3, haqq v1.9.3, avalanche v1.14.2, java-tron v4.8.1 2026-04-24 17:34:49 +00:00
claude e232e6d625 CRITICAL: Upgrade Dshackle to v0.76.0 2026-04-23 07:10:15 +00:00
claude fa05752e57 Update Dshackle to v0.75.21
- Update drpcorg/dshackle from 0.75.17 to 0.75.21
- Required for Tron network support
- Updates both drpc.yml and drpc-free.yml

Co-Authored-By: Claude Agent <claude@stakesquid.eu>
2026-04-20 04:53:53 +00:00
claude 3606ba0f2b Update avalanche go to v1.14.2-firewood
Regenerated compose files from context.yml update.

Co-Authored-By: Claude Agent <claude@stakesquid.eu>
2026-04-19 16:27:33 +00:00
claude cbf548df5b Update bob-mainnet op-node to v1.16.12
Fix L1 deposit tx parsing error (data length 178)
2026-04-13 23:02:20 +00:00
claudeandClaude Opus 4.6 6a14b7abd4 Update bob-mainnet op-node to v1.17.0
Fix L1 deposit tx parsing error "data is unexpected length: 178"
caused by Ethereum Prague/Electra upgrade changing deposit tx format.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-13 19:30:00 +00:00
claude 3c591608f1 Update Polygon Amoy bootnodes and maxpeers
- Replace outdated bootnodes (34.89.39.114, 35.197.249.21) with official ones from Polygon docs
- New bootnodes: 34.89.255.109, 34.185.137.160, 34.89.119.250, 34.89.40.235
- Increase maxpeers from 50 to 500 per Polygon docs recommendations
- Affects: Bor and all Erigon3 variants (archive, minimal, pruned)

Reference: https://docs.polygon.technology/pos/reference/seed-and-bootnodes/

Co-Authored-By: Claude Agent <claude@stakesquid.eu>
2026-04-08 19:56:41 +00:00
claude b569c87930 Update Amoy bootnodes to current working nodes
Old bootnodes (34.89.39.114, 35.197.249.21) were down causing sync failure.
Updated to official bootnodes from Polygon documentation.

Co-Authored-By: Claude Agent <claude@stakesquid.eu>
2026-04-06 03:24:11 +00:00
claude 42f845fa40 Update versions: avalanche, bitcoin-cash, celo, gnosis reth, rootstock, starknet pathfinder
- avalanche go: v1.14.1 → v1.14.2
- bitcoin-cash: 0.32.11 → 0.33.0
- celo geth: v1.17.1 → v1.17.2
- op.celo geth: celo-v2.2.1 → celo-v2.2.2
- gnosis reth: v1.0.3 → v1.1.11-eraimports
- rootstock rskj: REED-8.1.1 → VETIVER-9.0.0
- starknet pathfinder: v0.22.0 → v0.22.1

Co-Authored-By: Claude Agent <claude@stakesquid.eu>
2026-04-03 12:24:06 +00:00
claude 2c34c9e376 Update versions: nimbus multiarch-v26.3.0 -> multiarch-v26.3.1
Co-Authored-By: Claude Agent <claude@stakesquid.eu>
2026-03-29 04:06:59 +00:00
claude 4e8fadb56a fix: resolve port collisions for polygon-amoy and zircuit-garfield
- polygon-amoy: reassigned from port 12188 (collision with hashkeychain-mainnet)
  to 12190 via salt+2 in generate_ports()
- zircuit-garfield/testnet: fix empty --networkid= (was {{ chain_id }},
  now {{ chainid }})

Co-Authored-By: Claude Agent <claude@stakesquid.eu>
2026-03-27 23:44:36 +00:00
claude 4f6c2b5fcd fix(zero-gravity): use --syncmode=full for galileo and aristotle geth
Snap sync causes a deadlock on fresh nodes: consensus sends a zero
finalized block hash at startup which geth rejects, crashing consensus.
Full sync processes blocks sequentially from genesis and avoids this.

Co-Authored-By: Claude Agent <claude@stakesquid.eu>
2026-03-27 20:42:06 +00:00
claudeandClaude Sonnet 4.6 aa5386cc0b fix 0G galileo: use official seed IP from release package
Replace dead itrocket hostname with official seed from bundled config.toml:
461b27a9d1530eb47f62fe010a8d3e5d43b6740c@34.82.252.10:26656

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-27 18:33:30 +00:00
claudeandClaude Sonnet 4.6 f51e0d4910 fix 0G galileo: network ID 16601→16602, v3.0.4, update seeds
- Fix networkid from 16601 to 16602 (confirmed by official docs)
- Bump version 3.0.3 → 3.0.4
- Replace dead bootnode (8.218.88.60) with bundled geth-config.toml
- Replace dead consensus seed (8.218.88.60:26656) with itrocket seed
- Same fixes applied to aristotle for consistency

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-27 18:12:33 +00:00
claude 7fb3f08498 Update client versions: juno v0.15.21, aztec 4.1.2, taiko-geth v2.4.0
Co-Authored-By: Claude Agent <claude@stakesquid.eu>
2026-03-27 16:41:34 +00:00
claude ed051c2b46 Update client versions
- nethermind: 1.36.1 → 1.36.2
- erigon3 (default): v3.3.9 → v3.3.10
- lighthouse: v8.1.2 → v8.1.3
- celo geth: 1.8.9 → v1.17.1
- zircuit op-geth/op-node: v1.132.6 → v1.134.1-beta
- katana op-geth: v1.101603.5 → v1.101701.0
- bor (polygon): 2.6.5 → 2.7.0
- erigon3 (polygon): v3.4.0 → v3.5.0
- bsc: 1.7.1 → 1.7.2
- gnosis reth: v1.0.2 → v1.0.3

Co-Authored-By: Claude Agent <claude@stakesquid.eu>
2026-03-27 05:01:30 +00:00
claude d5bfffecda Set rpc.gascap=0 and rpc.txfeecap=0 on BSC/Core nodes
Overrides default gascap (600000000) to 0 (no gas cap) in BSC template.
Core inherits from BSC template, so also updated.

Co-Authored-By: Claude Agent <claude@stakesquid.eu>
2026-03-25 11:26:02 +00:00
claudeandClaude Sonnet 4.6 21813cbdd0 fix: update op-reth image to new oplabs registry
op-reth moved from ghcr.io/paradigmxyz/op-reth to
us-docker.pkg.dev/oplabs-tools-artifacts/images/op-reth
starting with v1.11.0

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-25 04:11:41 +00:00
claudeandClaude Sonnet 4.6 dcbbcf5cde security: update OP Stack clients to latest security releases
op-geth: v1.101608.0 -> v1.101701.0
op-reth: v1.10.2 -> v1.11.3
op-node: v1.16.6 -> v1.16.9

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-25 04:01:47 +00:00
claude ec9d966f2f Update versions: nitro v3.9.8, juno v0.15.20, cronos-zkevm v29.14.0, aztec 4.1.1
- nitro: v3.9.7-75e084e → v3.9.8-4624977 (all arbitrum-based chains)
- juno: v0.15.19 → v0.15.20 (starknet mainnet+sepolia)
- cronos-zkevm external-node: v29.6.0 → v29.14.0
- aztec testnet: 4.1.0-rc.2 → 4.1.1 (stable release)
- aztec devnet: 4.0.0-devnet.2-patch.0 → 4.1.1 (stable release)

Skipped: avalanche (RC), ronin (RC), bor (beta), blast-sepolia (false positive),
         linea erigon3 (false positive), manta-pacific op-node (false positive),
         eigenda-proxy (held)

Co-Authored-By: Claude Agent <claude@stakesquid.eu>
2026-03-25 00:46:34 +00:00
claude a5210206a1 Update versions: agave v3.1.10->v3.1.11, bitcoin-cash 0.32.10->0.32.11, bor 2.6.3->2.6.5, cdk-erigon xlayer v0.8.7.1->v0.9.5, external-node v29.13.1-alpha->v29.14.0, op-celo celo-v2.2.0->celo-v2.2.1, goat geth/node updates, fraxtal geth/node updates, mantle v1.5.2->v1.5.3, pathfinder v0.21.5->v0.22.0, berachain-reth v1.3.1->v1.4.0, xlayer-op-node v0.1.5->v0.1.5.1, hemi geth/node updates, dshackle 0.75.14->0.75.17
Co-Authored-By: Claude Agent <claude@stakesquid.eu>
2026-03-20 17:09:51 +00:00
claude 847c68a676 Update versions: prysm v7.1.2->v7.1.3, bsc 1.6.7->1.7.1, external-node v29.12.1-alpha->v29.13.1-alpha, mantle v1.5.1->v1.5.2, dshackle 0.75.13->0.75.14
Co-Authored-By: Claude Agent <claude@stakesquid.eu>
2026-03-17 04:10:13 +00:00
claudeandClaude Sonnet 4.6 ea1a05b49f Add ITRocket seed for 0G Galileo to fix peer discovery
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-14 10:41:27 +00:00
claude 4756813b30 Add zkevm.l2-datastreamer-url as CLI arg to bypass config parsing 2026-03-14 10:07:17 +00:00
claudeandClaude Sonnet 4.6 a455b28e04 Remove deprecated/unknown flags from polygon-zkevm erigon.yaml
zkevm.datastream-version, zkevm.get-logs-timeout, zkevm.get-logs-retries
are unknown/deprecated in v2.63.0-RC11.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-14 09:43:42 +00:00
claudeandClaude Sonnet 4.6 58b4cf8aa1 Fix polygon-zkevm cdk-erigon version: v2.64.2 → v2.63.0-RC11
v2.64.2 doesn't exist on Docker Hub; latest available is v2.63.0-RC11.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-14 04:50:49 +00:00
claudeandClaude Sonnet 4.6 f1c0fab51c Add polygon-zkevm CDK-erigon support (mainnet + Cardona testnet)
- Add rpc/polygon-zkevm/mainnet/erigon.yaml (chain 1101, datastream v2)
- Add rpc/polygon-zkevm/cardona/erigon.yaml (chain 2442, Sepolia L1)
- Add compose files for mainnet archive+pruned (ports 11361/12361)
- Add compose files for cardona archive+pruned (ports 11362/12362)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-14 04:48:10 +00:00
claudeandClaude Sonnet 4.6 3546d79e75 Update client versions: reth v1.11.3, sonic v2.1.6, mantle v1.5.1, scroll v5.10.6, bor 2.6.3, rippled 3.1.2, rskj REED-8.1.1
- ethereum reth: v1.11.2 → v1.11.3 (HIGH priority trie panic fix)
- sonic: v2.1.5 → v2.1.6 (security patches CVE-2026-26314, CVE-2026-26315)
- mantle op-geth+op-node: v1.4.2 → v1.5.1 (URGENT: Arsia fork 2026-03-25)
- scroll l2geth: scroll-v5.10.4 → scroll-v5.10.6 (EVM balance check fixes)
- polygon bor: 2.6.2 → 2.6.3 (stable patch)
- rippled: 3.1.1 → 3.1.2 (stable patch)
- rootstock rskj: REED-8.1.0 → REED-8.1.1 (patch)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-14 04:26:41 +00:00
claude 3bffde93d3 Aztec compose: devnet 4.0.0-devnet.2-patch.0, testnet 4.1.0-rc.2 2026-03-13 04:45:34 +00:00
claude 15eabc9e62 Update Aztec devnet to v4-devnet-2 and testnet to 4.1.0-rc.2
- aztec-devnet: rollup_version 1647720761->615022430, url devnet-6->v4-devnet-2.aztec-labs.com
- aztec-testnet: rollup_version 2500495677->4127419662 (network upgraded)
2026-03-13 04:41:41 +00:00
claude 4aa653b29a Update versions: reth v1.11.2, agave v3.1.10, external-node v29.12.1-alpha
Co-Authored-By: Claude Agent <claude@stakesquid.eu>
2026-03-11 04:13:27 +00:00
claude b05c8d41bc Update versions: lighthouse v8.1.1 -> v8.1.2
Co-Authored-By: Claude Agent <claude@stakesquid.eu>
2026-03-10 04:08:22 +00:00
claude dc65000d4b Update versions: erigon3 v3.3.8 -> v3.3.9
Co-Authored-By: Claude Agent <claude@stakesquid.eu>
2026-03-08 04:09:27 +00:00
claude 9fc1e2d95b Update versions: nethermind 1.36.1, bor 2.6.2, gnosis-reth v1.0.2
Co-Authored-By: Claude Agent <claude@stakesquid.eu>
2026-03-07 04:09:22 +00:00
claude 0bbd716acf Update versions: nitro v3.9.7, geth v1.17.1, besu 26.2.0, external-node v29.12.0-alpha, nimbus v26.3.0, blsync v1.17.1, juno v0.15.19, bitcoin-cash 0.32.10, scroll v5.10.4, xlayer-node v0.1.5, dshackle 0.75.13
Co-Authored-By: Claude Agent <claude@stakesquid.eu>
2026-03-06 04:11:42 +00:00
claudeandClaude Opus 4.6 60b8cd5048 fix(immutable-zkevm): pin version and update image to immutable-geth
Switch from defunct ghcr.io/immutable/go-ethereum/go-ethereum image
to the current ghcr.io/immutable/immutable-geth/immutable-geth image.
Pin version to v1.0.0-beta.17 instead of using 'latest' tag.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-03 10:44:02 +00:00
claude 1cf7bd5651 Update versions: lighthouse v8.1.0 -> v8.1.1
Co-Authored-By: Claude Agent <claude@stakesquid.eu>
2026-02-28 04:13:58 +00:00
claudeandClaude Opus 4.6 9310b078e0 op-reth: add --rpc.max-trace-filter-blocks=10000
Applies to all OP-stack reth nodes (base, soneium, op-mainnet, etc).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-28 03:42:48 +00:00
claudeandClaude Opus 4.6 ce20a16c79 bsc reth: add --rpc.max-trace-filter-blocks=10000
Limits trace filter block range to 10000 blocks for BSC reth nodes.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-28 03:24:00 +00:00