Commit Graph
100 Commits
Author SHA1 Message Date
claudeandCursor cb7bb80490 fix: bitcoin rpcallowip IPv4, babylon BLS pre-create, tac peers+cosmos RPC
- Add -rpcallowip=0.0.0.0/0 family-wide via bitcoind template regen
- Pre-create empty-password BLS key in babylon init.sh (v4.3.0 EOF fix)
- TAC: seeds+persistent_peers, CometBFT :26657 traefik, protocol cosmos

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-02 16:04:01 +00:00
claude 75b931461d deploy: regenerate compose from vibe-node main de67ec1de6be 2026-07-02 14:08:34 +00:00
claudeandCursor 865f80c56d babylon: add mainnet babylond pruned compose (bbn-1)
Family-C CometBFT node with statesync, wasm-only snapshot bootstrap,
and babylon-specific config (timeout_commit, btc-config, iavl-cache).

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-02 14:02:17 +00:00
claudeandCursor d058fe1db1 Add DigiByte and Dash mainnet bitcoin-family RPC nodes.
DigiByte uses a tarball-install digibyted.Dockerfile (v9.26.3); Dash uses
dashpay/dashd:23.1.7. Both follow the dogecoind bitcoind pattern for RPC
auth, ZMQ, traefik, and x-upstreams wiring.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-02 13:51:15 +00:00
claudeandCursor 21c01e8de8 bitcoin: production-ready mainnet bitcoind for DRPC serving
Switch to bitcoin/bitcoin:31.0 with txindex and tuned RPC flags, drop the
esplora indexer sidecar, and add bitcoin-protocol health probes so fleet
status and wait-for-online work for bitcoin-family nodes.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-02 13:35:16 +00:00
claudeandCursor 73b65dbbc9 tac: re-declare ARG VERSION in tacchaind go-builder stage
Pre-FROM ARG VERSION is not visible inside build stages; compose passes
VERSION as a build arg but git checkout expanded empty without a stage-level
re-declaration.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-02 13:22:14 +00:00
claudeandCursor 79d2839a48 tac: install git in tacchaind go-builder stage
The golang:alpine go-builder stage runs git clone/checkout but never
installed git, causing compose build to fail with exit 127 on rpc-de-32.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-02 13:04:03 +00:00
claudeandCursor 0c8a3cc4b0 ripple: deployable mainnet + testnet rippled with health checks
Fix mainnet rippled.cfg (ws,http RPC, port_peer 13331), strip eth-isms
from x-upstreams, add testnet chain assets/compose, and wire --ripple
sync-status via check-health.sh server_info probe.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-02 11:46:03 +00:00
claude 58d45c8576 katana mainnet: add isthmusTime/jovianTime to genesis for op-reth
op-reth reads OP-stack fork schedule from genesis.json; without
isthmusTime/jovianTime it rejects post-Jovian payloads (MinBaseFeeNotAllowedBeforeJovian).
2026-07-02 11:37:11 +00:00
claude aab46a52b6 tac: add tacchaind pruned compose for mainnet and spb
Source-build Dockerfile (tacchain v1.6.0), init script with statesync via
cometbft-common.sh, EVM RPC/WS on 8545/8546, and dshackle slugs tac/tac-spb.
2026-07-02 11:25:25 +00:00
claude 8629ed3e0c deploy: regenerate compose from vibe-node main 4985b130fd82 2026-07-02 10:55:08 +00:00
claudeandCursor 1b4c4d0d51 fix(robinhood): add full chain info-json to mainnet nitro baseConfig
Nitro crash-looped with "unsupported chain ID 4663" because baseConfig
only had chain.id. Add info-json with on-chain rollup addresses and
chain-config from genesis serializedChainConfig (BoLD v3.x, no validator-utils).

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-02 10:04:16 +00:00
claudeandCursor 7fc876a321 jovay: add aldaba pruned compose for mainnet and sepolia
Vendor L2 RPC (jovay/l2-rpc:0.14.0-rc1) with init seeding, Traefik
/jovay-mainnet and /jovay-sepolia routes, and dshackle upstream labels.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-02 09:53:30 +00:00
claudeandCursor 9accd794c1 kite: add mainnet go-pruned-leveldb compose and subnet-evm config
Add KiteAI Avalanche subnet mainnet node using gokite-chain image with
stock entrypoint, AVAGO_* env configuration, and pruned leveldb chain config.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-02 09:39:00 +00:00
claudeandCursor 658ba6151e Bump dshackle gateway image 0.79.5 → 0.79.10
Adds Humanity chain support, Aztec getChainTips fallback, and hyperliquid fix.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-02 09:29:29 +00:00
claudeandCursor 7359f3ded8 arb/robinhood: add nitro pruned-pebble-path compose for mainnet and testnet
Orbit rollup on Ethereum/Sepolia with per-chain baseConfig assets (testnet
info-json from official config; mainnet genesis-json-file bootstrap).

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-02 09:19:58 +00:00
claude af1348240c katana mainnet: add Isthmus/Jovian fork times to genesis and rollup
op-reth rejects post-Jovian blocks without isthmusTime/jovianTime in
genesis config and jovian_time in rollup.json; live chain passed both forks.
2026-07-02 06:33:41 +00:00
claude cecd0d5638 deploy: regenerate compose from vibe-node main cae6f8c29982 2026-07-02 01:19:44 +00:00
claude bbdc74faba deploy: regenerate compose from vibe-node main 548adca26eab 2026-07-01 14:49:26 +00:00
claude 0e00127088 superseed-sepolia: add Karst fork time (2026-06-17T16:00:00Z)
Add karst_time to rollup.json and karstTime to genesis.json for the
Karst hardfork activation on chain 53302.
2026-07-01 11:08:10 +00:00
claudeandCursor f1e71f6dbe polygon: pin bor client to 2.8.3
Downgrade from 2.9.0 to fix mainnet crash-loop on block 81541799
(sender not an eoa) after us-40 purge.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-01 04:21:17 +00:00
claudeandCursor edf1254258 Bump Ethereum mainnet Besu image default to 26.6.1
Regenerated from context.yml client_version bump (hyperledger/besu).

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-30 18:51:37 +00:00
claude 0709866489 deploy: regenerate compose from vibe-node main e32de131428a 2026-06-30 15:18:53 +00:00
claude 499275ea84 arc: add mainnet (chain 5042) — reth EL + malachite CL
Mirror arc-testnet for mainnet: --chain=arc-mainnet (bundled genesis, chainspec.rs
ARC_SUPPORTED), drpc chain 'arc' (CHAIN_ARC__MAINNET), forwarder rpc.arc.network.
malachite follows rpc.arc.network + arc.drpc.org (testnet endpoints are testnet-only
in Circle's docs). Generates arc/reth/arc-mainnet-reth-{pruned,archive}-trace.yml.
2026-06-30 06:04:29 +00:00
claude bd49c767da deploy: regenerate compose from vibe-node main 38d9a835af10 2026-06-30 05:15:12 +00:00
claude 2dfe3e9325 deploy: regenerate compose from vibe-node main 6446617d6a59 2026-06-29 15:27:51 +00:00
claude 288d9dcbdf op-mainnet: lower TransactionLookup chunk_size to 500k
Reduce stages.transaction_lookup.chunk_size from 5M to 500k in reth.toml
to prevent multi-hour pipeline stalls during large checkpoint windows on
op-reth-pruned-trace (rpc-de-32).
2026-06-29 15:11:55 +00:00
claude 9fa0917326 arc reth: --full only for pruned/minimal; archive keeps full history
Mirror vanilla reth.yml's client_command_dbopts ({{ '- --full' if db_type in
['pruned','minimal'] else '' }}): the arc execution client now omits --full for the
archive variant (full history) and keeps it for pruned/minimal. Previously --full was
hardcoded so both variants ran identical pruned-sync flags.
2026-06-29 14:56:31 +00:00
claude e97a63832d deploy: regenerate compose from vibe-node main 9ce518e683bb 2026-06-29 12:03:52 +00:00
claude 1743d869a8 arc: reth client + pruned/archive profiles; drop snapshot-download init container
- EL client renamed arc -> reth (it IS a reth fork); template arc.yml -> reth.arc.yml
  so find_template picks it as the arc-network reth override. Path is now
  arc/reth/arc-testnet-reth-{pruned,archive}-trace.yml (was arc/arc/arc-testnet-arc-full).
- profiles: full -> pruned[trace] + archive[trace] (there is no 'full' node type).
- removed the {{short_name}}-snapshots init container (arc-snapshots download, ~84 GB) and
  the consensus-init depends_on that pointed at it. Chain data is seeded OUT-OF-BAND, never
  via a compose service. Services: arc-testnet (EL) / arc-testnet-node (malachite CL) +
  consensus-init / sockets-init.
- git rm orphaned arc/arc/arc-testnet-arc-full.yml.
2026-06-29 11:51:43 +00:00
claude fc4ce97aee kona: KONA_NODE_MODE verifier -> Validator (fix startup crash-loop)
kona's NodeMode enum (crates/node/service/src/service/mode.rs) has only
Validator/Sequencer and parses via FromStr against the PascalCase display
strings. There is no 'verifier' mode, so the old value failed to parse and
kona-node crash-looped on startup. Validator is also kona's default.

Source change is env/op/kona.env (global default for all op-stack kona nodes),
so this regenerates KONA_NODE_MODE across all 38 op/*/...--kona compose files.
2026-06-29 10:35:45 +00:00
claude 5533fcc5e3 deploy: regenerate compose from vibe-node main 285b1c2050bd 2026-06-29 09:03:51 +00:00
claudeandCursor f843c4eb99 cronos: bump client image to v1.7.8
Update cronos-mainnet compose default CRONOS_CRONOS_VERSION from v1.7.7 to v1.7.8.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-29 06:31:18 +00:00
claude a27fbfd5d6 deploy: regenerate compose from vibe-node main b612fafd4d04 2026-06-29 02:11:54 +00:00
claudeandCursor 0a711cf868 linea: bump linea-besu-package to 1.1.1-20260626-d9f04f0
Update default image tags for mainnet and sepolia besu compose profiles.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-28 11:03:42 +00:00
claude fa5bfd2e97 deploy: regenerate compose from vibe-node main 41a32b597527 2026-06-28 05:42:52 +00:00
claude b929939205 deploy: regenerate compose from vibe-node main 688dbbc13dce 2026-06-27 09:03:58 +00:00
claudeandCursor 75326c3528 taiko-hoodi: wire jwtsecret into preconfirmation server for driver v2.4.0
Add PRECONFIRMATION_SERVER_JWT_SECRET and --preconfirmation.jwtSecret=/jwtsecret
to archive hoodi driver services so taiko-client v2.4.0 can start the
preconfirmation block server when PRECONFIRMATION_SERVER_PORT is enabled.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-26 10:18:12 +00:00
claude 5693ddd469 deploy: regenerate compose from vibe-node main 69e13b5f6372 2026-06-26 06:33:05 +00:00
claudeandCursor 8c30d2c7fa base-mainnet: bump ghcr.io/base/node-reth to v1.1.1 for Beryl hardfork
Update EL (op-reth) and CL (op-node) image defaults in all seven
base-mainnet compose profiles. Also aligns OP_NODE_RPC_PORT with
env/op/node.env (9545) on regen.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-26 05:38:57 +00:00
claudeandCursor 41e2f83926 taiko-hoodi: set INBOX for taiko-client v2.4.0 driver
Rename SHASTA_INBOX to INBOX (v2.4.0 reads --inbox from INBOX env var
and no longer honors PACAYA_INBOX/SHASTA_INBOX). Remove unused PACAYA_INBOX.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-26 03:26:41 +00:00
claudeandCursor 3fa32c9f94 rootstock-bamboo: bump rskj default to VETIVER-9.0.3
Fixes testnet crash-loop after restart (Invalid block header size: 22).
Regenerated from vibe-node context.yml; includes pending template regen.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-25 20:21:16 +00:00
claude 3500ebefbb deploy: regenerate compose from vibe-node main 0d8a5fa83aa0 2026-06-25 09:20:11 +00:00
claude ee3fbd39e4 deploy: regenerate compose from vibe-node main c56d34414bfa 2026-06-24 05:20:48 +00:00
claude eb1b37d5c0 deploy: regenerate compose from vibe-node main 3260c7459abd 2026-06-24 02:41:51 +00:00
claude ba03444493 deploy: regenerate compose from vibe-node main 77ee80b87aff 2026-06-23 03:48:48 +00:00
claude fd27c9633b deploy: regenerate compose from vibe-node main 8e38de510e99 2026-06-22 11:10:31 +00:00
claude 9bf8fb51ab deploy: regenerate compose from vibe-node main d369514b705f 2026-06-22 07:28:37 +00:00
claude afafaea429 op/zora/mainnet: add missing hardfork timestamps and eip1559DenominatorCanyon to genesis.json
Fixes op-reth stuck at genesis (block 0) due to missing Shanghai/Canyon+ forks.
op-node feeds current-head payloads with withdrawals but op-reth rejects them
as 'withdrawals pre-Shanghai' without these timestamps.

Added hardfork timestamps:
- shanghaiTime: 1704992401 (activates Shanghai/withdrawals)
- canyonTime: 1704992401 (activates Canyon)
- deltaTime: 1708560000
- ecotoneTime: 1710374401
- fjordTime: 1720627201
- graniteTime: 1726070401
- holoceneTime: 1736445601
- isthmusTime: 1746806401
- jovianTime: 1764691201
- karstTime: 1783526401

Added optimism.eip1559DenominatorCanyon: 250

Generated by Mistral Vibe.
Co-Authored-By: Mistral Vibe <vibe@mistral.ai>
2026-06-22 07:15:40 +00:00
claude d7ff81b9aa op/lisk/mainnet: change op-reth node_sync to consensus-layer mode
- Set OP_NODE_SYNCMODE=consensus-layer for lisk-mainnet-op-reth pruned and archive variants
- Template automatically applies appropriate P2P config (disable-discovery, no host ports)
- Fixes bootstrap issue with empty datadir (3.5 MB) stuck at eth_blockNumber=0

Generated by Mistral Vibe.
Co-Authored-By: Mistral Vibe <vibe@mistral.ai>
2026-06-22 05:13:03 +00:00
claude 14dfd52da5 deploy: regenerate compose from vibe-node main 9cc5bd2c70d3 2026-06-22 03:52:12 +00:00
claudeandMistral Vibe c28bab03e2 xlayer: update reth client version to v0.0.6.3 for June 22nd hard fork
Generated by Mistral Vibe.
Co-Authored-By: Mistral Vibe <vibe@mistral.ai>
2026-06-22 02:12:49 +00:00
claude cd216609bc deploy: regenerate compose from vibe-node main 1833b2463be2 2026-06-22 02:02:09 +00:00
claude cf35b08a4e deploy: regenerate compose from vibe-node main 533200b9d987 2026-06-22 01:30:34 +00:00
claude fb0ba537ec deploy: regenerate compose from vibe-node main dd2f311ede7c 2026-06-22 01:26:03 +00:00
claude 120c070a1e zora: add rollup.json and reth.toml for op-reth pruned-trace profile 2026-06-22 00:56:24 +00:00
claude d2c2de7341 deploy: regenerate compose from vibe-node main ed4a4cd8a117 2026-06-21 10:52:36 +00:00
claude d9d8920752 xlayer-mainnet: set OP_NODE_L2_SKIP_SYNC_START_CHECK=false for op-node v0.1.5.1
In xlayer/op-node:v0.1.5.1, the =true path triggers an infinite
'Found highest L2 block with canonical L1 origin. Skip further sanity check
and jump to the safe head' loop that prevents block derivation entirely.
Setting =false restores normal startup: op-node advances through the check
and begins deriving blocks. No newer op-node image exists (v0.1.5.1 is latest).

Affects all xlayer-mainnet op-node variants (geth, reth) as they share
the same op-node consensus layer.

Generated by Mistral Vibe.
Co-Authored-By: Mistral Vibe <vibe@mistral.ai>
2026-06-21 09:19:43 +00:00
claude 1758c921d7 deploy: regenerate compose from vibe-node main ed38c887a775 2026-06-21 06:52:38 +00:00
claude f7b585307e lisk/mainnet: add isthmusTime, jovianTime, karstTime fork timestamps to genesis.json 2026-06-21 06:03:35 +00:00
claude 39df507eee deploy: regenerate compose from vibe-node main 7ab720b29b61 2026-06-21 01:24:43 +00:00
claudeandMistral Vibe 9e666ca476 starknet: bump pathfinder v0.22.3→v0.22.6
Generated by Mistral Vibe.
Co-Authored-By: Mistral Vibe <vibe@mistral.ai>
2026-06-20 22:41:24 +00:00
claude f713744bb8 deploy: regenerate compose from vibe-node main 9920718c233e 2026-06-20 13:05:30 +00:00
claude 377d3af961 deploy: regenerate compose from vibe-node main 15f7736e5719 2026-06-20 08:30:13 +00:00
claude 8471404897 deploy: regenerate compose from vibe-node main 2b1459ec36c8 2026-06-20 04:22:01 +00:00
claude fb3dc6214c deploy: regenerate compose from vibe-node main 388142ccafa4 2026-06-20 03:01:11 +00:00
claude 6ce0fc2346 deploy: regenerate compose from vibe-node main c66ad823f9e3 2026-06-20 00:58:03 +00:00
claude 7ce0428db4 erigon3: bump Dockerfile VERSION from v3.0.7 to v3.4.4 2026-06-19 16:36:18 +00:00
claude b72cf641a9 deploy: regenerate compose from vibe-node main 666f653d478a 2026-06-19 16:03:20 +00:00
claude 5891d050f9 deploy: regenerate compose from vibe-node main 59f3f7f3cf2e 2026-06-19 14:40:16 +00:00
claude 196744cf4f deploy: regenerate compose from vibe-node main 276ea4d82e62 2026-06-19 14:29:52 +00:00
claude a7e9d4a65d deploy: regenerate compose from vibe-node main 60976572a3c4 2026-06-19 13:05:25 +00:00
claude 65695472f1 shibarium: set heimdall CL_VERSION to v1.0.7-bone in cometbft.Dockerfile 2026-06-19 11:20:45 +00:00
claude bda550eef6 shibarium: add bone fork build-from-source assets
- Update heimdall init.sh with heimdall-109 chain_id and mainnet seeds
- Update cometbft.Dockerfile with v1.0.7-bone version
- Add bor.Dockerfile for building shibaone/bor from source at v1.3.9-bone

Generated by Mistral Vibe.
Co-Authored-By: Mistral Vibe <vibe@mistral.ai>
2026-06-19 11:05:34 +00:00
claude 59ff415fdb cronos: add mainnet EVM chain (chain-id 25) as client-type node
Add cronosd cometbft.Dockerfile and init.sh for Cronos EVM mainnet.
- Dockerfile: layer cometbft-common.sh + init.sh onto upstream cronos image
- init.sh: adapted from haqq pattern with EVM JSON-RPC on 8545, WS on 8546,
  CometBFT RPC on 26657, P2P on 10521, chain-id cronosmainnet_25-1
- Statesync via ct_configure_statesync, genesis from official repo
- Pruning: custom with keep-recent=100, interval=19

Generated by Mistral Vibe.
Co-Authored-By: Mistral Vibe <vibe@mistral.ai>
2026-06-19 09:35:50 +00:00
claude efcb1f451a deploy: regenerate compose from vibe-node main 0fd15005e080 2026-06-19 09:22:31 +00:00
claude ee13d0dd23 deploy: regenerate compose from vibe-node main e5b5567e535a 2026-06-19 06:48:10 +00:00
claude 6d8920d659 deploy: regenerate compose from vibe-node main fb44bc5499e8 2026-06-19 06:28:21 +00:00
claude bcdd950eb6 reth: bump Dockerfile RETH_VERSION from v1.4.3 to v2.1.0 2026-06-19 05:36:38 +00:00
claude a17a21b55f shibarium: add heimdall node ASSET (cometbft.Dockerfile, init.sh) 2026-06-19 05:25:31 +00:00
claude 9ee59cf9fa deploy: regenerate compose from vibe-node main 9053889ed7bb 2026-06-19 03:45:34 +00:00
claudeandClaude Opus 4.8 4ea0bed344 doma-testnet: vendor rollup.json with chain_op_config
Conduit's testnet rollup.json (doma-dev-ix58nm4rnd) omits chain_op_config,
crashing op-node v1.19.0 with 'cfg.Rollup.ChainOpConfig is nil'. Vendor a
complete rollup.json (chain_op_config eip1559 6/50/250, confirmed identical
in mainnet rollup.json and testnet genesis optimism config) plus the
post-fjord fork times baked in, mounted via custom_config so op-node uses
the local file instead of curling Conduit's incomplete one.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-17 02:50:29 +00:00
claudeandClaude Opus 4.8 f4b42ff530 doma-testnet: add op-reth variant on conduit-op-reth (chain 97476, L1 sepolia)
Doma testnet (Conduit slug doma-dev-ix58nm4rnd) on Conduit's purpose-built
conduit-op-reth image - better-tested for Conduit chains than upstream op-geth.
Fork times granite/holocene/isthmus/jovian (missing from Conduit's bare
rollup.json) supplied via env/op/doma/testnet/node.env. Experiment to validate
a clean canonical sync before redoing mainnet on op-reth.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-17 02:31:25 +00:00
claudeandClaude Opus 4.8 9921391cfa doma-mainnet: add OP_NODE_OVERRIDE_JOVIAN=1769065201 (Conduit rollup.json omits it)
Conduit's bare rollup.json for doma-mainnet omits jovian_time entirely, but the
EL genesis activates Jovian at 1769065201. Without the override op-node has no
Jovian fork time and mis-derives at the boundary (chain forks off canonical).
Same fix pattern as bob-sepolia. Override comes from env/op/doma/mainnet/node.env.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-17 01:39:58 +00:00
claudeandClaude Opus 4.8 cd7f05997b berachain: bump beacon-kit v1.3.4 -> v1.4.0-rc3 (Bepolia Fusaka/Fulu fork)
Bepolia activated the Fusaka/Fulu hard fork at 2026-05-27 16:00 UTC (unix
1779897600), which ships new EVM-inflation-withdrawal values. beacon-kit
v1.3.4 (pre-fork) crash-loops replaying the fork-boundary block 20513284:
'first withdrawal is not the EVM inflation withdrawal' (RestartCount 3742 on
us-41). The EL (bera-reth v1.4.0) already speaks the Fusaka engine API
(newPayloadV4P11 etc.) and accepted the post-fork block, so only the CL is
behind. v1.4.0-rc3 sets the Fulu fork time + new inflation values. Applies
to all berachain chains' beacon-kit default; only bepolia is deployed.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-17 00:54:30 +00:00
claudeandClaude Opus 4.8 5fda0b60bc telegraf: run as root + bypass gosu drop to read docker.sock GID-independently
The container ran as user 0:994 and accessed the docker socket via group
membership, but the host docker group GID is auto-assigned and varies per
host (e.g. uk-8 is 988, not 994), so the hardcoded gid silently breaks
telegraf's docker input wherever it differs (uk-8 was in a restart loop:
permission denied on /var/run/docker.sock). Run as root (0:0) with
entrypoint [telegraf] to skip the image's gosu privilege-drop, so telegraf
reads the socket as its owner regardless of the host docker gid. Works
uniformly fleet-wide; no regression on hosts where the gid happened to match.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-16 15:11:26 +00:00
claudeandClaude Opus 4.8 fe94f3b605 doma: op-node consensus-layer sync (node_sync)
op-geth was stuck at genesis (block 0, 0 L2 peers for 31h) because execution-layer
snap-sync had no peers. node_sync=true -> OP_NODE_SYNCMODE=consensus-layer (derive
L2 from L1) + geth --syncmode=full. Diagnosed by cursor on de-13.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-16 14:23:25 +00:00
claude 9ce0e14cd6 Revert "monitoring: enable cadvisor diskIO metrics"
This reverts commit a5081013f3.
2026-06-16 10:17:23 +00:00
claude 941a0aa691 Revert "monitoring: run node_exporter on host network"
This reverts commit d48713cb15.
2026-06-16 10:10:01 +00:00
claudeandClaude Opus 4.8 d48713cb15 monitoring: run node_exporter on host network
netdev (netlink) was reading the container's own veth (idle) -> node_network_*
showed ~0 on every host. Host network lets it see real host interfaces, so
bandwidth (egress vs tariff quota) works. Removed networks/expose (exclusive
with network_mode:host).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-16 10:06:55 +00:00
claudeandClaude Opus 4.8 a5081013f3 monitoring: enable cadvisor diskIO metrics
Adds diskIO to cadvisor --enable_metrics so per-container disk read/write
(container_fs_reads/writes_bytes_total) is exposed — lets node attribution
name which node is the noisy IO neighbor, not just flag the host.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-16 10:01:33 +00:00
claudeandClaude Opus 4.8 6d65582af4 monitoring: scrape cadvisor/nodeexporter/telegraf at /metrics not /
prometheus-scrape.metrics_path was '/' which made prometheus-docker-sd scrape
the HTML root and fail with 'INVALID is not a valid start token', leaving the
targets up=0. Fixes per-container (cadvisor) + host (node_exporter) metrics so
they can be wired into the DRPC insights MCP for per-node resource attribution.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-16 09:06:57 +00:00
claudeandClaude Opus 4.8 2761625c15 utils: add mint-grafana-service-account-token.sh
Mint a Viewer Grafana service-account token on a host and print it to stdout,
so each box's local Grafana (dshackle + node_exporter + cadvisor) can be wired
into the DRPC insights MCP (grafana_servers.yaml). Idempotent SA, fresh token
per call.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-16 08:59:46 +00:00
claudeandClaude Opus 4.8 1134a3774a sync-status: dRPC-homogeneous block-lag status + fix never-used reference fallbacks
Match the dRPC gateway's per-chain "how many blocks behind is ok" model instead of a
fixed 2s/5s timestamp tolerance:
- check-health.sh: compare the reference head vs local head by BLOCK NUMBER and classify
  with the chain's dRPC lag thresholds (LAGGING_LAG/SYNCING_LAG, in blocks, from
  chains.yaml). dRPC uses the two thresholds inconsistently across chains (sometimes
  lagging<syncing, sometimes the reverse) so the smaller is the online boundary and the
  larger the syncing/drop boundary. Defaults 2/6 when a chain has no thresholds.
- multicurl.sh: also skip responses with result:null (a lagging endpoint lacking the
  requested block) so the fallback reference URLs are actually tried. Previously the first
  endpoint's {"result":null} was accepted as success -> fallbacks never ran, and the null
  reference hash made check-health report false "forked" (the online/forked flapping).
- sync-status.sh: resolve the lag thresholds (by drpc slug or chain id) and export
  LAGGING_LAG/SYNCING_LAG.
- reference-rpc-endpoint.sh: add --lags and --block-time-ms lookups.
- reference-rpc-endpoint.json: regenerated with per-chain block_time_ms + lagging_lag +
  syncing_lag (additive).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-16 05:55:55 +00:00
claudeandClaude Opus 4.8 577ac5d7f2 bsc minimal: disable eth_getProof on dshackle upstream
Minimal BSC nodes lack the state to serve eth_getProof and return
"header not found" (especially while catching up after a restart). The
drpc gateway probes eth_getProof and marks the WHOLE upstream unavailable
on failure, so e.g. bsc-mainnet-bsc-minimal on us-32 showed unavailable in
US-East despite the node being online and at head.

Disable eth_getProof on bsc minimal upstreams only (network=bsc,
db_type=minimal) so they stay available for every other method. Archive/
pruned bsc and all other nodes keep serving getProof.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-16 05:29:55 +00:00
claudeandClaude Opus 4.8 677a98d9bd xlayer: archive-only reth on OKX xlayer/op-reth image + snapshot reth.toml
X Layer mainnet/testnet op-reth now use the OKX xlayer/op-reth:v0.0.4.1 fork
(generic op-reth can't read the X Layer DB format), the image's built-in
xlayer-<network> chain spec, --rpc.legacy-url for post-snapshot history gap-fill,
and the OKX archive-compatible reth.toml (light pruning only: merkle_changesets
distance=10064). Switched the reth profile from full_trace to archive_trace and
deleted the pruned variants — a "pruned" compose over archive snapshot data
crash-loops on a block-height mismatch. Requires the official OKX reth snapshot
pre-loaded into the volume; do NOT sync from scratch.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-16 04:35:28 +00:00
claudeandClaude Opus 4.8 95f9da1e73 bob-sepolia: consensus-layer sync + debug_geth L1 + Jovian override (unstick)
op-node was following the sequencer tip in execution-layer mode while op-reth stayed
at genesis (blocks buffered, never canonical). Switch to consensus-layer sync so
op-node drives L1 derivation, add op-reth --disable-discovery, and use debug_geth
(eth_getBlockReceipts) for the L1 RPC kind — "basic" per-tx receipts hit "receipt 0
has unexpected nil block number" on the Sepolia L1 endpoint. OP_NODE_OVERRIDE_JOVIAN
=1772548201 is belt-and-suspenders (jovian_time already in rollup.json). Applies to
all bob-sepolia EL variants. Regenerated from the vibe-node generator.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-16 04:14:34 +00:00
claudeandClaude Opus 4.8 fbd498aaa2 superseed-sepolia: consensus-layer sync + debug_geth L1 + drop genesis blob fields
op-reth/op-geth sepolia now run op-node consensus-layer sync (empty DB is never
P2P-backfilled) with --disable-discovery, derive L1 via debug_geth against an
operator-set full-history Sepolia RPC (SUPERSEED_SEPOLIA_L1_EXECUTION_RPC, falling
back to ETHEREUM_SEPOLIA_EXECUTION_RPC), and serve a genesis.json with the invalid
top-level excessBlobGas/blobGasUsed nulls removed (eip1559DenominatorCanyon=250
retained). Regenerated from the vibe-node generator.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-16 04:05:05 +00:00
claudeandClaude Opus 4.8 ad56365253 cometbft: WS Upgrade matcher case-insensitive + ct_ensure_wasm + statesync-skip-if-data
Per cursor cosmos handoff. (1) Traefik WS router rule Headers(Upgrade,websocket) is
case-SENSITIVE -> clients sending 'Upgrade: WebSocket' (python websocket-client) fall
through to the RPC router (200/400 not 101). rpc-client.yml now emits
HeadersRegexp(Upgrade,(?i)websocket) for all split-WS chains; regenerated cosmos+avalanche.
(2) Refactor into cometbft-common.sh: ct_configure_statesync skips if data/application.db
exists; new ct_ensure_wasm seeds CosmWasm/IBC-08 wasm (statesync omits them). init.sh calls
both. README documents wasm/version/WS gotchas. 45 other split-WS composes get HeadersRegexp
on their next regen.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-16 03:27:19 +00:00
claudeandClaude Opus 4.8 c07fb81a56 op-node: default L1 RPC kind basic -> standard (eth_getBlockReceipts)
Our L1 geth (e.g. rpc-de-31 ethereum-mainnet-geth) returns null for the
per-tx receipt path on historical blocks but serves eth_getBlockReceipts
fine. op-node's 'basic' kind only uses the per-tx batch, so chains
deriving from genesis (e.g. Katana) hit the broken path immediately;
chains already synced past it don't. 'standard' uses eth_getBlockReceipts
and keeps the per-tx batch as fallback (strict superset of 'basic'), so
it is safe for every OP-stack node.

Flips OP_NODE_L1_RPC_KIND default across all 176 op-node compose files.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-16 03:26:02 +00:00