Compare commits

...

84 Commits

Author SHA1 Message Date
cdbf70087a deploy: regenerate compose from vibe-node main 50272add107a 2026-09-21 04:44:08 +00:00
650c1b7fd8 gnosis-chiado: bump erigon3 to v3.6.0 for Caplin Chiado gossip fix
Bump the default erigon version for Gnosis Chiado erigon3 services from v3.5.3 to v3.6.0.
v3.6.0 (2026-08-24) added 'Caplin accepts Chiado libp2p bootstrap nodes' (#23243/#23245),
fixing the peer-discovery issue where Caplin cannot join Chiado CL gossip.
v3.6.0 is drop-in for v3.5 datadirs (no resync).
2026-09-20 20:28:59 +00:00
6d4f6b1e74 deploy: regenerate compose from vibe-node main 2882b0eecacc 2026-09-20 08:28:26 +00:00
32a244feac Merge pull request 'op/mode/mainnet genesis.json: add L1-fork aliases (cancun/prague/osaka) so geth init validates' (#82) from mode-mainnet-kona-permanent-env-fix into main 2026-09-20 08:25:20 +00:00
344dde1aec mode: add L1-fork aliases (cancunTime=ecotoneTime, pragueTime=isthmusTime, osakaTime=karstTime) to fix geth init validation
Fixes OP-Stack invalidity error: CancunTime (<nil>) must equal EcotoneTime (1710374401)
Required by op-geth chain config validation which enforces:
- CancunTime == EcotoneTime (1710374401)
- PragueTime == IsthmusTime (1746806401)
- OsakaTime == KarstTime (1783526401)

Generated by Mistral Vibe.
Co-Authored-By: Mistral Vibe <vibe@mistral.ai>
2026-09-20 06:05:33 +00:00
fd00746383 deploy: regenerate compose from vibe-node main 61c0b5c0f6ed 2026-09-20 03:58:37 +00:00
9112b279d9 Merge pull request 'reload_dshackle: cut gateway connections on handler completion (~30 ms) instead of a fixed 3 s settle' (#81) from reload-settle-poll into main 2026-09-19 09:54:21 +00:00
rob
6f4b297733 reload_dshackle: cut gateway connections as soon as the SIGHUP handler reports completion (~30ms) instead of after a fixed 3s settle
The reload is in-process and takes 10-30 ms; the fixed sleep was the window in
which a removed upstream was already unrouted in dshackle while the gateway still
held the old announcements and kept sending queries it could no longer answer.
Poll the log for 'Reloading config has been completed' (or the fail/drop
markers), SETTLE stays the upper bound. Operator 2026-09-19.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01KjqejYycVyVvrxV9aTDhgX
2026-09-19 09:50:03 +00:00
89d8036c6a deploy: regenerate compose from vibe-node main c1cc8d8bba6c 2026-09-19 07:33:29 +00:00
b5ee23ca36 deploy: regenerate compose from vibe-node main 8cdf43119b6f 2026-09-18 08:59:54 +00:00
31587d758b arc-mainnet: pin reth+consensus 0.8.0 (reth 2.2 Storage V2)
0.7.2 (reth 1.11) panics in alloy-trie on the V2 snapshot datadir. Matches
context.yml + the arc-testnet pin. Archive seeded from snapshots.arc.network
and serving on rpc-de-16.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-09-17 12:11:53 +00:00
rob
cafa8139c9 nitro: v3.11.2-3599aca / v3.11.3-beb2108 -> v3.11.4-7d5ac27 (operator 2026-09-17)
Regenerated from vibe-node context.yml (global nitro pin + robinhood, plume
mainnet/testnet overrides). robinhood archive profiles (not rendered, no host
runs them) bumped by hand for parity. alephzero stays on its own v3.5.3 pin.
Regen also picked up the pending arc reference-rpc-endpoint list.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01KjqejYycVyVvrxV9aTDhgX
2026-09-17 01:42:18 +00:00
69234a6012 bsc: bump reth client v0.1.1→v0.1.2; regen xlayer reth v0.0.6.3→v0.0.7 and pathfinder v0.23.0→v0.24.0
Generated by Mistral Vibe.
Co-Authored-By: Mistral Vibe <vibe@mistral.ai>
2026-09-16 14:44:00 +00:00
1935cf3475 deploy: regenerate compose from vibe-node main 1553d8ccaf50 2026-09-14 20:59:37 +00:00
99db0bde08 scroll: bump l2geth to scroll-v5.10.8
Generated by Mistral Vibe.
Co-Authored-By: Mistral Vibe <vibe@mistral.ai>
2026-09-14 19:17:05 +00:00
161d747132 morph: bump l2geth 2.2.4->2.2.6 (mainnet, chainid 2818) 2026-09-14 17:05:18 +00:00
5cdcf52581 deploy: regenerate compose from vibe-node main a41d103711fe 2026-09-14 15:08:51 +00:00
ed9951b07e dash: bump dashd to 23.1.8
Generated by Mistral Vibe.
Co-Authored-By: Mistral Vibe <vibe@mistral.ai>
2026-09-14 13:37:19 +00:00
54502b821b deploy: regenerate compose from vibe-node main 5695d3b14f22 2026-09-14 11:42:01 +00:00
sebastian
fe39b29340 Merge pull request 'zircuit-garfield: fix health-check reference endpoints' (#76) from issue-4536 into main
Reviewed-on: #76
2026-09-14 11:39:35 +00:00
37787ca1e8 deploy: regenerate compose from vibe-node main 7fcbb15b2f7b 2026-09-14 11:16:45 +00:00
9c5b74d406 deploy: regenerate compose from vibe-node main e264d0aba551 2026-09-14 10:37:49 +00:00
b0b85ede7b deploy: regenerate compose from vibe-node main 6a73725c75f7 2026-09-14 10:27:51 +00:00
46f1a4e040 Merge pull request 'traefik: second, env-named network so non-RPC services can be routed off chains' (#80) from traefik-extra-network into main 2026-09-13 13:23:45 +00:00
rob
b6bbe77dff traefik: second, env-named network so non-RPC services can be routed off chains
Traefik now also listens on `extra`, whose name comes from TRAEFIK_EXTRA_NETWORK
and defaults to rpc_extra (matching the rpc_chains convention). It is not
`external: true`, so compose creates it; hosts that never use it just get an
empty bridge.

Why: anything that wants a traefik route currently has to sit on `chains`, which
on a typical host means 26 containers including unauthenticated redis:6379,
traefik:8080 (--api.insecure=true) and several unauthenticated :8545 endpoints.
A public site accepting anonymous uploads does not belong there. With this it
can be routed from an isolated network that only traefik bridges into.

Validated with `docker compose config` against a real host .env: unset ->
rpc_extra, TRAEFIK_EXTRA_NETWORK=vientiane_net -> vientiane_net, traefik on
[chains, extra] in both.

Operational note: changing traefik's network list means the NEXT rpc-update on a
host recreates the traefik container, briefly interrupting all HTTP/HTTPS routing
on that host, RPC endpoints included. Nothing pulls /root/rpc on its own, so this
lands host by host and should ride the serving gate.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01KjqejYycVyVvrxV9aTDhgX
2026-09-13 13:23:26 +00:00
997a039c78 Bump bitcoind to 0.33.11 for bitcoin-cash
Generated by Mistral Vibe.
Co-Authored-By: Mistral Vibe <vibe@mistral.ai>
2026-09-12 07:08:18 +00:00
009cf01cc8 deploy: regenerate compose from vibe-node main 7e71efbd3d0b 2026-09-12 06:03:48 +00:00
611aae805a Merge pull request 'superseed-sepolia: fix Karst fork-time configuration' (#75) from issue-3840 into main 2026-09-11 15:25:24 +00:00
b062191754 deploy: regenerate compose from vibe-node main c16e40b68366 2026-09-11 10:27:10 +00:00
rob
eee8bc13de avalanche C-chain configs: select APIs via eth-apis (defaults + debug/debug-tracer/debug-file-tracer/debug-handler); the legacy *-api-enabled flags are ignored by avalanchego 1.14.2 (canary rpc-de-22: debug_trace* now served)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01KjqejYycVyVvrxV9aTDhgX
2026-09-11 09:58:49 +00:00
rob
2960ac3480 avalanche C-chain configs: debug-api-enabled true (mainnet pruned/archive/firewood, fuji pruned/archive) so the advertised dshackle debug group is actually served (dRPC routed 110 debug_trace* calls/day into method-not-available)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01KjqejYycVyVvrxV9aTDhgX
2026-09-11 09:34:36 +00:00
03eece850f deploy: regenerate compose from vibe-node main ad1b9236adf5 2026-09-11 09:31:12 +00:00
20618f9f56 deploy: regenerate compose from vibe-node main c113407f089d 2026-09-11 08:56:22 +00:00
be4c1a599f deploy: regenerate compose from vibe-node main 218bbb0b7615 2026-09-11 08:11:28 +00:00
a8a8986305 deploy: regenerate compose from vibe-node main 2c123e09150c 2026-09-11 07:16:37 +00:00
dd059dfa1e deploy: regenerate compose from vibe-node main 02930ac0a52b 2026-09-11 06:32:40 +00:00
75e92270c6 Merge pull request 'haqq: fix startup crash-loop by adding missing cometbft-common.sh' (#73) from issue-4373 into main 2026-09-10 14:25:53 +00:00
ecf3eea227 deploy: regenerate compose from vibe-node main 8d6970c716b7 2026-09-10 09:50:10 +00:00
bc81a514d3 deploy: regenerate compose from vibe-node main 588eabf061ef 2026-09-10 09:22:19 +00:00
4d0d4e84bd deploy: regenerate compose from vibe-node main 482841b9f702 2026-09-10 09:17:47 +00:00
rob
4daf21cb27 haqq: drop truncated dteam peer, stop feeding the Polkachu addrbook JSON to ct_merge_seeds; cometbft-common: validate peer entries
- haqq/scripts/init.sh: 7c153a83@peer.haqq.mainnet.dteam.tech:28656 is not a 40-hex node id;
  haqqd refuses to start with it in seeds/persistent_peers. Removed from both defaults.
- haqq/scripts/init.sh: ct_merge_seeds was given ADDRBOOK_URL (a JSON addrbook, hundreds of KB)
  as the official seed list; the resulting sed argument exceeded ARG_MAX on Alpine. The
  addrbook is already installed by ct_set_addrbook; pass no seeds URL.
- scripts/cometbft-common.sh (+ per-chain copies via update.sh sync): ct_valid_peers filters
  seeds and persistent_peers to <40-hex>@host:port and logs what it drops, so a bad upstream
  entry can never block startup again.

Replaces the runtime override /root/onsite-overrides/haqq-mainnet-skip-addrbook-as-seeds.yml
that the onsite agent left on rpc-de-31 on 2026-09-07.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01KjqejYycVyVvrxV9aTDhgX
2026-09-09 06:43:08 +00:00
7006907548 bump apechain nitro version to apechain-3.9.9 and sync with current context
- Update apechain nitro node from v3.5.6 to 3.9.9 for ArbOS v33 support
- Sync ARC client versions (reth: 0.8.0 -> 0.7.2, consensus: 0.8.0 -> 0.7.2)
- Sync Linea besu client version (2.0.0-20260714 -> 2.2.0-20260821)
2026-09-08 20:57:08 +00:00
16834115f7 zircuit-garfield-testnet: update reference endpoints - replace failing URLs with https://rpc.garfield-testnet.zircuit.com 2026-09-08 02:59:42 +00:00
6abace8173 superseed-sepolia: fix karst fork time from 1781712000 to 1787068801 2026-09-08 02:15:21 +00:00
611b962db5 tac: bump tacchaind client version from v1.6.0 to v1.6.2-beta.2-manual for mainnet hardfork
TAC mainnet halted at block 24,671,475 on 2026-08-22 and RESUMED 2026-09-02 via
one-shot Aug-2026 state-recovery hardfork gated on chain-id tacchain_239-1 +
height 24,671,476. v1.6.0 lacks that migration and cannot cross the fork height.

Generated by Mistral Vibe.
Co-Authored-By: Mistral Vibe <vibe@mistral.ai>
2026-09-07 13:09:17 +00:00
73c9362f9f nethermind: bump client version from 1.39.1 to 1.39.2 2026-09-07 12:40:14 +00:00
9f7317dcd1 haqq: add missing cometbft-common.sh COPY to Dockerfile 2026-09-07 11:48:42 +00:00
3e126d424f core: bump core-chain client from 1.0.22 to 1.0.26 for mainnet hardfork
Mainnet hardfork activated 2026-09-03 13:00 UTC; nodes on v1.0.22 stuck at
block 38376796 ('Re-queue blocks' loop). GitHub release v1.0.26 published
2026-09-02 with mainnet hardfork support.

Applies to all core networks: mainnet (chain 1116), buffalo, pigeon.
Image-only change: ghcr.io/coredao-org/core-chain:1.0.26

Generated by Mistral Vibe.
Co-Authored-By: Mistral Vibe <vibe@mistral.ai>
2026-09-05 09:45:38 +00:00
5415831756 Merge pull request 'reference-rpc-endpoint: new zircuit-garfield-testnet reference RPC' (#72) from garfield-reference-rpc into main 2026-09-05 09:15:32 +00:00
dbead7d8ab reference-rpc-endpoint: zircuit-garfield-testnet — replace dead garfield-testnet.zircuit.com with rpc.garfield-testnet.zircuit.com
https://garfield-testnet.zircuit.com/ no longer answers JSON-RPC (empty reply), and
zircuit-garfield-testnet.drpc.org returns 'chain is not available on free plan'
(code 35), so sync-status reports garfield as 'unverified (reference unreachable)'
on de-32/de-11. https://rpc.garfield-testnet.zircuit.com answers eth_blockNumber
(0x1703803 on 2026-09-05). drpc kept as second URL.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01RzxemENdcZBCxdGrzXiFvS
2026-09-05 09:15:10 +00:00
561abcabac Merge pull request 'clone-backup: delete node identity keys on the destination after a successful restore' (#70) from fix-restore-delete-node-keys into main 2026-09-05 09:14:11 +00:00
4c86367c5f Merge pull request 'haqq: move CometBFT RPC laddr off 8545 to 26657 (EVM json-rpc never bound)' (#71) from haqq-init-cometbft-rpc-port into main 2026-09-05 08:41:49 +00:00
db7ef4c8cd haqq: fix CometBFT RPC port conflict - move [rpc] laddr from 8545 to 26657 2026-09-05 08:17:44 +00:00
45d3add2dd Add node identity key deletion after fast-path restore (fixes rpc-us-50 avalanche incident) 2026-09-04 09:21:21 +00:00
da5c600846 Merge pull request 'haqq: COPY cometbft-common.sh into the image (fix startup crash-loop)' (#69) from haqq-dockerfile-cometbft-common into main 2026-09-04 07:01:52 +00:00
833e7b2713 haqq: add missing cometbft-common.sh COPY to Dockerfile 2026-09-04 06:54:16 +00:00
b91f20a876 deploy: regenerate compose from vibe-node main 1b5ba9b72fe1 2026-09-04 03:57:52 +00:00
44fecc0269 Merge pull request 'zircuit: add Jovian + Karst fork times (garfield PAST since 2026-08-26; mainnet Sep 15 / Sep 23)' (#68) from zircuit-jovian-karst into main 2026-09-04 02:21:22 +00:00
0bac72abb4 zircuit: add jovian_time + karst_time (garfield PAST jovian 1787761801/karst 1788883201; mainnet jovian 1789489801/karst 1790179201) from live sequencers
garfield forked at Jovian (2026-08-26, ~block 23712660) on rpc-de-11 because rollup.json/genesis.json stopped at Isthmus; the de-32 bench copy restored from Conduit's snapshot cannot parse post-Jovian L1-info deposits (data is unexpected length: 178) for the same reason. mainnet activates Jovian 2026-09-15 and Karst 2026-09-23.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01RzxemENdcZBCxdGrzXiFvS
2026-09-04 02:20:47 +00:00
e4bfd6e50e deploy: regenerate compose from vibe-node main 5712d6ff2ee2 2026-09-04 01:29:27 +00:00
78dc41bd7e deploy: regenerate compose from vibe-node main 7e17db3a2710 2026-09-04 01:01:56 +00:00
abd240821b deploy: regenerate compose from vibe-node main ace5146f8c1c 2026-09-03 07:57:10 +00:00
bf9bee1742 ronin: add Karst hardfork times (mainnet: 1791388801, saigon: 1788364801) 2026-09-03 07:21:59 +00:00
7fd209c1ba fraxtal-mainnet: add fjord/granite/holocene/isthmus fork times to genesis.json (check_fork_times --fix)
Source: FraxFinance/fraxtal-node master mainnet/rollup.json (published; RPCs refuse
optimism_rollupConfig). rollup.json already had them; genesis.json stopped at
ecotone so op-geth (geth init runs every start) never activated Fjord+.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01RzxemENdcZBCxdGrzXiFvS
2026-09-03 03:54:17 +00:00
7c21ad95d8 Fix cronos port collision: remove hardcoded client_port 10521 from context.yml
cronos-mainnet now uses port 11552, cronos-testnet uses port 14547
to prevent Bind for 0.0.0.0:10521 port already allocated errors on rpc-de-35

cronosd supports custom P2P_PORT via ct_patch_p2p in init.sh, so auto-generated
ports are wired through correctly via P2P_PORT env var.
2026-09-03 03:52:38 +00:00
13e11730ec ethereum: replace beaconstate.ethstaker.cc with sync-mainnet.beaconcha.in for mainnet checkpoint-sync
Generated by Mistral Vibe.
Co-Authored-By: Mistral Vibe <vibe@mistral.ai>
2026-09-03 03:32:53 +00:00
4340204c5c superseed-mainnet: add Jovian (1769065201) + Karst (1787673601) fork times to rollup.json and genesis.json
Live sequencer optimism_rollupConfig carries jovian_time/karst_time; our custom
configs stopped at Isthmus, so the de-32 bench sync diverged at block 21442759
(first Jovian block). Source: https://mainnet.superseed.xyz optimism_rollupConfig.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01RzxemENdcZBCxdGrzXiFvS
2026-09-03 03:16:01 +00:00
d9cb8f144d Add methods.disabled to beacon-chain upstreams for expensive state dumps
Disable GET#/eth/v2/debug/beacon/states/*, GET#/eth/v1/beacon/states/*/committees,
GET#/eth/v1/beacon/states/*/validators, and POST#/eth/v1/beacon/states/*/validators
which produce multi-GB responses that timeout at the gateway.

These were applied live on hosts 2026-08-31 (rob, operator-approved) but existed
nowhere durable. Baking them in at the source prevents regeneration from
erasing them.

Affects all ethereum and gnosis beacon-chain upstreams.

Generated by Mistral Vibe.
Co-Authored-By: Mistral Vibe <vibe@mistral.ai>
2026-09-02 05:51:16 +00:00
cb144f7d06 Replace dead beaconstate.info checkpoint-sync domains
- mainnet.beaconstate.info -> beaconstate.ethstaker.cc
- sepolia.beaconstate.info -> checkpoint-sync.sepolia.ethpandaops.io
- Preserve holesky.beaconstate.info and beaconstate-hoodi.chainsafe.io (alive)

Fixes CL container crash-loops on fresh starts due to dead DNS.

Generated by Mistral Vibe.
Co-Authored-By: Mistral Vibe <vibe@mistral.ai>
2026-09-02 03:45:23 +00:00
cd65972c45 superseed-mainnet: add missing EL fork times (granite/holocene/isthmus) 2026-09-01 01:02:19 +00:00
503246f795 regenerate all nitro-client composes with secondary-beacon-url fallback
Adds --parent-chain.blob-client.secondary-beacon-url=${ETHEREUM_<L1>_BEACON_REST_FALLBACK}
to all nitro clients using ethereum L1 (non-arbitrum l1_network_name).
Chains with l1_network_name=arbitrum (apechain, opencampuscodex) remain unchanged
as the flag is inside the non-arbitrum guard.

Generated from templates/clients/nitro.yml + default.env changes in PR #4332.
2026-08-30 05:51:37 +00:00
08becee73e katana-mainnet: regenerate op-reth compose files with OP_NODE_L2_SKIP_SYNC_START_CHECK=false 2026-08-30 05:38:31 +00:00
361d93d1ad Fix arc version tag: remove v-prefix from v0.8.0 -> 0.8.0
The arc-network cloudsmith registry has NO v-prefix for 0.8.0.
Available tags are 0.8.0 and 0.8.0-66ad2d5a (the v-prefix existed
only for v0.7.3). Deploy of the previous change failed with
manifest-unknown for arc-consensus:v0.8.0.

Generated by Mistral Vibe.
Co-Authored-By: Mistral Vibe <vibe@mistral.ai>
2026-08-30 04:59:40 +00:00
c8cbd8a925 Add superseed mainnet op-reth pruned-trace profile
- Add new superseed-mainnet-op-reth-pruned-trace.yml compose file
- Update compose_registry.json with new entry
- Mirror sepolia op-reth profile structure with mainnet settings

Generated by Mistral Vibe.
Co-Authored-By: Mistral Vibe <vibe@mistral.ai>
2026-08-30 04:39:47 +00:00
0f6e212d39 arc: upgrade to v0.8.0 with reth 2.2 Storage V2 support
- Bump execution client version from v0.7.3 to v0.8.0
- Bump consensus client version from v0.7.3 to v0.8.0
- Add --prune.block-interval=5000 to retain previous pruning schedule
- Supports reth Storage V2 (v0.8.0 binary runs V1 data without migration)
- Addresses breaking changes from arc-node v0.8.0 BREAKING_CHANGES.md

Generated by Mistral Vibe.
Co-Authored-By: Mistral Vibe <vibe@mistral.ai>
2026-08-30 03:46:00 +00:00
3657fc49f2 Add Humanity chain node profile (arb/humanity)
- Add Arbitrum Orbit L2 chain Humanity with nitro client
- Mainnet chain-id: 13600000, testnet chain-id: 7080969
- Generate pruned-pebble-hash and pruned-pebble-hash.prune variants
- Use offchainlabs/nitro-node:v3.11.2-3599aca
- Parent chain: Arbitrum One (l1: one, l1_network_name: arbitrum)

Generated by Mistral Vibe.
Co-Authored-By: Mistral Vibe <vibe@mistral.ai>
2026-08-29 12:47:12 +00:00
40a415cee8 avalanche: revert fuji profile to leveldb (remove firewood, restore leveldb)
The previous commit (b578bd85) incorrectly renamed fuji from leveldb to firewood.
On-disk verification on rpc-de-10 (64k *.ldb files, --db-type=leveldb flag,
startup log databaseConfig.name=leveldb) proves the avalanche-fuji node uses
LEVELDB. This commit restores the leveldb profiles and removes the firewood
variants for fuji.

- Restored: avalanche-fuji-go-pruned-leveldb.yml, .prune.yml, archive-leveldb.yml
- Removed: avalanche-fuji-go-pruned-firewood.yml, .prune.yml
- Updated: compose_registry.json

Generated by Mistral Vibe.
Co-Authored-By: Mistral Vibe <vibe@mistral.ai>
2026-08-29 05:49:57 +00:00
b578bd8514 avalanche: fix fuji profile naming to use firewood db (remove pebbledb/leveldb profiles)
Generated by Mistral Vibe.
Co-Authored-By: Mistral Vibe <vibe@mistral.ai>
2026-08-29 05:43:20 +00:00
7b667fe049 avalanche: add firewood profile for mainnet (pruning-free merkle DB)
Add new avalanchego v1.14.2 profile with Firewood state database backend:
- state-scheme: firewood (with required populate-missing-tries:null, snapshot-cache:0)
- state-sync-enabled: true (confirmed supported in v1.14.2)
- chain-config-dir: /config/firewood
- db-type: firewood
- coreth-state-scheme: firewood

Generated compose: avalanche-mainnet-go-firewood-firewood.yml

Generated by Mistral Vibe.
Co-Authored-By: Mistral Vibe <vibe@mistral.ai>
2026-08-29 05:29:45 +00:00
cf91b6f14d Merge pull request 'linea: reduce Maru engine API parallelism' (#49) from issue-2412 into main 2026-08-28 05:25:30 +00:00
529a91f0d7 Merge pull request 'show-status: exit code was always 0 — three compounding bugs' (#66) from fix-show-status-exit-code into main 2026-08-28 05:25:11 +00:00
502a75b2fd show-status: exit code was always 0 — three compounding bugs
show-status.sh could never report failure. The ansible task that wraps it
('Execute show-status.sh and fail on failure') therefore always passed, on every
host, regardless of node state. Three bugs, each masking the next:

1. $? read too late. `code=0` sits between the sync-status.sh call and
   `if [ $? -ne 0 ]`. A plain assignment succeeds and overwrites $? with 0, so
   the condition was ALWAYS false and the else branch always taken.

2. The else branch was inverted. It is the sync-status-SUCCEEDED path, yet it set
   `code=1; any_failure=true` — marking healthy nodes as failures.

3. any_failure could never propagate. check_sync_status runs backgrounded (`&`),
   i.e. in a subshell, so `any_failure=true` inside it is discarded; and the
   `wait "$pid"` loop threw away each job's exit status.

(3) hid (1) and (2): a script that believed every node had failed still exited 0,
so nobody saw it.

Fix: capture rc immediately; restore the intended logic (success => 0, syncing or
lagging => tolerated, anything else => failure); propagate failure in the PARENT
via `wait "$pid" || any_failure=true`, since the subshell cannot.

Verified with a stubbed sync-status.sh:

  scenario              before   after
  all online              0        0
  one syncing             0        0   (tolerated)
  one lagging             0        0   (tolerated)
  one ERROR               0        1
  ALL error               0        1

Behaviour for healthy fleets is unchanged; only genuine failures now surface.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-14 19:56:10 +00:00
80b0e4253e linea/mainnet/maru: reduce blocks-parallelism 10→2 and blocks-batch-size 10→5 to reduce engine API saturation 2026-08-02 18:03:02 +00:00
c5f9e5000f linea: lower desync-tolerance from 100000 to 64 to allow range-sync mode 2026-08-02 14:51:49 +00:00
293 changed files with 3794 additions and 667 deletions

View File

@@ -54,7 +54,7 @@ services:
environment: environment:
- DATABASE_POOL_SIZE=50 - DATABASE_POOL_SIZE=50
- DATABASE_URL=postgres://postgres:notsecurepassword@abstract-mainnet-archive-db:5430/zksync_local_ext_node - DATABASE_URL=postgres://postgres:notsecurepassword@abstract-mainnet-archive-db:5430/zksync_local_ext_node
- EN_API_NAMESAPCES=eth,net,web3,debug,pubsub,debug,zks - EN_API_NAMESPACES=eth,net,web3,debug,pubsub,debug,zks
- EN_ETH_CLIENT_URL=${ETHEREUM_MAINNET_EXECUTION_RPC} - EN_ETH_CLIENT_URL=${ETHEREUM_MAINNET_EXECUTION_RPC}
- EN_HEALTHCHECK_PORT=3081 - EN_HEALTHCHECK_PORT=3081
- EN_HTTP_PORT=8545 - EN_HTTP_PORT=8545

View File

@@ -54,7 +54,7 @@ services:
environment: environment:
- DATABASE_POOL_SIZE=50 - DATABASE_POOL_SIZE=50
- DATABASE_URL=postgres://postgres:notsecurepassword@abstract-mainnet-db:5430/zksync_local_ext_node - DATABASE_URL=postgres://postgres:notsecurepassword@abstract-mainnet-db:5430/zksync_local_ext_node
- EN_API_NAMESAPCES=eth,net,web3,debug,pubsub,debug,zks - EN_API_NAMESPACES=eth,net,web3,debug,pubsub,debug,zks
- EN_ETH_CLIENT_URL=${ETHEREUM_MAINNET_EXECUTION_RPC} - EN_ETH_CLIENT_URL=${ETHEREUM_MAINNET_EXECUTION_RPC}
- EN_HEALTHCHECK_PORT=3081 - EN_HEALTHCHECK_PORT=3081
- EN_HTTP_PORT=8545 - EN_HTTP_PORT=8545

View File

@@ -54,7 +54,7 @@ services:
environment: environment:
- DATABASE_POOL_SIZE=50 - DATABASE_POOL_SIZE=50
- DATABASE_URL=postgres://postgres:notsecurepassword@abstract-testnet-archive-db:5430/zksync_local_ext_node - DATABASE_URL=postgres://postgres:notsecurepassword@abstract-testnet-archive-db:5430/zksync_local_ext_node
- EN_API_NAMESAPCES=eth,net,web3,debug,pubsub,debug,zks - EN_API_NAMESPACES=eth,net,web3,debug,pubsub,debug,zks
- EN_ETH_CLIENT_URL=${ETHEREUM_SEPOLIA_EXECUTION_RPC} - EN_ETH_CLIENT_URL=${ETHEREUM_SEPOLIA_EXECUTION_RPC}
- EN_HEALTHCHECK_PORT=3081 - EN_HEALTHCHECK_PORT=3081
- EN_HTTP_PORT=8545 - EN_HTTP_PORT=8545

View File

@@ -54,7 +54,7 @@ services:
environment: environment:
- DATABASE_POOL_SIZE=50 - DATABASE_POOL_SIZE=50
- DATABASE_URL=postgres://postgres:notsecurepassword@abstract-testnet-db:5430/zksync_local_ext_node - DATABASE_URL=postgres://postgres:notsecurepassword@abstract-testnet-db:5430/zksync_local_ext_node
- EN_API_NAMESAPCES=eth,net,web3,debug,pubsub,debug,zks - EN_API_NAMESPACES=eth,net,web3,debug,pubsub,debug,zks
- EN_ETH_CLIENT_URL=${ETHEREUM_SEPOLIA_EXECUTION_RPC} - EN_ETH_CLIENT_URL=${ETHEREUM_SEPOLIA_EXECUTION_RPC}
- EN_HEALTHCHECK_PORT=3081 - EN_HEALTHCHECK_PORT=3081
- EN_HTTP_PORT=8545 - EN_HTTP_PORT=8545

View File

@@ -30,7 +30,7 @@ x-logging-defaults: &logging-defaults
services: services:
alephzero-mainnet-archive: alephzero-mainnet-archive:
image: ${ALEPHZERO_NITRO_IMAGE:-offchainlabs/nitro-node}:${ALEPHZERO_MAINNET_NITRO_VERSION:-v3.11.2-3599aca} image: ${ALEPHZERO_NITRO_IMAGE:-offchainlabs/nitro-node}:${ALEPHZERO_MAINNET_NITRO_VERSION:-v3.11.4-7d5ac27}
sysctls: sysctls:
# TCP Performance # TCP Performance
net.ipv4.tcp_slow_start_after_idle: 0 # Disable slow start after idle net.ipv4.tcp_slow_start_after_idle: 0 # Disable slow start after idle
@@ -52,6 +52,7 @@ services:
- --execution.caching.archive=true - --execution.caching.archive=true
- --execution.caching.database-cache=${ALEPHZERO_MAINNET_NITRO_ARCHIVE_PEBBLE_HASH_DATABASE_CACHE:-2048} - --execution.caching.database-cache=${ALEPHZERO_MAINNET_NITRO_ARCHIVE_PEBBLE_HASH_DATABASE_CACHE:-2048}
- --execution.caching.snapshot-cache=${ALEPHZERO_MAINNET_NITRO_ARCHIVE_PEBBLE_HASH_SNAPSHOT_CACHE:-400} - --execution.caching.snapshot-cache=${ALEPHZERO_MAINNET_NITRO_ARCHIVE_PEBBLE_HASH_SNAPSHOT_CACHE:-400}
- --execution.caching.state-scheme=hash
- --execution.caching.trie-clean-cache=${ALEPHZERO_MAINNET_NITRO_ARCHIVE_PEBBLE_HASH_TRIE_CLEAN_CACHE:-600} - --execution.caching.trie-clean-cache=${ALEPHZERO_MAINNET_NITRO_ARCHIVE_PEBBLE_HASH_TRIE_CLEAN_CACHE:-600}
- --execution.caching.trie-dirty-cache=${ALEPHZERO_MAINNET_NITRO_ARCHIVE_PEBBLE_HASH_TRIE_DIRTY_CACHE:-1024} - --execution.caching.trie-dirty-cache=${ALEPHZERO_MAINNET_NITRO_ARCHIVE_PEBBLE_HASH_TRIE_DIRTY_CACHE:-1024}
- --execution.forwarding-target=https://rpc.alephzero.raas.gelato.cloud - --execution.forwarding-target=https://rpc.alephzero.raas.gelato.cloud
@@ -74,6 +75,7 @@ services:
- --node.sequencer=false - --node.sequencer=false
- --node.staker.enable=false - --node.staker.enable=false
- --parent-chain.blob-client.beacon-url=${ETHEREUM_MAINNET_BEACON_REST} - --parent-chain.blob-client.beacon-url=${ETHEREUM_MAINNET_BEACON_REST}
- --parent-chain.blob-client.secondary-beacon-url=${ETHEREUM_MAINNET_BEACON_REST_FALLBACK}
- --parent-chain.connection.url=${ETHEREUM_MAINNET_EXECUTION_RPC} - --parent-chain.connection.url=${ETHEREUM_MAINNET_EXECUTION_RPC}
- --persistent.chain=/root/.arbitrum/alephzero-mainnet-archive - --persistent.chain=/root/.arbitrum/alephzero-mainnet-archive
- --persistent.db-engine=pebble - --persistent.db-engine=pebble

View File

@@ -30,7 +30,7 @@ x-logging-defaults: &logging-defaults
services: services:
alephzero-mainnet: alephzero-mainnet:
image: ${ALEPHZERO_NITRO_IMAGE:-offchainlabs/nitro-node}:${ALEPHZERO_MAINNET_NITRO_VERSION:-v3.11.2-3599aca} image: ${ALEPHZERO_NITRO_IMAGE:-offchainlabs/nitro-node}:${ALEPHZERO_MAINNET_NITRO_VERSION:-v3.11.4-7d5ac27}
sysctls: sysctls:
# TCP Performance # TCP Performance
net.ipv4.tcp_slow_start_after_idle: 0 # Disable slow start after idle net.ipv4.tcp_slow_start_after_idle: 0 # Disable slow start after idle
@@ -74,6 +74,7 @@ services:
- --node.sequencer=false - --node.sequencer=false
- --node.staker.enable=false - --node.staker.enable=false
- --parent-chain.blob-client.beacon-url=${ETHEREUM_MAINNET_BEACON_REST} - --parent-chain.blob-client.beacon-url=${ETHEREUM_MAINNET_BEACON_REST}
- --parent-chain.blob-client.secondary-beacon-url=${ETHEREUM_MAINNET_BEACON_REST_FALLBACK}
- --parent-chain.connection.url=${ETHEREUM_MAINNET_EXECUTION_RPC} - --parent-chain.connection.url=${ETHEREUM_MAINNET_EXECUTION_RPC}
- --persistent.chain=/root/.arbitrum/alephzero-mainnet - --persistent.chain=/root/.arbitrum/alephzero-mainnet
- --persistent.db-engine=pebble - --persistent.db-engine=pebble

View File

@@ -30,7 +30,7 @@ x-logging-defaults: &logging-defaults
services: services:
alephzero-sepolia-archive: alephzero-sepolia-archive:
image: ${ALEPHZERO_NITRO_IMAGE:-offchainlabs/nitro-node}:${ALEPHZERO_SEPOLIA_NITRO_VERSION:-v3.11.2-3599aca} image: ${ALEPHZERO_NITRO_IMAGE:-offchainlabs/nitro-node}:${ALEPHZERO_SEPOLIA_NITRO_VERSION:-v3.11.4-7d5ac27}
sysctls: sysctls:
# TCP Performance # TCP Performance
net.ipv4.tcp_slow_start_after_idle: 0 # Disable slow start after idle net.ipv4.tcp_slow_start_after_idle: 0 # Disable slow start after idle
@@ -52,6 +52,7 @@ services:
- --execution.caching.archive=true - --execution.caching.archive=true
- --execution.caching.database-cache=${ALEPHZERO_SEPOLIA_NITRO_ARCHIVE_PEBBLE_HASH_DATABASE_CACHE:-2048} - --execution.caching.database-cache=${ALEPHZERO_SEPOLIA_NITRO_ARCHIVE_PEBBLE_HASH_DATABASE_CACHE:-2048}
- --execution.caching.snapshot-cache=${ALEPHZERO_SEPOLIA_NITRO_ARCHIVE_PEBBLE_HASH_SNAPSHOT_CACHE:-400} - --execution.caching.snapshot-cache=${ALEPHZERO_SEPOLIA_NITRO_ARCHIVE_PEBBLE_HASH_SNAPSHOT_CACHE:-400}
- --execution.caching.state-scheme=hash
- --execution.caching.trie-clean-cache=${ALEPHZERO_SEPOLIA_NITRO_ARCHIVE_PEBBLE_HASH_TRIE_CLEAN_CACHE:-600} - --execution.caching.trie-clean-cache=${ALEPHZERO_SEPOLIA_NITRO_ARCHIVE_PEBBLE_HASH_TRIE_CLEAN_CACHE:-600}
- --execution.caching.trie-dirty-cache=${ALEPHZERO_SEPOLIA_NITRO_ARCHIVE_PEBBLE_HASH_TRIE_DIRTY_CACHE:-1024} - --execution.caching.trie-dirty-cache=${ALEPHZERO_SEPOLIA_NITRO_ARCHIVE_PEBBLE_HASH_TRIE_DIRTY_CACHE:-1024}
- --execution.forwarding-target=https://rpc.alephzero-testnet.gelato.digital - --execution.forwarding-target=https://rpc.alephzero-testnet.gelato.digital
@@ -74,6 +75,7 @@ services:
- --node.sequencer=false - --node.sequencer=false
- --node.staker.enable=false - --node.staker.enable=false
- --parent-chain.blob-client.beacon-url=${ETHEREUM_SEPOLIA_BEACON_REST} - --parent-chain.blob-client.beacon-url=${ETHEREUM_SEPOLIA_BEACON_REST}
- --parent-chain.blob-client.secondary-beacon-url=${ETHEREUM_SEPOLIA_BEACON_REST_FALLBACK}
- --parent-chain.connection.url=${ETHEREUM_SEPOLIA_EXECUTION_RPC} - --parent-chain.connection.url=${ETHEREUM_SEPOLIA_EXECUTION_RPC}
- --persistent.chain=/root/.arbitrum/alephzero-sepolia-archive - --persistent.chain=/root/.arbitrum/alephzero-sepolia-archive
- --persistent.db-engine=pebble - --persistent.db-engine=pebble

View File

@@ -30,7 +30,7 @@ x-logging-defaults: &logging-defaults
services: services:
alephzero-sepolia: alephzero-sepolia:
image: ${ALEPHZERO_NITRO_IMAGE:-offchainlabs/nitro-node}:${ALEPHZERO_SEPOLIA_NITRO_VERSION:-v3.11.2-3599aca} image: ${ALEPHZERO_NITRO_IMAGE:-offchainlabs/nitro-node}:${ALEPHZERO_SEPOLIA_NITRO_VERSION:-v3.11.4-7d5ac27}
sysctls: sysctls:
# TCP Performance # TCP Performance
net.ipv4.tcp_slow_start_after_idle: 0 # Disable slow start after idle net.ipv4.tcp_slow_start_after_idle: 0 # Disable slow start after idle
@@ -74,6 +74,7 @@ services:
- --node.sequencer=false - --node.sequencer=false
- --node.staker.enable=false - --node.staker.enable=false
- --parent-chain.blob-client.beacon-url=${ETHEREUM_SEPOLIA_BEACON_REST} - --parent-chain.blob-client.beacon-url=${ETHEREUM_SEPOLIA_BEACON_REST}
- --parent-chain.blob-client.secondary-beacon-url=${ETHEREUM_SEPOLIA_BEACON_REST_FALLBACK}
- --parent-chain.connection.url=${ETHEREUM_SEPOLIA_EXECUTION_RPC} - --parent-chain.connection.url=${ETHEREUM_SEPOLIA_EXECUTION_RPC}
- --persistent.chain=/root/.arbitrum/alephzero-sepolia - --persistent.chain=/root/.arbitrum/alephzero-sepolia
- --persistent.db-engine=pebble - --persistent.db-engine=pebble

View File

@@ -30,7 +30,7 @@ x-logging-defaults: &logging-defaults
services: services:
apechain-mainnet-archive: apechain-mainnet-archive:
image: ${APECHAIN_NITRO_IMAGE:-public.ecr.aws/i6b2w2n6/nitro-node}:${APECHAIN_MAINNET_NITRO_VERSION:-apechain-v3.5.6} image: ${APECHAIN_NITRO_IMAGE:-public.ecr.aws/i6b2w2n6/nitro-node}:${APECHAIN_MAINNET_NITRO_VERSION:-apechain-3.9.9}
sysctls: sysctls:
# TCP Performance # TCP Performance
net.ipv4.tcp_slow_start_after_idle: 0 # Disable slow start after idle net.ipv4.tcp_slow_start_after_idle: 0 # Disable slow start after idle
@@ -52,6 +52,7 @@ services:
- --execution.caching.archive=true - --execution.caching.archive=true
- --execution.caching.database-cache=${APECHAIN_MAINNET_NITRO_ARCHIVE_PEBBLE_HASH_DATABASE_CACHE:-2048} - --execution.caching.database-cache=${APECHAIN_MAINNET_NITRO_ARCHIVE_PEBBLE_HASH_DATABASE_CACHE:-2048}
- --execution.caching.snapshot-cache=${APECHAIN_MAINNET_NITRO_ARCHIVE_PEBBLE_HASH_SNAPSHOT_CACHE:-400} - --execution.caching.snapshot-cache=${APECHAIN_MAINNET_NITRO_ARCHIVE_PEBBLE_HASH_SNAPSHOT_CACHE:-400}
- --execution.caching.state-scheme=hash
- --execution.caching.trie-clean-cache=${APECHAIN_MAINNET_NITRO_ARCHIVE_PEBBLE_HASH_TRIE_CLEAN_CACHE:-600} - --execution.caching.trie-clean-cache=${APECHAIN_MAINNET_NITRO_ARCHIVE_PEBBLE_HASH_TRIE_CLEAN_CACHE:-600}
- --execution.caching.trie-dirty-cache=${APECHAIN_MAINNET_NITRO_ARCHIVE_PEBBLE_HASH_TRIE_DIRTY_CACHE:-1024} - --execution.caching.trie-dirty-cache=${APECHAIN_MAINNET_NITRO_ARCHIVE_PEBBLE_HASH_TRIE_DIRTY_CACHE:-1024}
- --execution.forwarding-target=https://rpc.apechain.com/http - --execution.forwarding-target=https://rpc.apechain.com/http

View File

@@ -30,7 +30,7 @@ x-logging-defaults: &logging-defaults
services: services:
apechain-mainnet: apechain-mainnet:
image: ${APECHAIN_NITRO_IMAGE:-public.ecr.aws/i6b2w2n6/nitro-node}:${APECHAIN_MAINNET_NITRO_VERSION:-apechain-v3.5.6} image: ${APECHAIN_NITRO_IMAGE:-public.ecr.aws/i6b2w2n6/nitro-node}:${APECHAIN_MAINNET_NITRO_VERSION:-apechain-3.9.9}
sysctls: sysctls:
# TCP Performance # TCP Performance
net.ipv4.tcp_slow_start_after_idle: 0 # Disable slow start after idle net.ipv4.tcp_slow_start_after_idle: 0 # Disable slow start after idle

View File

@@ -30,7 +30,7 @@ x-logging-defaults: &logging-defaults
services: services:
arbitrum-nova-archive: arbitrum-nova-archive:
image: ${ARBITRUM_NITRO_IMAGE:-offchainlabs/nitro-node}:${ARBITRUM_NOVA_NITRO_VERSION:-v3.11.2-3599aca} image: ${ARBITRUM_NITRO_IMAGE:-offchainlabs/nitro-node}:${ARBITRUM_NOVA_NITRO_VERSION:-v3.11.4-7d5ac27}
sysctls: sysctls:
# TCP Performance # TCP Performance
net.ipv4.tcp_slow_start_after_idle: 0 # Disable slow start after idle net.ipv4.tcp_slow_start_after_idle: 0 # Disable slow start after idle
@@ -52,6 +52,7 @@ services:
- --execution.caching.archive=true - --execution.caching.archive=true
- --execution.caching.database-cache=${ARBITRUM_NOVA_NITRO_ARCHIVE_LEVELDB_HASH_DATABASE_CACHE:-2048} - --execution.caching.database-cache=${ARBITRUM_NOVA_NITRO_ARCHIVE_LEVELDB_HASH_DATABASE_CACHE:-2048}
- --execution.caching.snapshot-cache=${ARBITRUM_NOVA_NITRO_ARCHIVE_LEVELDB_HASH_SNAPSHOT_CACHE:-400} - --execution.caching.snapshot-cache=${ARBITRUM_NOVA_NITRO_ARCHIVE_LEVELDB_HASH_SNAPSHOT_CACHE:-400}
- --execution.caching.state-scheme=hash
- --execution.caching.trie-clean-cache=${ARBITRUM_NOVA_NITRO_ARCHIVE_LEVELDB_HASH_TRIE_CLEAN_CACHE:-600} - --execution.caching.trie-clean-cache=${ARBITRUM_NOVA_NITRO_ARCHIVE_LEVELDB_HASH_TRIE_CLEAN_CACHE:-600}
- --execution.caching.trie-dirty-cache=${ARBITRUM_NOVA_NITRO_ARCHIVE_LEVELDB_HASH_TRIE_DIRTY_CACHE:-1024} - --execution.caching.trie-dirty-cache=${ARBITRUM_NOVA_NITRO_ARCHIVE_LEVELDB_HASH_TRIE_DIRTY_CACHE:-1024}
- --execution.rpc.gas-cap=5500000000 - --execution.rpc.gas-cap=5500000000
@@ -69,6 +70,7 @@ services:
- --node.sequencer=false - --node.sequencer=false
- --node.staker.enable=false - --node.staker.enable=false
- --parent-chain.blob-client.beacon-url=${ETHEREUM_MAINNET_BEACON_REST} - --parent-chain.blob-client.beacon-url=${ETHEREUM_MAINNET_BEACON_REST}
- --parent-chain.blob-client.secondary-beacon-url=${ETHEREUM_MAINNET_BEACON_REST_FALLBACK}
- --parent-chain.connection.url=${ETHEREUM_MAINNET_EXECUTION_RPC} - --parent-chain.connection.url=${ETHEREUM_MAINNET_EXECUTION_RPC}
- --persistent.chain=/root/.arbitrum/arbitrum-nova-archive - --persistent.chain=/root/.arbitrum/arbitrum-nova-archive
- --ws.addr=0.0.0.0 - --ws.addr=0.0.0.0

View File

@@ -30,7 +30,7 @@ x-logging-defaults: &logging-defaults
services: services:
arbitrum-nova-archive: arbitrum-nova-archive:
image: ${ARBITRUM_NITRO_IMAGE:-offchainlabs/nitro-node}:${ARBITRUM_NOVA_NITRO_VERSION:-v3.11.2-3599aca} image: ${ARBITRUM_NITRO_IMAGE:-offchainlabs/nitro-node}:${ARBITRUM_NOVA_NITRO_VERSION:-v3.11.4-7d5ac27}
sysctls: sysctls:
# TCP Performance # TCP Performance
net.ipv4.tcp_slow_start_after_idle: 0 # Disable slow start after idle net.ipv4.tcp_slow_start_after_idle: 0 # Disable slow start after idle
@@ -69,6 +69,7 @@ services:
- --node.sequencer=false - --node.sequencer=false
- --node.staker.enable=false - --node.staker.enable=false
- --parent-chain.blob-client.beacon-url=${ETHEREUM_MAINNET_BEACON_REST} - --parent-chain.blob-client.beacon-url=${ETHEREUM_MAINNET_BEACON_REST}
- --parent-chain.blob-client.secondary-beacon-url=${ETHEREUM_MAINNET_BEACON_REST_FALLBACK}
- --parent-chain.connection.url=${ETHEREUM_MAINNET_EXECUTION_RPC} - --parent-chain.connection.url=${ETHEREUM_MAINNET_EXECUTION_RPC}
- --persistent.chain=/root/.arbitrum/arbitrum-nova-archive - --persistent.chain=/root/.arbitrum/arbitrum-nova-archive
- --persistent.db-engine=pebble - --persistent.db-engine=pebble

View File

@@ -30,7 +30,7 @@ x-logging-defaults: &logging-defaults
services: services:
arbitrum-nova-minimal: arbitrum-nova-minimal:
image: ${ARBITRUM_NITRO_IMAGE:-offchainlabs/nitro-node}:${ARBITRUM_NOVA_NITRO_VERSION:-v3.11.2-3599aca} image: ${ARBITRUM_NITRO_IMAGE:-offchainlabs/nitro-node}:${ARBITRUM_NOVA_NITRO_VERSION:-v3.11.4-7d5ac27}
sysctls: sysctls:
# TCP Performance # TCP Performance
net.ipv4.tcp_slow_start_after_idle: 0 # Disable slow start after idle net.ipv4.tcp_slow_start_after_idle: 0 # Disable slow start after idle
@@ -52,6 +52,7 @@ services:
- --execution.caching.archive=${ARBITRUM_NOVA_MINIMAL_ARCHIVE_DB:-false} - --execution.caching.archive=${ARBITRUM_NOVA_MINIMAL_ARCHIVE_DB:-false}
- --execution.caching.database-cache=${ARBITRUM_NOVA_NITRO_MINIMAL_PEBBLE_HASH_DATABASE_CACHE:-2048} - --execution.caching.database-cache=${ARBITRUM_NOVA_NITRO_MINIMAL_PEBBLE_HASH_DATABASE_CACHE:-2048}
- --execution.caching.snapshot-cache=${ARBITRUM_NOVA_NITRO_MINIMAL_PEBBLE_HASH_SNAPSHOT_CACHE:-400} - --execution.caching.snapshot-cache=${ARBITRUM_NOVA_NITRO_MINIMAL_PEBBLE_HASH_SNAPSHOT_CACHE:-400}
- --execution.caching.state-scheme=hash
- --execution.caching.trie-clean-cache=${ARBITRUM_NOVA_NITRO_MINIMAL_PEBBLE_HASH_TRIE_CLEAN_CACHE:-600} - --execution.caching.trie-clean-cache=${ARBITRUM_NOVA_NITRO_MINIMAL_PEBBLE_HASH_TRIE_CLEAN_CACHE:-600}
- --execution.caching.trie-dirty-cache=${ARBITRUM_NOVA_NITRO_MINIMAL_PEBBLE_HASH_TRIE_DIRTY_CACHE:-1024} - --execution.caching.trie-dirty-cache=${ARBITRUM_NOVA_NITRO_MINIMAL_PEBBLE_HASH_TRIE_DIRTY_CACHE:-1024}
- --execution.rpc.gas-cap=5500000000 - --execution.rpc.gas-cap=5500000000
@@ -70,6 +71,7 @@ services:
- --node.sequencer=false - --node.sequencer=false
- --node.staker.enable=false - --node.staker.enable=false
- --parent-chain.blob-client.beacon-url=${ETHEREUM_MAINNET_BEACON_REST} - --parent-chain.blob-client.beacon-url=${ETHEREUM_MAINNET_BEACON_REST}
- --parent-chain.blob-client.secondary-beacon-url=${ETHEREUM_MAINNET_BEACON_REST_FALLBACK}
- --parent-chain.connection.url=${ETHEREUM_MAINNET_EXECUTION_RPC} - --parent-chain.connection.url=${ETHEREUM_MAINNET_EXECUTION_RPC}
- --persistent.chain=/root/.arbitrum/arbitrum-nova-minimal - --persistent.chain=/root/.arbitrum/arbitrum-nova-minimal
- --persistent.db-engine=pebble - --persistent.db-engine=pebble

View File

@@ -30,7 +30,7 @@ x-logging-defaults: &logging-defaults
services: services:
arbitrum-nova-minimal: arbitrum-nova-minimal:
image: ${ARBITRUM_NITRO_IMAGE:-offchainlabs/nitro-node}:${ARBITRUM_NOVA_NITRO_VERSION:-v3.11.2-3599aca} image: ${ARBITRUM_NITRO_IMAGE:-offchainlabs/nitro-node}:${ARBITRUM_NOVA_NITRO_VERSION:-v3.11.4-7d5ac27}
sysctls: sysctls:
# TCP Performance # TCP Performance
net.ipv4.tcp_slow_start_after_idle: 0 # Disable slow start after idle net.ipv4.tcp_slow_start_after_idle: 0 # Disable slow start after idle
@@ -52,6 +52,7 @@ services:
- --execution.caching.archive=${ARBITRUM_NOVA_MINIMAL_ARCHIVE_DB:-false} - --execution.caching.archive=${ARBITRUM_NOVA_MINIMAL_ARCHIVE_DB:-false}
- --execution.caching.database-cache=${ARBITRUM_NOVA_NITRO_MINIMAL_PEBBLE_HASH_DATABASE_CACHE:-2048} - --execution.caching.database-cache=${ARBITRUM_NOVA_NITRO_MINIMAL_PEBBLE_HASH_DATABASE_CACHE:-2048}
- --execution.caching.snapshot-cache=${ARBITRUM_NOVA_NITRO_MINIMAL_PEBBLE_HASH_SNAPSHOT_CACHE:-400} - --execution.caching.snapshot-cache=${ARBITRUM_NOVA_NITRO_MINIMAL_PEBBLE_HASH_SNAPSHOT_CACHE:-400}
- --execution.caching.state-scheme=hash
- --execution.caching.trie-clean-cache=${ARBITRUM_NOVA_NITRO_MINIMAL_PEBBLE_HASH_TRIE_CLEAN_CACHE:-600} - --execution.caching.trie-clean-cache=${ARBITRUM_NOVA_NITRO_MINIMAL_PEBBLE_HASH_TRIE_CLEAN_CACHE:-600}
- --execution.caching.trie-dirty-cache=${ARBITRUM_NOVA_NITRO_MINIMAL_PEBBLE_HASH_TRIE_DIRTY_CACHE:-1024} - --execution.caching.trie-dirty-cache=${ARBITRUM_NOVA_NITRO_MINIMAL_PEBBLE_HASH_TRIE_DIRTY_CACHE:-1024}
- --execution.rpc.gas-cap=5500000000 - --execution.rpc.gas-cap=5500000000
@@ -69,6 +70,7 @@ services:
- --node.sequencer=false - --node.sequencer=false
- --node.staker.enable=false - --node.staker.enable=false
- --parent-chain.blob-client.beacon-url=${ETHEREUM_MAINNET_BEACON_REST} - --parent-chain.blob-client.beacon-url=${ETHEREUM_MAINNET_BEACON_REST}
- --parent-chain.blob-client.secondary-beacon-url=${ETHEREUM_MAINNET_BEACON_REST_FALLBACK}
- --parent-chain.connection.url=${ETHEREUM_MAINNET_EXECUTION_RPC} - --parent-chain.connection.url=${ETHEREUM_MAINNET_EXECUTION_RPC}
- --persistent.chain=/root/.arbitrum/arbitrum-nova-minimal - --persistent.chain=/root/.arbitrum/arbitrum-nova-minimal
- --persistent.db-engine=pebble - --persistent.db-engine=pebble

View File

@@ -30,7 +30,7 @@ x-logging-defaults: &logging-defaults
services: services:
arbitrum-nova: arbitrum-nova:
image: ${ARBITRUM_NITRO_IMAGE:-offchainlabs/nitro-node}:${ARBITRUM_NOVA_NITRO_VERSION:-v3.11.2-3599aca} image: ${ARBITRUM_NITRO_IMAGE:-offchainlabs/nitro-node}:${ARBITRUM_NOVA_NITRO_VERSION:-v3.11.4-7d5ac27}
sysctls: sysctls:
# TCP Performance # TCP Performance
net.ipv4.tcp_slow_start_after_idle: 0 # Disable slow start after idle net.ipv4.tcp_slow_start_after_idle: 0 # Disable slow start after idle
@@ -52,6 +52,7 @@ services:
- --execution.caching.archive=${ARBITRUM_NOVA_ARCHIVE_DB:-false} - --execution.caching.archive=${ARBITRUM_NOVA_ARCHIVE_DB:-false}
- --execution.caching.database-cache=${ARBITRUM_NOVA_NITRO_PRUNED_PEBBLE_HASH_DATABASE_CACHE:-2048} - --execution.caching.database-cache=${ARBITRUM_NOVA_NITRO_PRUNED_PEBBLE_HASH_DATABASE_CACHE:-2048}
- --execution.caching.snapshot-cache=${ARBITRUM_NOVA_NITRO_PRUNED_PEBBLE_HASH_SNAPSHOT_CACHE:-400} - --execution.caching.snapshot-cache=${ARBITRUM_NOVA_NITRO_PRUNED_PEBBLE_HASH_SNAPSHOT_CACHE:-400}
- --execution.caching.state-scheme=hash
- --execution.caching.trie-clean-cache=${ARBITRUM_NOVA_NITRO_PRUNED_PEBBLE_HASH_TRIE_CLEAN_CACHE:-600} - --execution.caching.trie-clean-cache=${ARBITRUM_NOVA_NITRO_PRUNED_PEBBLE_HASH_TRIE_CLEAN_CACHE:-600}
- --execution.caching.trie-dirty-cache=${ARBITRUM_NOVA_NITRO_PRUNED_PEBBLE_HASH_TRIE_DIRTY_CACHE:-1024} - --execution.caching.trie-dirty-cache=${ARBITRUM_NOVA_NITRO_PRUNED_PEBBLE_HASH_TRIE_DIRTY_CACHE:-1024}
- --execution.rpc.gas-cap=5500000000 - --execution.rpc.gas-cap=5500000000
@@ -70,6 +71,7 @@ services:
- --node.sequencer=false - --node.sequencer=false
- --node.staker.enable=false - --node.staker.enable=false
- --parent-chain.blob-client.beacon-url=${ETHEREUM_MAINNET_BEACON_REST} - --parent-chain.blob-client.beacon-url=${ETHEREUM_MAINNET_BEACON_REST}
- --parent-chain.blob-client.secondary-beacon-url=${ETHEREUM_MAINNET_BEACON_REST_FALLBACK}
- --parent-chain.connection.url=${ETHEREUM_MAINNET_EXECUTION_RPC} - --parent-chain.connection.url=${ETHEREUM_MAINNET_EXECUTION_RPC}
- --persistent.chain=/root/.arbitrum/arbitrum-nova - --persistent.chain=/root/.arbitrum/arbitrum-nova
- --persistent.db-engine=pebble - --persistent.db-engine=pebble

View File

@@ -30,7 +30,7 @@ x-logging-defaults: &logging-defaults
services: services:
arbitrum-nova: arbitrum-nova:
image: ${ARBITRUM_NITRO_IMAGE:-offchainlabs/nitro-node}:${ARBITRUM_NOVA_NITRO_VERSION:-v3.11.2-3599aca} image: ${ARBITRUM_NITRO_IMAGE:-offchainlabs/nitro-node}:${ARBITRUM_NOVA_NITRO_VERSION:-v3.11.4-7d5ac27}
sysctls: sysctls:
# TCP Performance # TCP Performance
net.ipv4.tcp_slow_start_after_idle: 0 # Disable slow start after idle net.ipv4.tcp_slow_start_after_idle: 0 # Disable slow start after idle
@@ -52,6 +52,7 @@ services:
- --execution.caching.archive=${ARBITRUM_NOVA_ARCHIVE_DB:-false} - --execution.caching.archive=${ARBITRUM_NOVA_ARCHIVE_DB:-false}
- --execution.caching.database-cache=${ARBITRUM_NOVA_NITRO_PRUNED_PEBBLE_HASH_DATABASE_CACHE:-2048} - --execution.caching.database-cache=${ARBITRUM_NOVA_NITRO_PRUNED_PEBBLE_HASH_DATABASE_CACHE:-2048}
- --execution.caching.snapshot-cache=${ARBITRUM_NOVA_NITRO_PRUNED_PEBBLE_HASH_SNAPSHOT_CACHE:-400} - --execution.caching.snapshot-cache=${ARBITRUM_NOVA_NITRO_PRUNED_PEBBLE_HASH_SNAPSHOT_CACHE:-400}
- --execution.caching.state-scheme=hash
- --execution.caching.trie-clean-cache=${ARBITRUM_NOVA_NITRO_PRUNED_PEBBLE_HASH_TRIE_CLEAN_CACHE:-600} - --execution.caching.trie-clean-cache=${ARBITRUM_NOVA_NITRO_PRUNED_PEBBLE_HASH_TRIE_CLEAN_CACHE:-600}
- --execution.caching.trie-dirty-cache=${ARBITRUM_NOVA_NITRO_PRUNED_PEBBLE_HASH_TRIE_DIRTY_CACHE:-1024} - --execution.caching.trie-dirty-cache=${ARBITRUM_NOVA_NITRO_PRUNED_PEBBLE_HASH_TRIE_DIRTY_CACHE:-1024}
- --execution.rpc.gas-cap=5500000000 - --execution.rpc.gas-cap=5500000000
@@ -69,6 +70,7 @@ services:
- --node.sequencer=false - --node.sequencer=false
- --node.staker.enable=false - --node.staker.enable=false
- --parent-chain.blob-client.beacon-url=${ETHEREUM_MAINNET_BEACON_REST} - --parent-chain.blob-client.beacon-url=${ETHEREUM_MAINNET_BEACON_REST}
- --parent-chain.blob-client.secondary-beacon-url=${ETHEREUM_MAINNET_BEACON_REST_FALLBACK}
- --parent-chain.connection.url=${ETHEREUM_MAINNET_EXECUTION_RPC} - --parent-chain.connection.url=${ETHEREUM_MAINNET_EXECUTION_RPC}
- --persistent.chain=/root/.arbitrum/arbitrum-nova - --persistent.chain=/root/.arbitrum/arbitrum-nova
- --persistent.db-engine=pebble - --persistent.db-engine=pebble

View File

@@ -30,7 +30,7 @@ x-logging-defaults: &logging-defaults
services: services:
arbitrum-one-archive: arbitrum-one-archive:
image: ${ARBITRUM_NITRO_IMAGE:-offchainlabs/nitro-node}:${ARBITRUM_ONE_NITRO_VERSION:-v3.11.2-3599aca} image: ${ARBITRUM_NITRO_IMAGE:-offchainlabs/nitro-node}:${ARBITRUM_ONE_NITRO_VERSION:-v3.11.4-7d5ac27}
sysctls: sysctls:
# TCP Performance # TCP Performance
net.ipv4.tcp_slow_start_after_idle: 0 # Disable slow start after idle net.ipv4.tcp_slow_start_after_idle: 0 # Disable slow start after idle
@@ -52,6 +52,7 @@ services:
- --execution.caching.archive=true - --execution.caching.archive=true
- --execution.caching.database-cache=${ARBITRUM_ONE_NITRO_ARCHIVE_LEVELDB_HASH_DATABASE_CACHE:-2048} - --execution.caching.database-cache=${ARBITRUM_ONE_NITRO_ARCHIVE_LEVELDB_HASH_DATABASE_CACHE:-2048}
- --execution.caching.snapshot-cache=${ARBITRUM_ONE_NITRO_ARCHIVE_LEVELDB_HASH_SNAPSHOT_CACHE:-400} - --execution.caching.snapshot-cache=${ARBITRUM_ONE_NITRO_ARCHIVE_LEVELDB_HASH_SNAPSHOT_CACHE:-400}
- --execution.caching.state-scheme=hash
- --execution.caching.trie-clean-cache=${ARBITRUM_ONE_NITRO_ARCHIVE_LEVELDB_HASH_TRIE_CLEAN_CACHE:-600} - --execution.caching.trie-clean-cache=${ARBITRUM_ONE_NITRO_ARCHIVE_LEVELDB_HASH_TRIE_CLEAN_CACHE:-600}
- --execution.caching.trie-dirty-cache=${ARBITRUM_ONE_NITRO_ARCHIVE_LEVELDB_HASH_TRIE_DIRTY_CACHE:-1024} - --execution.caching.trie-dirty-cache=${ARBITRUM_ONE_NITRO_ARCHIVE_LEVELDB_HASH_TRIE_DIRTY_CACHE:-1024}
- --execution.rpc.classic-redirect=http://arbitrum-one-arbnode-archive:8545 - --execution.rpc.classic-redirect=http://arbitrum-one-arbnode-archive:8545
@@ -70,6 +71,7 @@ services:
- --node.sequencer=false - --node.sequencer=false
- --node.staker.enable=false - --node.staker.enable=false
- --parent-chain.blob-client.beacon-url=${ETHEREUM_MAINNET_BEACON_REST} - --parent-chain.blob-client.beacon-url=${ETHEREUM_MAINNET_BEACON_REST}
- --parent-chain.blob-client.secondary-beacon-url=${ETHEREUM_MAINNET_BEACON_REST_FALLBACK}
- --parent-chain.connection.url=${ETHEREUM_MAINNET_EXECUTION_RPC} - --parent-chain.connection.url=${ETHEREUM_MAINNET_EXECUTION_RPC}
- --persistent.chain=/root/.arbitrum/arbitrum-one-archive - --persistent.chain=/root/.arbitrum/arbitrum-one-archive
- --ws.addr=0.0.0.0 - --ws.addr=0.0.0.0

View File

@@ -30,7 +30,7 @@ x-logging-defaults: &logging-defaults
services: services:
arbitrum-one-archive: arbitrum-one-archive:
image: ${ARBITRUM_NITRO_IMAGE:-offchainlabs/nitro-node}:${ARBITRUM_ONE_NITRO_VERSION:-v3.11.2-3599aca} image: ${ARBITRUM_NITRO_IMAGE:-offchainlabs/nitro-node}:${ARBITRUM_ONE_NITRO_VERSION:-v3.11.4-7d5ac27}
sysctls: sysctls:
# TCP Performance # TCP Performance
net.ipv4.tcp_slow_start_after_idle: 0 # Disable slow start after idle net.ipv4.tcp_slow_start_after_idle: 0 # Disable slow start after idle
@@ -52,6 +52,7 @@ services:
- --execution.caching.archive=true - --execution.caching.archive=true
- --execution.caching.database-cache=${ARBITRUM_ONE_NITRO_ARCHIVE_PEBBLE_HASH_DATABASE_CACHE:-2048} - --execution.caching.database-cache=${ARBITRUM_ONE_NITRO_ARCHIVE_PEBBLE_HASH_DATABASE_CACHE:-2048}
- --execution.caching.snapshot-cache=${ARBITRUM_ONE_NITRO_ARCHIVE_PEBBLE_HASH_SNAPSHOT_CACHE:-400} - --execution.caching.snapshot-cache=${ARBITRUM_ONE_NITRO_ARCHIVE_PEBBLE_HASH_SNAPSHOT_CACHE:-400}
- --execution.caching.state-scheme=hash
- --execution.caching.trie-clean-cache=${ARBITRUM_ONE_NITRO_ARCHIVE_PEBBLE_HASH_TRIE_CLEAN_CACHE:-600} - --execution.caching.trie-clean-cache=${ARBITRUM_ONE_NITRO_ARCHIVE_PEBBLE_HASH_TRIE_CLEAN_CACHE:-600}
- --execution.caching.trie-dirty-cache=${ARBITRUM_ONE_NITRO_ARCHIVE_PEBBLE_HASH_TRIE_DIRTY_CACHE:-1024} - --execution.caching.trie-dirty-cache=${ARBITRUM_ONE_NITRO_ARCHIVE_PEBBLE_HASH_TRIE_DIRTY_CACHE:-1024}
- --execution.rpc.classic-redirect=http://arbitrum-one-arbnode-archive:8545 - --execution.rpc.classic-redirect=http://arbitrum-one-arbnode-archive:8545
@@ -70,6 +71,7 @@ services:
- --node.sequencer=false - --node.sequencer=false
- --node.staker.enable=false - --node.staker.enable=false
- --parent-chain.blob-client.beacon-url=${ETHEREUM_MAINNET_BEACON_REST} - --parent-chain.blob-client.beacon-url=${ETHEREUM_MAINNET_BEACON_REST}
- --parent-chain.blob-client.secondary-beacon-url=${ETHEREUM_MAINNET_BEACON_REST_FALLBACK}
- --parent-chain.connection.url=${ETHEREUM_MAINNET_EXECUTION_RPC} - --parent-chain.connection.url=${ETHEREUM_MAINNET_EXECUTION_RPC}
- --persistent.chain=/root/.arbitrum/arbitrum-one-archive - --persistent.chain=/root/.arbitrum/arbitrum-one-archive
- --persistent.db-engine=pebble - --persistent.db-engine=pebble

View File

@@ -30,7 +30,7 @@ x-logging-defaults: &logging-defaults
services: services:
arbitrum-one-archive: arbitrum-one-archive:
image: ${ARBITRUM_NITRO_IMAGE:-offchainlabs/nitro-node}:${ARBITRUM_ONE_NITRO_VERSION:-v3.11.2-3599aca} image: ${ARBITRUM_NITRO_IMAGE:-offchainlabs/nitro-node}:${ARBITRUM_ONE_NITRO_VERSION:-v3.11.4-7d5ac27}
sysctls: sysctls:
# TCP Performance # TCP Performance
net.ipv4.tcp_slow_start_after_idle: 0 # Disable slow start after idle net.ipv4.tcp_slow_start_after_idle: 0 # Disable slow start after idle
@@ -69,6 +69,7 @@ services:
- --node.sequencer=false - --node.sequencer=false
- --node.staker.enable=false - --node.staker.enable=false
- --parent-chain.blob-client.beacon-url=${ETHEREUM_MAINNET_BEACON_REST} - --parent-chain.blob-client.beacon-url=${ETHEREUM_MAINNET_BEACON_REST}
- --parent-chain.blob-client.secondary-beacon-url=${ETHEREUM_MAINNET_BEACON_REST_FALLBACK}
- --parent-chain.connection.url=${ETHEREUM_MAINNET_EXECUTION_RPC} - --parent-chain.connection.url=${ETHEREUM_MAINNET_EXECUTION_RPC}
- --persistent.chain=/root/.arbitrum/arbitrum-one-archive - --persistent.chain=/root/.arbitrum/arbitrum-one-archive
- --persistent.db-engine=pebble - --persistent.db-engine=pebble

View File

@@ -30,7 +30,7 @@ x-logging-defaults: &logging-defaults
services: services:
arbitrum-one-minimal: arbitrum-one-minimal:
image: ${ARBITRUM_NITRO_IMAGE:-offchainlabs/nitro-node}:${ARBITRUM_ONE_NITRO_VERSION:-v3.11.2-3599aca} image: ${ARBITRUM_NITRO_IMAGE:-offchainlabs/nitro-node}:${ARBITRUM_ONE_NITRO_VERSION:-v3.11.4-7d5ac27}
sysctls: sysctls:
# TCP Performance # TCP Performance
net.ipv4.tcp_slow_start_after_idle: 0 # Disable slow start after idle net.ipv4.tcp_slow_start_after_idle: 0 # Disable slow start after idle
@@ -52,6 +52,7 @@ services:
- --execution.caching.archive=${ARBITRUM_ONE_MINIMAL_ARCHIVE_DB:-false} - --execution.caching.archive=${ARBITRUM_ONE_MINIMAL_ARCHIVE_DB:-false}
- --execution.caching.database-cache=${ARBITRUM_ONE_NITRO_MINIMAL_PEBBLE_HASH_DATABASE_CACHE:-2048} - --execution.caching.database-cache=${ARBITRUM_ONE_NITRO_MINIMAL_PEBBLE_HASH_DATABASE_CACHE:-2048}
- --execution.caching.snapshot-cache=${ARBITRUM_ONE_NITRO_MINIMAL_PEBBLE_HASH_SNAPSHOT_CACHE:-400} - --execution.caching.snapshot-cache=${ARBITRUM_ONE_NITRO_MINIMAL_PEBBLE_HASH_SNAPSHOT_CACHE:-400}
- --execution.caching.state-scheme=hash
- --execution.caching.trie-clean-cache=${ARBITRUM_ONE_NITRO_MINIMAL_PEBBLE_HASH_TRIE_CLEAN_CACHE:-600} - --execution.caching.trie-clean-cache=${ARBITRUM_ONE_NITRO_MINIMAL_PEBBLE_HASH_TRIE_CLEAN_CACHE:-600}
- --execution.caching.trie-dirty-cache=${ARBITRUM_ONE_NITRO_MINIMAL_PEBBLE_HASH_TRIE_DIRTY_CACHE:-1024} - --execution.caching.trie-dirty-cache=${ARBITRUM_ONE_NITRO_MINIMAL_PEBBLE_HASH_TRIE_DIRTY_CACHE:-1024}
- --execution.rpc.gas-cap=5500000000 - --execution.rpc.gas-cap=5500000000
@@ -70,6 +71,7 @@ services:
- --node.sequencer=false - --node.sequencer=false
- --node.staker.enable=false - --node.staker.enable=false
- --parent-chain.blob-client.beacon-url=${ETHEREUM_MAINNET_BEACON_REST} - --parent-chain.blob-client.beacon-url=${ETHEREUM_MAINNET_BEACON_REST}
- --parent-chain.blob-client.secondary-beacon-url=${ETHEREUM_MAINNET_BEACON_REST_FALLBACK}
- --parent-chain.connection.url=${ETHEREUM_MAINNET_EXECUTION_RPC} - --parent-chain.connection.url=${ETHEREUM_MAINNET_EXECUTION_RPC}
- --persistent.chain=/root/.arbitrum/arbitrum-one-minimal - --persistent.chain=/root/.arbitrum/arbitrum-one-minimal
- --persistent.db-engine=pebble - --persistent.db-engine=pebble

View File

@@ -30,7 +30,7 @@ x-logging-defaults: &logging-defaults
services: services:
arbitrum-one-minimal: arbitrum-one-minimal:
image: ${ARBITRUM_NITRO_IMAGE:-offchainlabs/nitro-node}:${ARBITRUM_ONE_NITRO_VERSION:-v3.11.2-3599aca} image: ${ARBITRUM_NITRO_IMAGE:-offchainlabs/nitro-node}:${ARBITRUM_ONE_NITRO_VERSION:-v3.11.4-7d5ac27}
sysctls: sysctls:
# TCP Performance # TCP Performance
net.ipv4.tcp_slow_start_after_idle: 0 # Disable slow start after idle net.ipv4.tcp_slow_start_after_idle: 0 # Disable slow start after idle
@@ -52,6 +52,7 @@ services:
- --execution.caching.archive=${ARBITRUM_ONE_MINIMAL_ARCHIVE_DB:-false} - --execution.caching.archive=${ARBITRUM_ONE_MINIMAL_ARCHIVE_DB:-false}
- --execution.caching.database-cache=${ARBITRUM_ONE_NITRO_MINIMAL_PEBBLE_HASH_DATABASE_CACHE:-2048} - --execution.caching.database-cache=${ARBITRUM_ONE_NITRO_MINIMAL_PEBBLE_HASH_DATABASE_CACHE:-2048}
- --execution.caching.snapshot-cache=${ARBITRUM_ONE_NITRO_MINIMAL_PEBBLE_HASH_SNAPSHOT_CACHE:-400} - --execution.caching.snapshot-cache=${ARBITRUM_ONE_NITRO_MINIMAL_PEBBLE_HASH_SNAPSHOT_CACHE:-400}
- --execution.caching.state-scheme=hash
- --execution.caching.trie-clean-cache=${ARBITRUM_ONE_NITRO_MINIMAL_PEBBLE_HASH_TRIE_CLEAN_CACHE:-600} - --execution.caching.trie-clean-cache=${ARBITRUM_ONE_NITRO_MINIMAL_PEBBLE_HASH_TRIE_CLEAN_CACHE:-600}
- --execution.caching.trie-dirty-cache=${ARBITRUM_ONE_NITRO_MINIMAL_PEBBLE_HASH_TRIE_DIRTY_CACHE:-1024} - --execution.caching.trie-dirty-cache=${ARBITRUM_ONE_NITRO_MINIMAL_PEBBLE_HASH_TRIE_DIRTY_CACHE:-1024}
- --execution.rpc.gas-cap=5500000000 - --execution.rpc.gas-cap=5500000000
@@ -69,6 +70,7 @@ services:
- --node.sequencer=false - --node.sequencer=false
- --node.staker.enable=false - --node.staker.enable=false
- --parent-chain.blob-client.beacon-url=${ETHEREUM_MAINNET_BEACON_REST} - --parent-chain.blob-client.beacon-url=${ETHEREUM_MAINNET_BEACON_REST}
- --parent-chain.blob-client.secondary-beacon-url=${ETHEREUM_MAINNET_BEACON_REST_FALLBACK}
- --parent-chain.connection.url=${ETHEREUM_MAINNET_EXECUTION_RPC} - --parent-chain.connection.url=${ETHEREUM_MAINNET_EXECUTION_RPC}
- --persistent.chain=/root/.arbitrum/arbitrum-one-minimal - --persistent.chain=/root/.arbitrum/arbitrum-one-minimal
- --persistent.db-engine=pebble - --persistent.db-engine=pebble

View File

@@ -53,6 +53,7 @@ services:
- --execution.caching.archive=${ARBITRUM_ONE_ARCHIVE_DB:-false} - --execution.caching.archive=${ARBITRUM_ONE_ARCHIVE_DB:-false}
- --execution.caching.database-cache=${ARBITRUM_ONE_NITRO_PRUNED_PEBBLE_HASH_DATABASE_CACHE:-2048} - --execution.caching.database-cache=${ARBITRUM_ONE_NITRO_PRUNED_PEBBLE_HASH_DATABASE_CACHE:-2048}
- --execution.caching.snapshot-cache=${ARBITRUM_ONE_NITRO_PRUNED_PEBBLE_HASH_SNAPSHOT_CACHE:-400} - --execution.caching.snapshot-cache=${ARBITRUM_ONE_NITRO_PRUNED_PEBBLE_HASH_SNAPSHOT_CACHE:-400}
- --execution.caching.state-scheme=hash
- --execution.caching.trie-clean-cache=${ARBITRUM_ONE_NITRO_PRUNED_PEBBLE_HASH_TRIE_CLEAN_CACHE:-600} - --execution.caching.trie-clean-cache=${ARBITRUM_ONE_NITRO_PRUNED_PEBBLE_HASH_TRIE_CLEAN_CACHE:-600}
- --execution.caching.trie-dirty-cache=${ARBITRUM_ONE_NITRO_PRUNED_PEBBLE_HASH_TRIE_DIRTY_CACHE:-1024} - --execution.caching.trie-dirty-cache=${ARBITRUM_ONE_NITRO_PRUNED_PEBBLE_HASH_TRIE_DIRTY_CACHE:-1024}
- --execution.rpc.gas-cap=5500000000 - --execution.rpc.gas-cap=5500000000
@@ -71,6 +72,7 @@ services:
- --node.sequencer=false - --node.sequencer=false
- --node.staker.enable=false - --node.staker.enable=false
- --parent-chain.blob-client.beacon-url=${ETHEREUM_MAINNET_BEACON_REST} - --parent-chain.blob-client.beacon-url=${ETHEREUM_MAINNET_BEACON_REST}
- --parent-chain.blob-client.secondary-beacon-url=${ETHEREUM_MAINNET_BEACON_REST_FALLBACK}
- --parent-chain.connection.url=${ETHEREUM_MAINNET_EXECUTION_RPC} - --parent-chain.connection.url=${ETHEREUM_MAINNET_EXECUTION_RPC}
- --persistent.chain=/root/.arbitrum/arbitrum-one - --persistent.chain=/root/.arbitrum/arbitrum-one
- --persistent.db-engine=pebble - --persistent.db-engine=pebble

View File

@@ -53,6 +53,7 @@ services:
- --execution.caching.archive=${ARBITRUM_ONE_ARCHIVE_DB:-false} - --execution.caching.archive=${ARBITRUM_ONE_ARCHIVE_DB:-false}
- --execution.caching.database-cache=${ARBITRUM_ONE_NITRO_PRUNED_PEBBLE_HASH_DATABASE_CACHE:-2048} - --execution.caching.database-cache=${ARBITRUM_ONE_NITRO_PRUNED_PEBBLE_HASH_DATABASE_CACHE:-2048}
- --execution.caching.snapshot-cache=${ARBITRUM_ONE_NITRO_PRUNED_PEBBLE_HASH_SNAPSHOT_CACHE:-400} - --execution.caching.snapshot-cache=${ARBITRUM_ONE_NITRO_PRUNED_PEBBLE_HASH_SNAPSHOT_CACHE:-400}
- --execution.caching.state-scheme=hash
- --execution.caching.trie-clean-cache=${ARBITRUM_ONE_NITRO_PRUNED_PEBBLE_HASH_TRIE_CLEAN_CACHE:-600} - --execution.caching.trie-clean-cache=${ARBITRUM_ONE_NITRO_PRUNED_PEBBLE_HASH_TRIE_CLEAN_CACHE:-600}
- --execution.caching.trie-dirty-cache=${ARBITRUM_ONE_NITRO_PRUNED_PEBBLE_HASH_TRIE_DIRTY_CACHE:-1024} - --execution.caching.trie-dirty-cache=${ARBITRUM_ONE_NITRO_PRUNED_PEBBLE_HASH_TRIE_DIRTY_CACHE:-1024}
- --execution.rpc.gas-cap=5500000000 - --execution.rpc.gas-cap=5500000000
@@ -70,6 +71,7 @@ services:
- --node.sequencer=false - --node.sequencer=false
- --node.staker.enable=false - --node.staker.enable=false
- --parent-chain.blob-client.beacon-url=${ETHEREUM_MAINNET_BEACON_REST} - --parent-chain.blob-client.beacon-url=${ETHEREUM_MAINNET_BEACON_REST}
- --parent-chain.blob-client.secondary-beacon-url=${ETHEREUM_MAINNET_BEACON_REST_FALLBACK}
- --parent-chain.connection.url=${ETHEREUM_MAINNET_EXECUTION_RPC} - --parent-chain.connection.url=${ETHEREUM_MAINNET_EXECUTION_RPC}
- --persistent.chain=/root/.arbitrum/arbitrum-one - --persistent.chain=/root/.arbitrum/arbitrum-one
- --persistent.db-engine=pebble - --persistent.db-engine=pebble

View File

@@ -30,7 +30,7 @@ x-logging-defaults: &logging-defaults
services: services:
arbitrum-one: arbitrum-one:
image: ${ARBITRUM_NITRO_IMAGE:-offchainlabs/nitro-node}:${ARBITRUM_ONE_NITRO_VERSION:-v3.11.2-3599aca} image: ${ARBITRUM_NITRO_IMAGE:-offchainlabs/nitro-node}:${ARBITRUM_ONE_NITRO_VERSION:-v3.11.4-7d5ac27}
sysctls: sysctls:
# TCP Performance # TCP Performance
net.ipv4.tcp_slow_start_after_idle: 0 # Disable slow start after idle net.ipv4.tcp_slow_start_after_idle: 0 # Disable slow start after idle
@@ -52,6 +52,7 @@ services:
- --execution.caching.archive=${ARBITRUM_ONE_ARCHIVE_DB:-false} - --execution.caching.archive=${ARBITRUM_ONE_ARCHIVE_DB:-false}
- --execution.caching.database-cache=${ARBITRUM_ONE_NITRO_PRUNED_PEBBLE_HASH_DATABASE_CACHE:-2048} - --execution.caching.database-cache=${ARBITRUM_ONE_NITRO_PRUNED_PEBBLE_HASH_DATABASE_CACHE:-2048}
- --execution.caching.snapshot-cache=${ARBITRUM_ONE_NITRO_PRUNED_PEBBLE_HASH_SNAPSHOT_CACHE:-400} - --execution.caching.snapshot-cache=${ARBITRUM_ONE_NITRO_PRUNED_PEBBLE_HASH_SNAPSHOT_CACHE:-400}
- --execution.caching.state-scheme=hash
- --execution.caching.trie-clean-cache=${ARBITRUM_ONE_NITRO_PRUNED_PEBBLE_HASH_TRIE_CLEAN_CACHE:-600} - --execution.caching.trie-clean-cache=${ARBITRUM_ONE_NITRO_PRUNED_PEBBLE_HASH_TRIE_CLEAN_CACHE:-600}
- --execution.caching.trie-dirty-cache=${ARBITRUM_ONE_NITRO_PRUNED_PEBBLE_HASH_TRIE_DIRTY_CACHE:-1024} - --execution.caching.trie-dirty-cache=${ARBITRUM_ONE_NITRO_PRUNED_PEBBLE_HASH_TRIE_DIRTY_CACHE:-1024}
- --execution.rpc.gas-cap=5500000000 - --execution.rpc.gas-cap=5500000000
@@ -70,6 +71,7 @@ services:
- --node.sequencer=false - --node.sequencer=false
- --node.staker.enable=false - --node.staker.enable=false
- --parent-chain.blob-client.beacon-url=${ETHEREUM_MAINNET_BEACON_REST} - --parent-chain.blob-client.beacon-url=${ETHEREUM_MAINNET_BEACON_REST}
- --parent-chain.blob-client.secondary-beacon-url=${ETHEREUM_MAINNET_BEACON_REST_FALLBACK}
- --parent-chain.connection.url=${ETHEREUM_MAINNET_EXECUTION_RPC} - --parent-chain.connection.url=${ETHEREUM_MAINNET_EXECUTION_RPC}
- --persistent.chain=/root/.arbitrum/arbitrum-one - --persistent.chain=/root/.arbitrum/arbitrum-one
- --persistent.db-engine=pebble - --persistent.db-engine=pebble

View File

@@ -30,7 +30,7 @@ x-logging-defaults: &logging-defaults
services: services:
arbitrum-one: arbitrum-one:
image: ${ARBITRUM_NITRO_IMAGE:-offchainlabs/nitro-node}:${ARBITRUM_ONE_NITRO_VERSION:-v3.11.2-3599aca} image: ${ARBITRUM_NITRO_IMAGE:-offchainlabs/nitro-node}:${ARBITRUM_ONE_NITRO_VERSION:-v3.11.4-7d5ac27}
sysctls: sysctls:
# TCP Performance # TCP Performance
net.ipv4.tcp_slow_start_after_idle: 0 # Disable slow start after idle net.ipv4.tcp_slow_start_after_idle: 0 # Disable slow start after idle
@@ -52,6 +52,7 @@ services:
- --execution.caching.archive=${ARBITRUM_ONE_ARCHIVE_DB:-false} - --execution.caching.archive=${ARBITRUM_ONE_ARCHIVE_DB:-false}
- --execution.caching.database-cache=${ARBITRUM_ONE_NITRO_PRUNED_PEBBLE_HASH_DATABASE_CACHE:-2048} - --execution.caching.database-cache=${ARBITRUM_ONE_NITRO_PRUNED_PEBBLE_HASH_DATABASE_CACHE:-2048}
- --execution.caching.snapshot-cache=${ARBITRUM_ONE_NITRO_PRUNED_PEBBLE_HASH_SNAPSHOT_CACHE:-400} - --execution.caching.snapshot-cache=${ARBITRUM_ONE_NITRO_PRUNED_PEBBLE_HASH_SNAPSHOT_CACHE:-400}
- --execution.caching.state-scheme=hash
- --execution.caching.trie-clean-cache=${ARBITRUM_ONE_NITRO_PRUNED_PEBBLE_HASH_TRIE_CLEAN_CACHE:-600} - --execution.caching.trie-clean-cache=${ARBITRUM_ONE_NITRO_PRUNED_PEBBLE_HASH_TRIE_CLEAN_CACHE:-600}
- --execution.caching.trie-dirty-cache=${ARBITRUM_ONE_NITRO_PRUNED_PEBBLE_HASH_TRIE_DIRTY_CACHE:-1024} - --execution.caching.trie-dirty-cache=${ARBITRUM_ONE_NITRO_PRUNED_PEBBLE_HASH_TRIE_DIRTY_CACHE:-1024}
- --execution.rpc.gas-cap=5500000000 - --execution.rpc.gas-cap=5500000000
@@ -69,6 +70,7 @@ services:
- --node.sequencer=false - --node.sequencer=false
- --node.staker.enable=false - --node.staker.enable=false
- --parent-chain.blob-client.beacon-url=${ETHEREUM_MAINNET_BEACON_REST} - --parent-chain.blob-client.beacon-url=${ETHEREUM_MAINNET_BEACON_REST}
- --parent-chain.blob-client.secondary-beacon-url=${ETHEREUM_MAINNET_BEACON_REST_FALLBACK}
- --parent-chain.connection.url=${ETHEREUM_MAINNET_EXECUTION_RPC} - --parent-chain.connection.url=${ETHEREUM_MAINNET_EXECUTION_RPC}
- --persistent.chain=/root/.arbitrum/arbitrum-one - --persistent.chain=/root/.arbitrum/arbitrum-one
- --persistent.db-engine=pebble - --persistent.db-engine=pebble

View File

@@ -30,7 +30,7 @@ x-logging-defaults: &logging-defaults
services: services:
arbitrum-sepolia-archive: arbitrum-sepolia-archive:
image: ${ARBITRUM_NITRO_IMAGE:-offchainlabs/nitro-node}:${ARBITRUM_SEPOLIA_NITRO_VERSION:-v3.11.2-3599aca} image: ${ARBITRUM_NITRO_IMAGE:-offchainlabs/nitro-node}:${ARBITRUM_SEPOLIA_NITRO_VERSION:-v3.11.4-7d5ac27}
sysctls: sysctls:
# TCP Performance # TCP Performance
net.ipv4.tcp_slow_start_after_idle: 0 # Disable slow start after idle net.ipv4.tcp_slow_start_after_idle: 0 # Disable slow start after idle
@@ -52,6 +52,7 @@ services:
- --execution.caching.archive=true - --execution.caching.archive=true
- --execution.caching.database-cache=${ARBITRUM_SEPOLIA_NITRO_ARCHIVE_PEBBLE_HASH_DATABASE_CACHE:-2048} - --execution.caching.database-cache=${ARBITRUM_SEPOLIA_NITRO_ARCHIVE_PEBBLE_HASH_DATABASE_CACHE:-2048}
- --execution.caching.snapshot-cache=${ARBITRUM_SEPOLIA_NITRO_ARCHIVE_PEBBLE_HASH_SNAPSHOT_CACHE:-400} - --execution.caching.snapshot-cache=${ARBITRUM_SEPOLIA_NITRO_ARCHIVE_PEBBLE_HASH_SNAPSHOT_CACHE:-400}
- --execution.caching.state-scheme=hash
- --execution.caching.trie-clean-cache=${ARBITRUM_SEPOLIA_NITRO_ARCHIVE_PEBBLE_HASH_TRIE_CLEAN_CACHE:-600} - --execution.caching.trie-clean-cache=${ARBITRUM_SEPOLIA_NITRO_ARCHIVE_PEBBLE_HASH_TRIE_CLEAN_CACHE:-600}
- --execution.caching.trie-dirty-cache=${ARBITRUM_SEPOLIA_NITRO_ARCHIVE_PEBBLE_HASH_TRIE_DIRTY_CACHE:-1024} - --execution.caching.trie-dirty-cache=${ARBITRUM_SEPOLIA_NITRO_ARCHIVE_PEBBLE_HASH_TRIE_DIRTY_CACHE:-1024}
- --execution.rpc.gas-cap=5500000000 - --execution.rpc.gas-cap=5500000000
@@ -70,6 +71,7 @@ services:
- --node.sequencer=false - --node.sequencer=false
- --node.staker.enable=false - --node.staker.enable=false
- --parent-chain.blob-client.beacon-url=${ETHEREUM_SEPOLIA_BEACON_REST} - --parent-chain.blob-client.beacon-url=${ETHEREUM_SEPOLIA_BEACON_REST}
- --parent-chain.blob-client.secondary-beacon-url=${ETHEREUM_SEPOLIA_BEACON_REST_FALLBACK}
- --parent-chain.connection.url=${ETHEREUM_SEPOLIA_EXECUTION_RPC} - --parent-chain.connection.url=${ETHEREUM_SEPOLIA_EXECUTION_RPC}
- --persistent.chain=/root/.arbitrum/arbitrum-sepolia-archive - --persistent.chain=/root/.arbitrum/arbitrum-sepolia-archive
- --persistent.db-engine=pebble - --persistent.db-engine=pebble

View File

@@ -30,7 +30,7 @@ x-logging-defaults: &logging-defaults
services: services:
arbitrum-sepolia-minimal: arbitrum-sepolia-minimal:
image: ${ARBITRUM_NITRO_IMAGE:-offchainlabs/nitro-node}:${ARBITRUM_SEPOLIA_NITRO_VERSION:-v3.11.2-3599aca} image: ${ARBITRUM_NITRO_IMAGE:-offchainlabs/nitro-node}:${ARBITRUM_SEPOLIA_NITRO_VERSION:-v3.11.4-7d5ac27}
sysctls: sysctls:
# TCP Performance # TCP Performance
net.ipv4.tcp_slow_start_after_idle: 0 # Disable slow start after idle net.ipv4.tcp_slow_start_after_idle: 0 # Disable slow start after idle
@@ -52,6 +52,7 @@ services:
- --execution.caching.archive=${ARBITRUM_SEPOLIA_MINIMAL_ARCHIVE_DB:-false} - --execution.caching.archive=${ARBITRUM_SEPOLIA_MINIMAL_ARCHIVE_DB:-false}
- --execution.caching.database-cache=${ARBITRUM_SEPOLIA_NITRO_MINIMAL_PEBBLE_HASH_DATABASE_CACHE:-2048} - --execution.caching.database-cache=${ARBITRUM_SEPOLIA_NITRO_MINIMAL_PEBBLE_HASH_DATABASE_CACHE:-2048}
- --execution.caching.snapshot-cache=${ARBITRUM_SEPOLIA_NITRO_MINIMAL_PEBBLE_HASH_SNAPSHOT_CACHE:-400} - --execution.caching.snapshot-cache=${ARBITRUM_SEPOLIA_NITRO_MINIMAL_PEBBLE_HASH_SNAPSHOT_CACHE:-400}
- --execution.caching.state-scheme=hash
- --execution.caching.trie-clean-cache=${ARBITRUM_SEPOLIA_NITRO_MINIMAL_PEBBLE_HASH_TRIE_CLEAN_CACHE:-600} - --execution.caching.trie-clean-cache=${ARBITRUM_SEPOLIA_NITRO_MINIMAL_PEBBLE_HASH_TRIE_CLEAN_CACHE:-600}
- --execution.caching.trie-dirty-cache=${ARBITRUM_SEPOLIA_NITRO_MINIMAL_PEBBLE_HASH_TRIE_DIRTY_CACHE:-1024} - --execution.caching.trie-dirty-cache=${ARBITRUM_SEPOLIA_NITRO_MINIMAL_PEBBLE_HASH_TRIE_DIRTY_CACHE:-1024}
- --execution.rpc.gas-cap=5500000000 - --execution.rpc.gas-cap=5500000000
@@ -71,6 +72,7 @@ services:
- --node.sequencer=false - --node.sequencer=false
- --node.staker.enable=false - --node.staker.enable=false
- --parent-chain.blob-client.beacon-url=${ETHEREUM_SEPOLIA_BEACON_REST} - --parent-chain.blob-client.beacon-url=${ETHEREUM_SEPOLIA_BEACON_REST}
- --parent-chain.blob-client.secondary-beacon-url=${ETHEREUM_SEPOLIA_BEACON_REST_FALLBACK}
- --parent-chain.connection.url=${ETHEREUM_SEPOLIA_EXECUTION_RPC} - --parent-chain.connection.url=${ETHEREUM_SEPOLIA_EXECUTION_RPC}
- --persistent.chain=/root/.arbitrum/arbitrum-sepolia-minimal - --persistent.chain=/root/.arbitrum/arbitrum-sepolia-minimal
- --persistent.db-engine=pebble - --persistent.db-engine=pebble

View File

@@ -30,7 +30,7 @@ x-logging-defaults: &logging-defaults
services: services:
arbitrum-sepolia-minimal: arbitrum-sepolia-minimal:
image: ${ARBITRUM_NITRO_IMAGE:-offchainlabs/nitro-node}:${ARBITRUM_SEPOLIA_NITRO_VERSION:-v3.11.2-3599aca} image: ${ARBITRUM_NITRO_IMAGE:-offchainlabs/nitro-node}:${ARBITRUM_SEPOLIA_NITRO_VERSION:-v3.11.4-7d5ac27}
sysctls: sysctls:
# TCP Performance # TCP Performance
net.ipv4.tcp_slow_start_after_idle: 0 # Disable slow start after idle net.ipv4.tcp_slow_start_after_idle: 0 # Disable slow start after idle
@@ -52,6 +52,7 @@ services:
- --execution.caching.archive=${ARBITRUM_SEPOLIA_MINIMAL_ARCHIVE_DB:-false} - --execution.caching.archive=${ARBITRUM_SEPOLIA_MINIMAL_ARCHIVE_DB:-false}
- --execution.caching.database-cache=${ARBITRUM_SEPOLIA_NITRO_MINIMAL_PEBBLE_HASH_DATABASE_CACHE:-2048} - --execution.caching.database-cache=${ARBITRUM_SEPOLIA_NITRO_MINIMAL_PEBBLE_HASH_DATABASE_CACHE:-2048}
- --execution.caching.snapshot-cache=${ARBITRUM_SEPOLIA_NITRO_MINIMAL_PEBBLE_HASH_SNAPSHOT_CACHE:-400} - --execution.caching.snapshot-cache=${ARBITRUM_SEPOLIA_NITRO_MINIMAL_PEBBLE_HASH_SNAPSHOT_CACHE:-400}
- --execution.caching.state-scheme=hash
- --execution.caching.trie-clean-cache=${ARBITRUM_SEPOLIA_NITRO_MINIMAL_PEBBLE_HASH_TRIE_CLEAN_CACHE:-600} - --execution.caching.trie-clean-cache=${ARBITRUM_SEPOLIA_NITRO_MINIMAL_PEBBLE_HASH_TRIE_CLEAN_CACHE:-600}
- --execution.caching.trie-dirty-cache=${ARBITRUM_SEPOLIA_NITRO_MINIMAL_PEBBLE_HASH_TRIE_DIRTY_CACHE:-1024} - --execution.caching.trie-dirty-cache=${ARBITRUM_SEPOLIA_NITRO_MINIMAL_PEBBLE_HASH_TRIE_DIRTY_CACHE:-1024}
- --execution.rpc.gas-cap=5500000000 - --execution.rpc.gas-cap=5500000000
@@ -70,6 +71,7 @@ services:
- --node.sequencer=false - --node.sequencer=false
- --node.staker.enable=false - --node.staker.enable=false
- --parent-chain.blob-client.beacon-url=${ETHEREUM_SEPOLIA_BEACON_REST} - --parent-chain.blob-client.beacon-url=${ETHEREUM_SEPOLIA_BEACON_REST}
- --parent-chain.blob-client.secondary-beacon-url=${ETHEREUM_SEPOLIA_BEACON_REST_FALLBACK}
- --parent-chain.connection.url=${ETHEREUM_SEPOLIA_EXECUTION_RPC} - --parent-chain.connection.url=${ETHEREUM_SEPOLIA_EXECUTION_RPC}
- --persistent.chain=/root/.arbitrum/arbitrum-sepolia-minimal - --persistent.chain=/root/.arbitrum/arbitrum-sepolia-minimal
- --persistent.db-engine=pebble - --persistent.db-engine=pebble

View File

@@ -30,7 +30,7 @@ x-logging-defaults: &logging-defaults
services: services:
arbitrum-sepolia: arbitrum-sepolia:
image: ${ARBITRUM_NITRO_IMAGE:-offchainlabs/nitro-node}:${ARBITRUM_SEPOLIA_NITRO_VERSION:-v3.11.2-3599aca} image: ${ARBITRUM_NITRO_IMAGE:-offchainlabs/nitro-node}:${ARBITRUM_SEPOLIA_NITRO_VERSION:-v3.11.4-7d5ac27}
sysctls: sysctls:
# TCP Performance # TCP Performance
net.ipv4.tcp_slow_start_after_idle: 0 # Disable slow start after idle net.ipv4.tcp_slow_start_after_idle: 0 # Disable slow start after idle
@@ -52,6 +52,7 @@ services:
- --execution.caching.archive=${ARBITRUM_SEPOLIA_ARCHIVE_DB:-false} - --execution.caching.archive=${ARBITRUM_SEPOLIA_ARCHIVE_DB:-false}
- --execution.caching.database-cache=${ARBITRUM_SEPOLIA_NITRO_PRUNED_PEBBLE_HASH_DATABASE_CACHE:-2048} - --execution.caching.database-cache=${ARBITRUM_SEPOLIA_NITRO_PRUNED_PEBBLE_HASH_DATABASE_CACHE:-2048}
- --execution.caching.snapshot-cache=${ARBITRUM_SEPOLIA_NITRO_PRUNED_PEBBLE_HASH_SNAPSHOT_CACHE:-400} - --execution.caching.snapshot-cache=${ARBITRUM_SEPOLIA_NITRO_PRUNED_PEBBLE_HASH_SNAPSHOT_CACHE:-400}
- --execution.caching.state-scheme=hash
- --execution.caching.trie-clean-cache=${ARBITRUM_SEPOLIA_NITRO_PRUNED_PEBBLE_HASH_TRIE_CLEAN_CACHE:-600} - --execution.caching.trie-clean-cache=${ARBITRUM_SEPOLIA_NITRO_PRUNED_PEBBLE_HASH_TRIE_CLEAN_CACHE:-600}
- --execution.caching.trie-dirty-cache=${ARBITRUM_SEPOLIA_NITRO_PRUNED_PEBBLE_HASH_TRIE_DIRTY_CACHE:-1024} - --execution.caching.trie-dirty-cache=${ARBITRUM_SEPOLIA_NITRO_PRUNED_PEBBLE_HASH_TRIE_DIRTY_CACHE:-1024}
- --execution.rpc.gas-cap=5500000000 - --execution.rpc.gas-cap=5500000000
@@ -71,6 +72,7 @@ services:
- --node.sequencer=false - --node.sequencer=false
- --node.staker.enable=false - --node.staker.enable=false
- --parent-chain.blob-client.beacon-url=${ETHEREUM_SEPOLIA_BEACON_REST} - --parent-chain.blob-client.beacon-url=${ETHEREUM_SEPOLIA_BEACON_REST}
- --parent-chain.blob-client.secondary-beacon-url=${ETHEREUM_SEPOLIA_BEACON_REST_FALLBACK}
- --parent-chain.connection.url=${ETHEREUM_SEPOLIA_EXECUTION_RPC} - --parent-chain.connection.url=${ETHEREUM_SEPOLIA_EXECUTION_RPC}
- --persistent.chain=/root/.arbitrum/arbitrum-sepolia - --persistent.chain=/root/.arbitrum/arbitrum-sepolia
- --persistent.db-engine=pebble - --persistent.db-engine=pebble

View File

@@ -30,7 +30,7 @@ x-logging-defaults: &logging-defaults
services: services:
arbitrum-sepolia: arbitrum-sepolia:
image: ${ARBITRUM_NITRO_IMAGE:-offchainlabs/nitro-node}:${ARBITRUM_SEPOLIA_NITRO_VERSION:-v3.11.2-3599aca} image: ${ARBITRUM_NITRO_IMAGE:-offchainlabs/nitro-node}:${ARBITRUM_SEPOLIA_NITRO_VERSION:-v3.11.4-7d5ac27}
sysctls: sysctls:
# TCP Performance # TCP Performance
net.ipv4.tcp_slow_start_after_idle: 0 # Disable slow start after idle net.ipv4.tcp_slow_start_after_idle: 0 # Disable slow start after idle
@@ -52,6 +52,7 @@ services:
- --execution.caching.archive=${ARBITRUM_SEPOLIA_ARCHIVE_DB:-false} - --execution.caching.archive=${ARBITRUM_SEPOLIA_ARCHIVE_DB:-false}
- --execution.caching.database-cache=${ARBITRUM_SEPOLIA_NITRO_PRUNED_PEBBLE_HASH_DATABASE_CACHE:-2048} - --execution.caching.database-cache=${ARBITRUM_SEPOLIA_NITRO_PRUNED_PEBBLE_HASH_DATABASE_CACHE:-2048}
- --execution.caching.snapshot-cache=${ARBITRUM_SEPOLIA_NITRO_PRUNED_PEBBLE_HASH_SNAPSHOT_CACHE:-400} - --execution.caching.snapshot-cache=${ARBITRUM_SEPOLIA_NITRO_PRUNED_PEBBLE_HASH_SNAPSHOT_CACHE:-400}
- --execution.caching.state-scheme=hash
- --execution.caching.trie-clean-cache=${ARBITRUM_SEPOLIA_NITRO_PRUNED_PEBBLE_HASH_TRIE_CLEAN_CACHE:-600} - --execution.caching.trie-clean-cache=${ARBITRUM_SEPOLIA_NITRO_PRUNED_PEBBLE_HASH_TRIE_CLEAN_CACHE:-600}
- --execution.caching.trie-dirty-cache=${ARBITRUM_SEPOLIA_NITRO_PRUNED_PEBBLE_HASH_TRIE_DIRTY_CACHE:-1024} - --execution.caching.trie-dirty-cache=${ARBITRUM_SEPOLIA_NITRO_PRUNED_PEBBLE_HASH_TRIE_DIRTY_CACHE:-1024}
- --execution.rpc.gas-cap=5500000000 - --execution.rpc.gas-cap=5500000000
@@ -70,6 +71,7 @@ services:
- --node.sequencer=false - --node.sequencer=false
- --node.staker.enable=false - --node.staker.enable=false
- --parent-chain.blob-client.beacon-url=${ETHEREUM_SEPOLIA_BEACON_REST} - --parent-chain.blob-client.beacon-url=${ETHEREUM_SEPOLIA_BEACON_REST}
- --parent-chain.blob-client.secondary-beacon-url=${ETHEREUM_SEPOLIA_BEACON_REST_FALLBACK}
- --parent-chain.connection.url=${ETHEREUM_SEPOLIA_EXECUTION_RPC} - --parent-chain.connection.url=${ETHEREUM_SEPOLIA_EXECUTION_RPC}
- --persistent.chain=/root/.arbitrum/arbitrum-sepolia - --persistent.chain=/root/.arbitrum/arbitrum-sepolia
- --persistent.db-engine=pebble - --persistent.db-engine=pebble

View File

@@ -30,7 +30,7 @@ x-logging-defaults: &logging-defaults
services: services:
connext-sepolia-archive: connext-sepolia-archive:
image: ${CONNEXT_NITRO_IMAGE:-offchainlabs/nitro-node}:${CONNEXT_SEPOLIA_NITRO_VERSION:-v3.11.2-3599aca} image: ${CONNEXT_NITRO_IMAGE:-offchainlabs/nitro-node}:${CONNEXT_SEPOLIA_NITRO_VERSION:-v3.11.4-7d5ac27}
sysctls: sysctls:
# TCP Performance # TCP Performance
net.ipv4.tcp_slow_start_after_idle: 0 # Disable slow start after idle net.ipv4.tcp_slow_start_after_idle: 0 # Disable slow start after idle
@@ -52,6 +52,7 @@ services:
- --execution.caching.archive=true - --execution.caching.archive=true
- --execution.caching.database-cache=${CONNEXT_SEPOLIA_NITRO_ARCHIVE_LEVELDB_HASH_DATABASE_CACHE:-2048} - --execution.caching.database-cache=${CONNEXT_SEPOLIA_NITRO_ARCHIVE_LEVELDB_HASH_DATABASE_CACHE:-2048}
- --execution.caching.snapshot-cache=${CONNEXT_SEPOLIA_NITRO_ARCHIVE_LEVELDB_HASH_SNAPSHOT_CACHE:-400} - --execution.caching.snapshot-cache=${CONNEXT_SEPOLIA_NITRO_ARCHIVE_LEVELDB_HASH_SNAPSHOT_CACHE:-400}
- --execution.caching.state-scheme=hash
- --execution.caching.trie-clean-cache=${CONNEXT_SEPOLIA_NITRO_ARCHIVE_LEVELDB_HASH_TRIE_CLEAN_CACHE:-600} - --execution.caching.trie-clean-cache=${CONNEXT_SEPOLIA_NITRO_ARCHIVE_LEVELDB_HASH_TRIE_CLEAN_CACHE:-600}
- --execution.caching.trie-dirty-cache=${CONNEXT_SEPOLIA_NITRO_ARCHIVE_LEVELDB_HASH_TRIE_DIRTY_CACHE:-1024} - --execution.caching.trie-dirty-cache=${CONNEXT_SEPOLIA_NITRO_ARCHIVE_LEVELDB_HASH_TRIE_DIRTY_CACHE:-1024}
- --execution.forwarding-target=https://rpc.connext-sepolia.gelato.digital - --execution.forwarding-target=https://rpc.connext-sepolia.gelato.digital
@@ -74,6 +75,7 @@ services:
- --node.sequencer=false - --node.sequencer=false
- --node.staker.enable=false - --node.staker.enable=false
- --parent-chain.blob-client.beacon-url=${ETHEREUM_SEPOLIA_BEACON_REST} - --parent-chain.blob-client.beacon-url=${ETHEREUM_SEPOLIA_BEACON_REST}
- --parent-chain.blob-client.secondary-beacon-url=${ETHEREUM_SEPOLIA_BEACON_REST_FALLBACK}
- --parent-chain.connection.url=${ETHEREUM_SEPOLIA_EXECUTION_RPC} - --parent-chain.connection.url=${ETHEREUM_SEPOLIA_EXECUTION_RPC}
- --persistent.chain=/root/.arbitrum/connext-sepolia-archive - --persistent.chain=/root/.arbitrum/connext-sepolia-archive
- --ws.addr=0.0.0.0 - --ws.addr=0.0.0.0

View File

@@ -30,7 +30,7 @@ x-logging-defaults: &logging-defaults
services: services:
connext-sepolia: connext-sepolia:
image: ${CONNEXT_NITRO_IMAGE:-offchainlabs/nitro-node}:${CONNEXT_SEPOLIA_NITRO_VERSION:-v3.11.2-3599aca} image: ${CONNEXT_NITRO_IMAGE:-offchainlabs/nitro-node}:${CONNEXT_SEPOLIA_NITRO_VERSION:-v3.11.4-7d5ac27}
sysctls: sysctls:
# TCP Performance # TCP Performance
net.ipv4.tcp_slow_start_after_idle: 0 # Disable slow start after idle net.ipv4.tcp_slow_start_after_idle: 0 # Disable slow start after idle
@@ -74,6 +74,7 @@ services:
- --node.sequencer=false - --node.sequencer=false
- --node.staker.enable=false - --node.staker.enable=false
- --parent-chain.blob-client.beacon-url=${ETHEREUM_SEPOLIA_BEACON_REST} - --parent-chain.blob-client.beacon-url=${ETHEREUM_SEPOLIA_BEACON_REST}
- --parent-chain.blob-client.secondary-beacon-url=${ETHEREUM_SEPOLIA_BEACON_REST_FALLBACK}
- --parent-chain.connection.url=${ETHEREUM_SEPOLIA_EXECUTION_RPC} - --parent-chain.connection.url=${ETHEREUM_SEPOLIA_EXECUTION_RPC}
- --persistent.chain=/root/.arbitrum/connext-sepolia - --persistent.chain=/root/.arbitrum/connext-sepolia
- --persistent.db-engine=pebble - --persistent.db-engine=pebble

View File

@@ -30,7 +30,7 @@ x-logging-defaults: &logging-defaults
services: services:
everclear-mainnet-archive: everclear-mainnet-archive:
image: ${EVERCLEAR_NITRO_IMAGE:-offchainlabs/nitro-node}:${EVERCLEAR_MAINNET_NITRO_VERSION:-v3.11.2-3599aca} image: ${EVERCLEAR_NITRO_IMAGE:-offchainlabs/nitro-node}:${EVERCLEAR_MAINNET_NITRO_VERSION:-v3.11.4-7d5ac27}
sysctls: sysctls:
# TCP Performance # TCP Performance
net.ipv4.tcp_slow_start_after_idle: 0 # Disable slow start after idle net.ipv4.tcp_slow_start_after_idle: 0 # Disable slow start after idle
@@ -52,6 +52,7 @@ services:
- --execution.caching.archive=true - --execution.caching.archive=true
- --execution.caching.database-cache=${EVERCLEAR_MAINNET_NITRO_ARCHIVE_LEVELDB_HASH_DATABASE_CACHE:-2048} - --execution.caching.database-cache=${EVERCLEAR_MAINNET_NITRO_ARCHIVE_LEVELDB_HASH_DATABASE_CACHE:-2048}
- --execution.caching.snapshot-cache=${EVERCLEAR_MAINNET_NITRO_ARCHIVE_LEVELDB_HASH_SNAPSHOT_CACHE:-400} - --execution.caching.snapshot-cache=${EVERCLEAR_MAINNET_NITRO_ARCHIVE_LEVELDB_HASH_SNAPSHOT_CACHE:-400}
- --execution.caching.state-scheme=hash
- --execution.caching.trie-clean-cache=${EVERCLEAR_MAINNET_NITRO_ARCHIVE_LEVELDB_HASH_TRIE_CLEAN_CACHE:-600} - --execution.caching.trie-clean-cache=${EVERCLEAR_MAINNET_NITRO_ARCHIVE_LEVELDB_HASH_TRIE_CLEAN_CACHE:-600}
- --execution.caching.trie-dirty-cache=${EVERCLEAR_MAINNET_NITRO_ARCHIVE_LEVELDB_HASH_TRIE_DIRTY_CACHE:-1024} - --execution.caching.trie-dirty-cache=${EVERCLEAR_MAINNET_NITRO_ARCHIVE_LEVELDB_HASH_TRIE_DIRTY_CACHE:-1024}
- --execution.forwarding-target=https://rpc.everclear.raas.gelato.cloud - --execution.forwarding-target=https://rpc.everclear.raas.gelato.cloud
@@ -74,6 +75,7 @@ services:
- --node.sequencer=false - --node.sequencer=false
- --node.staker.enable=false - --node.staker.enable=false
- --parent-chain.blob-client.beacon-url=${ETHEREUM_MAINNET_BEACON_REST} - --parent-chain.blob-client.beacon-url=${ETHEREUM_MAINNET_BEACON_REST}
- --parent-chain.blob-client.secondary-beacon-url=${ETHEREUM_MAINNET_BEACON_REST_FALLBACK}
- --parent-chain.connection.url=${ETHEREUM_MAINNET_EXECUTION_RPC} - --parent-chain.connection.url=${ETHEREUM_MAINNET_EXECUTION_RPC}
- --persistent.chain=/root/.arbitrum/everclear-mainnet-archive - --persistent.chain=/root/.arbitrum/everclear-mainnet-archive
- --ws.addr=0.0.0.0 - --ws.addr=0.0.0.0

View File

@@ -30,7 +30,7 @@ x-logging-defaults: &logging-defaults
services: services:
everclear-mainnet: everclear-mainnet:
image: ${EVERCLEAR_NITRO_IMAGE:-offchainlabs/nitro-node}:${EVERCLEAR_MAINNET_NITRO_VERSION:-v3.11.2-3599aca} image: ${EVERCLEAR_NITRO_IMAGE:-offchainlabs/nitro-node}:${EVERCLEAR_MAINNET_NITRO_VERSION:-v3.11.4-7d5ac27}
sysctls: sysctls:
# TCP Performance # TCP Performance
net.ipv4.tcp_slow_start_after_idle: 0 # Disable slow start after idle net.ipv4.tcp_slow_start_after_idle: 0 # Disable slow start after idle
@@ -74,6 +74,7 @@ services:
- --node.sequencer=false - --node.sequencer=false
- --node.staker.enable=false - --node.staker.enable=false
- --parent-chain.blob-client.beacon-url=${ETHEREUM_MAINNET_BEACON_REST} - --parent-chain.blob-client.beacon-url=${ETHEREUM_MAINNET_BEACON_REST}
- --parent-chain.blob-client.secondary-beacon-url=${ETHEREUM_MAINNET_BEACON_REST_FALLBACK}
- --parent-chain.connection.url=${ETHEREUM_MAINNET_EXECUTION_RPC} - --parent-chain.connection.url=${ETHEREUM_MAINNET_EXECUTION_RPC}
- --persistent.chain=/root/.arbitrum/everclear-mainnet - --persistent.chain=/root/.arbitrum/everclear-mainnet
- --persistent.db-engine=pebble - --persistent.db-engine=pebble

View File

@@ -0,0 +1,145 @@
---
x-logging-defaults: &logging-defaults
driver: json-file
options:
max-size: "512m"
max-file: "2"
# Usage:
#
# mkdir rpc && cd rpc
#
# git init
# git remote add origin https://github.com/StakeSquid/ethereum-rpc-docker.git
# git fetch origin vibe
# git checkout origin/vibe
#
# docker run --rm alpine sh -c "printf '0x'; head -c32 /dev/urandom | xxd -p -c 64" > .jwtsecret
#
# env
# ...
# IP=$(curl ipinfo.io/ip)
# DOMAIN=${IP}.traefik.me
# COMPOSE_FILE=base.yml:rpc.yml:arb/nitro/humanity-mainnet-nitro-pruned-pebble-hash.yml
#
# docker compose up -d
#
# curl -X POST https://${IP}.traefik.me/humanity-mainnet \
# -H "Content-Type: application/json" \
# --data '{"jsonrpc":"2.0","method":"eth_blockNumber","params":[],"id":1}'
services:
humanity-mainnet:
image: ${HUMANITY_NITRO_IMAGE:-offchainlabs/nitro-node}:${HUMANITY_MAINNET_NITRO_VERSION:-v3.11.4-7d5ac27}
sysctls:
# TCP Performance
net.ipv4.tcp_slow_start_after_idle: 0 # Disable slow start after idle
net.ipv4.tcp_no_metrics_save: 1 # Disable metrics cache
net.ipv4.tcp_rmem: 4096 87380 16777216 # Increase TCP read buffers
net.ipv4.tcp_wmem: 4096 87380 16777216 # Increase TCP write buffers
net.core.somaxconn: 32768 # Higher connection queue
# Memory/Connection Management
# net.core.netdev_max_backlog: 50000 # Increase network buffer
net.ipv4.tcp_max_syn_backlog: 30000 # More SYN requests
net.ipv4.tcp_max_tw_buckets: 2000000 # Allow more TIME_WAIT sockets
ulimits:
nofile: 1048576 # Max open files (for RPC/WS connections)
user: root
expose:
- 8545
command:
- --conf.file=/config/baseConfig.json
- --execution.caching.archive=${HUMANITY_MAINNET_ARCHIVE_DB:-false}
- --execution.caching.database-cache=${HUMANITY_MAINNET_NITRO_PRUNED_PEBBLE_HASH_DATABASE_CACHE:-2048}
- --execution.caching.snapshot-cache=${HUMANITY_MAINNET_NITRO_PRUNED_PEBBLE_HASH_SNAPSHOT_CACHE:-400}
- --execution.caching.state-scheme=hash
- --execution.caching.trie-clean-cache=${HUMANITY_MAINNET_NITRO_PRUNED_PEBBLE_HASH_TRIE_CLEAN_CACHE:-600}
- --execution.caching.trie-dirty-cache=${HUMANITY_MAINNET_NITRO_PRUNED_PEBBLE_HASH_TRIE_DIRTY_CACHE:-1024}
- --execution.forwarding-target=https://humanity-main.g.alchemy.com/public
- --execution.rpc.gas-cap=5500000000
- --execution.rpc.log-history=0
- --execution.sequencer.enable=false
- --http.addr=0.0.0.0
- --http.api=eth,net,web3,arb,txpool,debug
- --http.corsdomain=*
- --http.port=8545
- --http.vhosts=*
- --init.prune=full
- --metrics
- --metrics-server.addr=0.0.0.0
- --metrics-server.port=6070
- --node.batch-poster.enable=false
- --node.da.anytrust.enable=true
- --node.da.anytrust.rest-aggregator.enable=true
- --node.da.anytrust.rest-aggregator.urls=https://humanity-main.g.alchemy.com/public
- --node.feed.input.url=wss://humanity-main.g.alchemy.com/public
- --node.sequencer=false
- --node.staker.enable=false
- --parent-chain.connection.url=${ARBITRUM_ONE_EXECUTION_RPC}
- --persistent.chain=/root/.arbitrum/humanity-mainnet
- --persistent.db-engine=pebble
- --ws.addr=0.0.0.0
- --ws.origins=*
- --ws.port=8545
restart: unless-stopped
stop_grace_period: 5m
networks:
- chains
volumes:
- ${HUMANITY_MAINNET_NITRO_PRUNED_PEBBLE_HASH_DATA:-humanity-mainnet-nitro-pruned-pebble-hash}:/root/.arbitrum
- /slowdisk:/slowdisk
logging: *logging-defaults
labels:
- prometheus-scrape.enabled=true
- prometheus-scrape.port=6070
- prometheus-scrape.path=/debug/metrics/prometheus
- traefik.enable=true
- traefik.http.middlewares.humanity-mainnet-nitro-pruned-pebble-hash-stripprefix.stripprefix.prefixes=/humanity-mainnet
- traefik.http.services.humanity-mainnet-nitro-pruned-pebble-hash.loadbalancer.server.port=8545
- ${NO_SSL:-traefik.http.routers.humanity-mainnet-nitro-pruned-pebble-hash.entrypoints=websecure}
- ${NO_SSL:-traefik.http.routers.humanity-mainnet-nitro-pruned-pebble-hash.tls.certresolver=myresolver}
- ${NO_SSL:-traefik.http.routers.humanity-mainnet-nitro-pruned-pebble-hash.rule=Host(`$DOMAIN`) && (Path(`/humanity-mainnet`) || Path(`/humanity-mainnet/`))}
- ${NO_SSL:+traefik.http.routers.humanity-mainnet-nitro-pruned-pebble-hash.rule=Path(`/humanity-mainnet`) || Path(`/humanity-mainnet/`)}
- traefik.http.routers.humanity-mainnet-nitro-pruned-pebble-hash.middlewares=humanity-mainnet-nitro-pruned-pebble-hash-stripprefix, ipallowlist
volumes:
humanity-mainnet-nitro-pruned-pebble-hash:
x-upstreams:
- id: $${ID}
labels:
provider: $${PROVIDER}
connection:
generic:
rpc:
url: $${RPC_URL}
ws:
frameSize: 20Mb
msgSize: 50Mb
url: $${WS_URL}
chain: humanity
method-groups:
enabled:
- debug
- filter
methods:
disabled:
enabled:
- name: txpool_content # TODO: should be disabled for rollup nodes
# standard geth only
- name: debug_getRawBlock
- name: debug_getRawTransaction
- name: debug_getRawReceipts
- name: debug_getRawHeader
- name: debug_getBadBlocks
# non standard geth only slightly dangerous
- name: debug_intermediateRoots
- name: debug_dumpBlock
# standard geth and erigon
- name: debug_accountRange
- name: debug_getModifiedAccountsByNumber
- name: debug_getModifiedAccountsByHash
# non standard geth and erigon
- name: eth_getRawTransactionByHash
- name: eth_getRawTransactionByBlockHashAndIndex
...

View File

@@ -0,0 +1,144 @@
---
x-logging-defaults: &logging-defaults
driver: json-file
options:
max-size: "512m"
max-file: "2"
# Usage:
#
# mkdir rpc && cd rpc
#
# git init
# git remote add origin https://github.com/StakeSquid/ethereum-rpc-docker.git
# git fetch origin vibe
# git checkout origin/vibe
#
# docker run --rm alpine sh -c "printf '0x'; head -c32 /dev/urandom | xxd -p -c 64" > .jwtsecret
#
# env
# ...
# IP=$(curl ipinfo.io/ip)
# DOMAIN=${IP}.traefik.me
# COMPOSE_FILE=base.yml:rpc.yml:arb/nitro/humanity-mainnet-nitro-pruned-pebble-hash.yml
#
# docker compose up -d
#
# curl -X POST https://${IP}.traefik.me/humanity-mainnet \
# -H "Content-Type: application/json" \
# --data '{"jsonrpc":"2.0","method":"eth_blockNumber","params":[],"id":1}'
services:
humanity-mainnet:
image: ${HUMANITY_NITRO_IMAGE:-offchainlabs/nitro-node}:${HUMANITY_MAINNET_NITRO_VERSION:-v3.11.4-7d5ac27}
sysctls:
# TCP Performance
net.ipv4.tcp_slow_start_after_idle: 0 # Disable slow start after idle
net.ipv4.tcp_no_metrics_save: 1 # Disable metrics cache
net.ipv4.tcp_rmem: 4096 87380 16777216 # Increase TCP read buffers
net.ipv4.tcp_wmem: 4096 87380 16777216 # Increase TCP write buffers
net.core.somaxconn: 32768 # Higher connection queue
# Memory/Connection Management
# net.core.netdev_max_backlog: 50000 # Increase network buffer
net.ipv4.tcp_max_syn_backlog: 30000 # More SYN requests
net.ipv4.tcp_max_tw_buckets: 2000000 # Allow more TIME_WAIT sockets
ulimits:
nofile: 1048576 # Max open files (for RPC/WS connections)
user: root
expose:
- 8545
command:
- --conf.file=/config/baseConfig.json
- --execution.caching.archive=${HUMANITY_MAINNET_ARCHIVE_DB:-false}
- --execution.caching.database-cache=${HUMANITY_MAINNET_NITRO_PRUNED_PEBBLE_HASH_DATABASE_CACHE:-2048}
- --execution.caching.snapshot-cache=${HUMANITY_MAINNET_NITRO_PRUNED_PEBBLE_HASH_SNAPSHOT_CACHE:-400}
- --execution.caching.state-scheme=hash
- --execution.caching.trie-clean-cache=${HUMANITY_MAINNET_NITRO_PRUNED_PEBBLE_HASH_TRIE_CLEAN_CACHE:-600}
- --execution.caching.trie-dirty-cache=${HUMANITY_MAINNET_NITRO_PRUNED_PEBBLE_HASH_TRIE_DIRTY_CACHE:-1024}
- --execution.forwarding-target=https://humanity-main.g.alchemy.com/public
- --execution.rpc.gas-cap=5500000000
- --execution.rpc.log-history=0
- --execution.sequencer.enable=false
- --http.addr=0.0.0.0
- --http.api=eth,net,web3,arb,txpool,debug
- --http.corsdomain=*
- --http.port=8545
- --http.vhosts=*
- --metrics
- --metrics-server.addr=0.0.0.0
- --metrics-server.port=6070
- --node.batch-poster.enable=false
- --node.da.anytrust.enable=true
- --node.da.anytrust.rest-aggregator.enable=true
- --node.da.anytrust.rest-aggregator.urls=https://humanity-main.g.alchemy.com/public
- --node.feed.input.url=wss://humanity-main.g.alchemy.com/public
- --node.sequencer=false
- --node.staker.enable=false
- --parent-chain.connection.url=${ARBITRUM_ONE_EXECUTION_RPC}
- --persistent.chain=/root/.arbitrum/humanity-mainnet
- --persistent.db-engine=pebble
- --ws.addr=0.0.0.0
- --ws.origins=*
- --ws.port=8545
restart: unless-stopped
stop_grace_period: 5m
networks:
- chains
volumes:
- ${HUMANITY_MAINNET_NITRO_PRUNED_PEBBLE_HASH_DATA:-humanity-mainnet-nitro-pruned-pebble-hash}:/root/.arbitrum
- /slowdisk:/slowdisk
logging: *logging-defaults
labels:
- prometheus-scrape.enabled=true
- prometheus-scrape.port=6070
- prometheus-scrape.path=/debug/metrics/prometheus
- traefik.enable=true
- traefik.http.middlewares.humanity-mainnet-nitro-pruned-pebble-hash-stripprefix.stripprefix.prefixes=/humanity-mainnet
- traefik.http.services.humanity-mainnet-nitro-pruned-pebble-hash.loadbalancer.server.port=8545
- ${NO_SSL:-traefik.http.routers.humanity-mainnet-nitro-pruned-pebble-hash.entrypoints=websecure}
- ${NO_SSL:-traefik.http.routers.humanity-mainnet-nitro-pruned-pebble-hash.tls.certresolver=myresolver}
- ${NO_SSL:-traefik.http.routers.humanity-mainnet-nitro-pruned-pebble-hash.rule=Host(`$DOMAIN`) && (Path(`/humanity-mainnet`) || Path(`/humanity-mainnet/`))}
- ${NO_SSL:+traefik.http.routers.humanity-mainnet-nitro-pruned-pebble-hash.rule=Path(`/humanity-mainnet`) || Path(`/humanity-mainnet/`)}
- traefik.http.routers.humanity-mainnet-nitro-pruned-pebble-hash.middlewares=humanity-mainnet-nitro-pruned-pebble-hash-stripprefix, ipallowlist
volumes:
humanity-mainnet-nitro-pruned-pebble-hash:
x-upstreams:
- id: $${ID}
labels:
provider: $${PROVIDER}
connection:
generic:
rpc:
url: $${RPC_URL}
ws:
frameSize: 20Mb
msgSize: 50Mb
url: $${WS_URL}
chain: humanity
method-groups:
enabled:
- debug
- filter
methods:
disabled:
enabled:
- name: txpool_content # TODO: should be disabled for rollup nodes
# standard geth only
- name: debug_getRawBlock
- name: debug_getRawTransaction
- name: debug_getRawReceipts
- name: debug_getRawHeader
- name: debug_getBadBlocks
# non standard geth only slightly dangerous
- name: debug_intermediateRoots
- name: debug_dumpBlock
# standard geth and erigon
- name: debug_accountRange
- name: debug_getModifiedAccountsByNumber
- name: debug_getModifiedAccountsByHash
# non standard geth and erigon
- name: eth_getRawTransactionByHash
- name: eth_getRawTransactionByBlockHashAndIndex
...

View File

@@ -0,0 +1,145 @@
---
x-logging-defaults: &logging-defaults
driver: json-file
options:
max-size: "512m"
max-file: "2"
# Usage:
#
# mkdir rpc && cd rpc
#
# git init
# git remote add origin https://github.com/StakeSquid/ethereum-rpc-docker.git
# git fetch origin vibe
# git checkout origin/vibe
#
# docker run --rm alpine sh -c "printf '0x'; head -c32 /dev/urandom | xxd -p -c 64" > .jwtsecret
#
# env
# ...
# IP=$(curl ipinfo.io/ip)
# DOMAIN=${IP}.traefik.me
# COMPOSE_FILE=base.yml:rpc.yml:arb/nitro/humanity-testnet-nitro-pruned-pebble-hash.yml
#
# docker compose up -d
#
# curl -X POST https://${IP}.traefik.me/humanity-testnet \
# -H "Content-Type: application/json" \
# --data '{"jsonrpc":"2.0","method":"eth_blockNumber","params":[],"id":1}'
services:
humanity-testnet:
image: ${HUMANITY_NITRO_IMAGE:-offchainlabs/nitro-node}:${HUMANITY_TESTNET_NITRO_VERSION:-v3.11.4-7d5ac27}
sysctls:
# TCP Performance
net.ipv4.tcp_slow_start_after_idle: 0 # Disable slow start after idle
net.ipv4.tcp_no_metrics_save: 1 # Disable metrics cache
net.ipv4.tcp_rmem: 4096 87380 16777216 # Increase TCP read buffers
net.ipv4.tcp_wmem: 4096 87380 16777216 # Increase TCP write buffers
net.core.somaxconn: 32768 # Higher connection queue
# Memory/Connection Management
# net.core.netdev_max_backlog: 50000 # Increase network buffer
net.ipv4.tcp_max_syn_backlog: 30000 # More SYN requests
net.ipv4.tcp_max_tw_buckets: 2000000 # Allow more TIME_WAIT sockets
ulimits:
nofile: 1048576 # Max open files (for RPC/WS connections)
user: root
expose:
- 8545
command:
- --conf.file=/config/baseConfig.json
- --execution.caching.archive=${HUMANITY_TESTNET_ARCHIVE_DB:-false}
- --execution.caching.database-cache=${HUMANITY_TESTNET_NITRO_PRUNED_PEBBLE_HASH_DATABASE_CACHE:-2048}
- --execution.caching.snapshot-cache=${HUMANITY_TESTNET_NITRO_PRUNED_PEBBLE_HASH_SNAPSHOT_CACHE:-400}
- --execution.caching.state-scheme=hash
- --execution.caching.trie-clean-cache=${HUMANITY_TESTNET_NITRO_PRUNED_PEBBLE_HASH_TRIE_CLEAN_CACHE:-600}
- --execution.caching.trie-dirty-cache=${HUMANITY_TESTNET_NITRO_PRUNED_PEBBLE_HASH_TRIE_DIRTY_CACHE:-1024}
- --execution.forwarding-target=https://rpc.testnet.humanity.org
- --execution.rpc.gas-cap=5500000000
- --execution.rpc.log-history=0
- --execution.sequencer.enable=false
- --http.addr=0.0.0.0
- --http.api=eth,net,web3,arb,txpool,debug
- --http.corsdomain=*
- --http.port=8545
- --http.vhosts=*
- --init.prune=full
- --metrics
- --metrics-server.addr=0.0.0.0
- --metrics-server.port=6070
- --node.batch-poster.enable=false
- --node.da.anytrust.enable=true
- --node.da.anytrust.rest-aggregator.enable=true
- --node.da.anytrust.rest-aggregator.urls=https://rpc.testnet.humanity.org
- --node.feed.input.url=wss://rpc.testnet.humanity.org
- --node.sequencer=false
- --node.staker.enable=false
- --parent-chain.connection.url=${ARBITRUM_ONE_EXECUTION_RPC}
- --persistent.chain=/root/.arbitrum/humanity-testnet
- --persistent.db-engine=pebble
- --ws.addr=0.0.0.0
- --ws.origins=*
- --ws.port=8545
restart: unless-stopped
stop_grace_period: 5m
networks:
- chains
volumes:
- ${HUMANITY_TESTNET_NITRO_PRUNED_PEBBLE_HASH_DATA:-humanity-testnet-nitro-pruned-pebble-hash}:/root/.arbitrum
- /slowdisk:/slowdisk
logging: *logging-defaults
labels:
- prometheus-scrape.enabled=true
- prometheus-scrape.port=6070
- prometheus-scrape.path=/debug/metrics/prometheus
- traefik.enable=true
- traefik.http.middlewares.humanity-testnet-nitro-pruned-pebble-hash-stripprefix.stripprefix.prefixes=/humanity-testnet
- traefik.http.services.humanity-testnet-nitro-pruned-pebble-hash.loadbalancer.server.port=8545
- ${NO_SSL:-traefik.http.routers.humanity-testnet-nitro-pruned-pebble-hash.entrypoints=websecure}
- ${NO_SSL:-traefik.http.routers.humanity-testnet-nitro-pruned-pebble-hash.tls.certresolver=myresolver}
- ${NO_SSL:-traefik.http.routers.humanity-testnet-nitro-pruned-pebble-hash.rule=Host(`$DOMAIN`) && (Path(`/humanity-testnet`) || Path(`/humanity-testnet/`))}
- ${NO_SSL:+traefik.http.routers.humanity-testnet-nitro-pruned-pebble-hash.rule=Path(`/humanity-testnet`) || Path(`/humanity-testnet/`)}
- traefik.http.routers.humanity-testnet-nitro-pruned-pebble-hash.middlewares=humanity-testnet-nitro-pruned-pebble-hash-stripprefix, ipallowlist
volumes:
humanity-testnet-nitro-pruned-pebble-hash:
x-upstreams:
- id: $${ID}
labels:
provider: $${PROVIDER}
connection:
generic:
rpc:
url: $${RPC_URL}
ws:
frameSize: 20Mb
msgSize: 50Mb
url: $${WS_URL}
chain: humanity-testnet
method-groups:
enabled:
- debug
- filter
methods:
disabled:
enabled:
- name: txpool_content # TODO: should be disabled for rollup nodes
# standard geth only
- name: debug_getRawBlock
- name: debug_getRawTransaction
- name: debug_getRawReceipts
- name: debug_getRawHeader
- name: debug_getBadBlocks
# non standard geth only slightly dangerous
- name: debug_intermediateRoots
- name: debug_dumpBlock
# standard geth and erigon
- name: debug_accountRange
- name: debug_getModifiedAccountsByNumber
- name: debug_getModifiedAccountsByHash
# non standard geth and erigon
- name: eth_getRawTransactionByHash
- name: eth_getRawTransactionByBlockHashAndIndex
...

View File

@@ -0,0 +1,144 @@
---
x-logging-defaults: &logging-defaults
driver: json-file
options:
max-size: "512m"
max-file: "2"
# Usage:
#
# mkdir rpc && cd rpc
#
# git init
# git remote add origin https://github.com/StakeSquid/ethereum-rpc-docker.git
# git fetch origin vibe
# git checkout origin/vibe
#
# docker run --rm alpine sh -c "printf '0x'; head -c32 /dev/urandom | xxd -p -c 64" > .jwtsecret
#
# env
# ...
# IP=$(curl ipinfo.io/ip)
# DOMAIN=${IP}.traefik.me
# COMPOSE_FILE=base.yml:rpc.yml:arb/nitro/humanity-testnet-nitro-pruned-pebble-hash.yml
#
# docker compose up -d
#
# curl -X POST https://${IP}.traefik.me/humanity-testnet \
# -H "Content-Type: application/json" \
# --data '{"jsonrpc":"2.0","method":"eth_blockNumber","params":[],"id":1}'
services:
humanity-testnet:
image: ${HUMANITY_NITRO_IMAGE:-offchainlabs/nitro-node}:${HUMANITY_TESTNET_NITRO_VERSION:-v3.11.4-7d5ac27}
sysctls:
# TCP Performance
net.ipv4.tcp_slow_start_after_idle: 0 # Disable slow start after idle
net.ipv4.tcp_no_metrics_save: 1 # Disable metrics cache
net.ipv4.tcp_rmem: 4096 87380 16777216 # Increase TCP read buffers
net.ipv4.tcp_wmem: 4096 87380 16777216 # Increase TCP write buffers
net.core.somaxconn: 32768 # Higher connection queue
# Memory/Connection Management
# net.core.netdev_max_backlog: 50000 # Increase network buffer
net.ipv4.tcp_max_syn_backlog: 30000 # More SYN requests
net.ipv4.tcp_max_tw_buckets: 2000000 # Allow more TIME_WAIT sockets
ulimits:
nofile: 1048576 # Max open files (for RPC/WS connections)
user: root
expose:
- 8545
command:
- --conf.file=/config/baseConfig.json
- --execution.caching.archive=${HUMANITY_TESTNET_ARCHIVE_DB:-false}
- --execution.caching.database-cache=${HUMANITY_TESTNET_NITRO_PRUNED_PEBBLE_HASH_DATABASE_CACHE:-2048}
- --execution.caching.snapshot-cache=${HUMANITY_TESTNET_NITRO_PRUNED_PEBBLE_HASH_SNAPSHOT_CACHE:-400}
- --execution.caching.state-scheme=hash
- --execution.caching.trie-clean-cache=${HUMANITY_TESTNET_NITRO_PRUNED_PEBBLE_HASH_TRIE_CLEAN_CACHE:-600}
- --execution.caching.trie-dirty-cache=${HUMANITY_TESTNET_NITRO_PRUNED_PEBBLE_HASH_TRIE_DIRTY_CACHE:-1024}
- --execution.forwarding-target=https://rpc.testnet.humanity.org
- --execution.rpc.gas-cap=5500000000
- --execution.rpc.log-history=0
- --execution.sequencer.enable=false
- --http.addr=0.0.0.0
- --http.api=eth,net,web3,arb,txpool,debug
- --http.corsdomain=*
- --http.port=8545
- --http.vhosts=*
- --metrics
- --metrics-server.addr=0.0.0.0
- --metrics-server.port=6070
- --node.batch-poster.enable=false
- --node.da.anytrust.enable=true
- --node.da.anytrust.rest-aggregator.enable=true
- --node.da.anytrust.rest-aggregator.urls=https://rpc.testnet.humanity.org
- --node.feed.input.url=wss://rpc.testnet.humanity.org
- --node.sequencer=false
- --node.staker.enable=false
- --parent-chain.connection.url=${ARBITRUM_ONE_EXECUTION_RPC}
- --persistent.chain=/root/.arbitrum/humanity-testnet
- --persistent.db-engine=pebble
- --ws.addr=0.0.0.0
- --ws.origins=*
- --ws.port=8545
restart: unless-stopped
stop_grace_period: 5m
networks:
- chains
volumes:
- ${HUMANITY_TESTNET_NITRO_PRUNED_PEBBLE_HASH_DATA:-humanity-testnet-nitro-pruned-pebble-hash}:/root/.arbitrum
- /slowdisk:/slowdisk
logging: *logging-defaults
labels:
- prometheus-scrape.enabled=true
- prometheus-scrape.port=6070
- prometheus-scrape.path=/debug/metrics/prometheus
- traefik.enable=true
- traefik.http.middlewares.humanity-testnet-nitro-pruned-pebble-hash-stripprefix.stripprefix.prefixes=/humanity-testnet
- traefik.http.services.humanity-testnet-nitro-pruned-pebble-hash.loadbalancer.server.port=8545
- ${NO_SSL:-traefik.http.routers.humanity-testnet-nitro-pruned-pebble-hash.entrypoints=websecure}
- ${NO_SSL:-traefik.http.routers.humanity-testnet-nitro-pruned-pebble-hash.tls.certresolver=myresolver}
- ${NO_SSL:-traefik.http.routers.humanity-testnet-nitro-pruned-pebble-hash.rule=Host(`$DOMAIN`) && (Path(`/humanity-testnet`) || Path(`/humanity-testnet/`))}
- ${NO_SSL:+traefik.http.routers.humanity-testnet-nitro-pruned-pebble-hash.rule=Path(`/humanity-testnet`) || Path(`/humanity-testnet/`)}
- traefik.http.routers.humanity-testnet-nitro-pruned-pebble-hash.middlewares=humanity-testnet-nitro-pruned-pebble-hash-stripprefix, ipallowlist
volumes:
humanity-testnet-nitro-pruned-pebble-hash:
x-upstreams:
- id: $${ID}
labels:
provider: $${PROVIDER}
connection:
generic:
rpc:
url: $${RPC_URL}
ws:
frameSize: 20Mb
msgSize: 50Mb
url: $${WS_URL}
chain: humanity-testnet
method-groups:
enabled:
- debug
- filter
methods:
disabled:
enabled:
- name: txpool_content # TODO: should be disabled for rollup nodes
# standard geth only
- name: debug_getRawBlock
- name: debug_getRawTransaction
- name: debug_getRawReceipts
- name: debug_getRawHeader
- name: debug_getBadBlocks
# non standard geth only slightly dangerous
- name: debug_intermediateRoots
- name: debug_dumpBlock
# standard geth and erigon
- name: debug_accountRange
- name: debug_getModifiedAccountsByNumber
- name: debug_getModifiedAccountsByHash
# non standard geth and erigon
- name: eth_getRawTransactionByHash
- name: eth_getRawTransactionByBlockHashAndIndex
...

View File

@@ -30,7 +30,7 @@ x-logging-defaults: &logging-defaults
services: services:
opencampuscodex-sepolia-archive: opencampuscodex-sepolia-archive:
image: ${OPENCAMPUSCODEX_NITRO_IMAGE:-offchainlabs/nitro-node}:${OPENCAMPUSCODEX_SEPOLIA_NITRO_VERSION:-v3.11.2-3599aca} image: ${OPENCAMPUSCODEX_NITRO_IMAGE:-offchainlabs/nitro-node}:${OPENCAMPUSCODEX_SEPOLIA_NITRO_VERSION:-v3.11.4-7d5ac27}
sysctls: sysctls:
# TCP Performance # TCP Performance
net.ipv4.tcp_slow_start_after_idle: 0 # Disable slow start after idle net.ipv4.tcp_slow_start_after_idle: 0 # Disable slow start after idle
@@ -52,6 +52,7 @@ services:
- --execution.caching.archive=true - --execution.caching.archive=true
- --execution.caching.database-cache=${OPENCAMPUSCODEX_SEPOLIA_NITRO_ARCHIVE_LEVELDB_HASH_DATABASE_CACHE:-2048} - --execution.caching.database-cache=${OPENCAMPUSCODEX_SEPOLIA_NITRO_ARCHIVE_LEVELDB_HASH_DATABASE_CACHE:-2048}
- --execution.caching.snapshot-cache=${OPENCAMPUSCODEX_SEPOLIA_NITRO_ARCHIVE_LEVELDB_HASH_SNAPSHOT_CACHE:-400} - --execution.caching.snapshot-cache=${OPENCAMPUSCODEX_SEPOLIA_NITRO_ARCHIVE_LEVELDB_HASH_SNAPSHOT_CACHE:-400}
- --execution.caching.state-scheme=hash
- --execution.caching.trie-clean-cache=${OPENCAMPUSCODEX_SEPOLIA_NITRO_ARCHIVE_LEVELDB_HASH_TRIE_CLEAN_CACHE:-600} - --execution.caching.trie-clean-cache=${OPENCAMPUSCODEX_SEPOLIA_NITRO_ARCHIVE_LEVELDB_HASH_TRIE_CLEAN_CACHE:-600}
- --execution.caching.trie-dirty-cache=${OPENCAMPUSCODEX_SEPOLIA_NITRO_ARCHIVE_LEVELDB_HASH_TRIE_DIRTY_CACHE:-1024} - --execution.caching.trie-dirty-cache=${OPENCAMPUSCODEX_SEPOLIA_NITRO_ARCHIVE_LEVELDB_HASH_TRIE_DIRTY_CACHE:-1024}
- --execution.forwarding-target=https://rpc.open-campus-codex.gelato.digital - --execution.forwarding-target=https://rpc.open-campus-codex.gelato.digital

View File

@@ -30,7 +30,7 @@ x-logging-defaults: &logging-defaults
services: services:
opencampuscodex-sepolia: opencampuscodex-sepolia:
image: ${OPENCAMPUSCODEX_NITRO_IMAGE:-offchainlabs/nitro-node}:${OPENCAMPUSCODEX_SEPOLIA_NITRO_VERSION:-v3.11.2-3599aca} image: ${OPENCAMPUSCODEX_NITRO_IMAGE:-offchainlabs/nitro-node}:${OPENCAMPUSCODEX_SEPOLIA_NITRO_VERSION:-v3.11.4-7d5ac27}
sysctls: sysctls:
# TCP Performance # TCP Performance
net.ipv4.tcp_slow_start_after_idle: 0 # Disable slow start after idle net.ipv4.tcp_slow_start_after_idle: 0 # Disable slow start after idle

View File

@@ -30,7 +30,7 @@ x-logging-defaults: &logging-defaults
services: services:
playblock-mainnet-archive: playblock-mainnet-archive:
image: ${PLAYBLOCK_NITRO_IMAGE:-offchainlabs/nitro-node}:${PLAYBLOCK_MAINNET_NITRO_VERSION:-v3.11.2-3599aca} image: ${PLAYBLOCK_NITRO_IMAGE:-offchainlabs/nitro-node}:${PLAYBLOCK_MAINNET_NITRO_VERSION:-v3.11.4-7d5ac27}
sysctls: sysctls:
# TCP Performance # TCP Performance
net.ipv4.tcp_slow_start_after_idle: 0 # Disable slow start after idle net.ipv4.tcp_slow_start_after_idle: 0 # Disable slow start after idle
@@ -52,6 +52,7 @@ services:
- --execution.caching.archive=true - --execution.caching.archive=true
- --execution.caching.database-cache=${PLAYBLOCK_MAINNET_NITRO_ARCHIVE_LEVELDB_HASH_DATABASE_CACHE:-2048} - --execution.caching.database-cache=${PLAYBLOCK_MAINNET_NITRO_ARCHIVE_LEVELDB_HASH_DATABASE_CACHE:-2048}
- --execution.caching.snapshot-cache=${PLAYBLOCK_MAINNET_NITRO_ARCHIVE_LEVELDB_HASH_SNAPSHOT_CACHE:-400} - --execution.caching.snapshot-cache=${PLAYBLOCK_MAINNET_NITRO_ARCHIVE_LEVELDB_HASH_SNAPSHOT_CACHE:-400}
- --execution.caching.state-scheme=hash
- --execution.caching.trie-clean-cache=${PLAYBLOCK_MAINNET_NITRO_ARCHIVE_LEVELDB_HASH_TRIE_CLEAN_CACHE:-600} - --execution.caching.trie-clean-cache=${PLAYBLOCK_MAINNET_NITRO_ARCHIVE_LEVELDB_HASH_TRIE_CLEAN_CACHE:-600}
- --execution.caching.trie-dirty-cache=${PLAYBLOCK_MAINNET_NITRO_ARCHIVE_LEVELDB_HASH_TRIE_DIRTY_CACHE:-1024} - --execution.caching.trie-dirty-cache=${PLAYBLOCK_MAINNET_NITRO_ARCHIVE_LEVELDB_HASH_TRIE_DIRTY_CACHE:-1024}
- --execution.forwarding-target=https://rpc.playblock.io - --execution.forwarding-target=https://rpc.playblock.io

View File

@@ -30,7 +30,7 @@ x-logging-defaults: &logging-defaults
services: services:
playblock-mainnet: playblock-mainnet:
image: ${PLAYBLOCK_NITRO_IMAGE:-offchainlabs/nitro-node}:${PLAYBLOCK_MAINNET_NITRO_VERSION:-v3.11.2-3599aca} image: ${PLAYBLOCK_NITRO_IMAGE:-offchainlabs/nitro-node}:${PLAYBLOCK_MAINNET_NITRO_VERSION:-v3.11.4-7d5ac27}
sysctls: sysctls:
# TCP Performance # TCP Performance
net.ipv4.tcp_slow_start_after_idle: 0 # Disable slow start after idle net.ipv4.tcp_slow_start_after_idle: 0 # Disable slow start after idle

View File

@@ -30,7 +30,7 @@ x-logging-defaults: &logging-defaults
services: services:
plume-mainnet-archive: plume-mainnet-archive:
image: ${PLUME_NITRO_IMAGE:-offchainlabs/nitro-node}:${PLUME_MAINNET_NITRO_VERSION:-v3.11.2-3599aca} image: ${PLUME_NITRO_IMAGE:-offchainlabs/nitro-node}:${PLUME_MAINNET_NITRO_VERSION:-v3.11.4-7d5ac27}
sysctls: sysctls:
# TCP Performance # TCP Performance
net.ipv4.tcp_slow_start_after_idle: 0 # Disable slow start after idle net.ipv4.tcp_slow_start_after_idle: 0 # Disable slow start after idle
@@ -52,6 +52,7 @@ services:
- --execution.caching.archive=true - --execution.caching.archive=true
- --execution.caching.database-cache=${PLUME_MAINNET_NITRO_ARCHIVE_LEVELDB_HASH_DATABASE_CACHE:-2048} - --execution.caching.database-cache=${PLUME_MAINNET_NITRO_ARCHIVE_LEVELDB_HASH_DATABASE_CACHE:-2048}
- --execution.caching.snapshot-cache=${PLUME_MAINNET_NITRO_ARCHIVE_LEVELDB_HASH_SNAPSHOT_CACHE:-400} - --execution.caching.snapshot-cache=${PLUME_MAINNET_NITRO_ARCHIVE_LEVELDB_HASH_SNAPSHOT_CACHE:-400}
- --execution.caching.state-scheme=hash
- --execution.caching.trie-clean-cache=${PLUME_MAINNET_NITRO_ARCHIVE_LEVELDB_HASH_TRIE_CLEAN_CACHE:-600} - --execution.caching.trie-clean-cache=${PLUME_MAINNET_NITRO_ARCHIVE_LEVELDB_HASH_TRIE_CLEAN_CACHE:-600}
- --execution.caching.trie-dirty-cache=${PLUME_MAINNET_NITRO_ARCHIVE_LEVELDB_HASH_TRIE_DIRTY_CACHE:-1024} - --execution.caching.trie-dirty-cache=${PLUME_MAINNET_NITRO_ARCHIVE_LEVELDB_HASH_TRIE_DIRTY_CACHE:-1024}
- --execution.forwarding-target=https://rpc.plume.org - --execution.forwarding-target=https://rpc.plume.org
@@ -74,6 +75,7 @@ services:
- --node.sequencer=false - --node.sequencer=false
- --node.staker.enable=false - --node.staker.enable=false
- --parent-chain.blob-client.beacon-url=${ETHEREUM_MAINNET_BEACON_REST} - --parent-chain.blob-client.beacon-url=${ETHEREUM_MAINNET_BEACON_REST}
- --parent-chain.blob-client.secondary-beacon-url=${ETHEREUM_MAINNET_BEACON_REST_FALLBACK}
- --parent-chain.connection.url=${ETHEREUM_MAINNET_EXECUTION_RPC} - --parent-chain.connection.url=${ETHEREUM_MAINNET_EXECUTION_RPC}
- --persistent.chain=/root/.arbitrum/plume-mainnet-archive - --persistent.chain=/root/.arbitrum/plume-mainnet-archive
- --ws.addr=0.0.0.0 - --ws.addr=0.0.0.0

View File

@@ -30,7 +30,7 @@ x-logging-defaults: &logging-defaults
services: services:
plume-mainnet-archive: plume-mainnet-archive:
image: ${PLUME_NITRO_IMAGE:-offchainlabs/nitro-node}:${PLUME_MAINNET_NITRO_VERSION:-v3.11.2-3599aca} image: ${PLUME_NITRO_IMAGE:-offchainlabs/nitro-node}:${PLUME_MAINNET_NITRO_VERSION:-v3.11.4-7d5ac27}
sysctls: sysctls:
# TCP Performance # TCP Performance
net.ipv4.tcp_slow_start_after_idle: 0 # Disable slow start after idle net.ipv4.tcp_slow_start_after_idle: 0 # Disable slow start after idle
@@ -52,6 +52,7 @@ services:
- --execution.caching.archive=true - --execution.caching.archive=true
- --execution.caching.database-cache=${PLUME_MAINNET_NITRO_ARCHIVE_PEBBLE_HASH_DATABASE_CACHE:-2048} - --execution.caching.database-cache=${PLUME_MAINNET_NITRO_ARCHIVE_PEBBLE_HASH_DATABASE_CACHE:-2048}
- --execution.caching.snapshot-cache=${PLUME_MAINNET_NITRO_ARCHIVE_PEBBLE_HASH_SNAPSHOT_CACHE:-400} - --execution.caching.snapshot-cache=${PLUME_MAINNET_NITRO_ARCHIVE_PEBBLE_HASH_SNAPSHOT_CACHE:-400}
- --execution.caching.state-scheme=hash
- --execution.caching.trie-clean-cache=${PLUME_MAINNET_NITRO_ARCHIVE_PEBBLE_HASH_TRIE_CLEAN_CACHE:-600} - --execution.caching.trie-clean-cache=${PLUME_MAINNET_NITRO_ARCHIVE_PEBBLE_HASH_TRIE_CLEAN_CACHE:-600}
- --execution.caching.trie-dirty-cache=${PLUME_MAINNET_NITRO_ARCHIVE_PEBBLE_HASH_TRIE_DIRTY_CACHE:-1024} - --execution.caching.trie-dirty-cache=${PLUME_MAINNET_NITRO_ARCHIVE_PEBBLE_HASH_TRIE_DIRTY_CACHE:-1024}
- --execution.forwarding-target=https://rpc.plume.org - --execution.forwarding-target=https://rpc.plume.org
@@ -74,6 +75,7 @@ services:
- --node.sequencer=false - --node.sequencer=false
- --node.staker.enable=false - --node.staker.enable=false
- --parent-chain.blob-client.beacon-url=${ETHEREUM_MAINNET_BEACON_REST} - --parent-chain.blob-client.beacon-url=${ETHEREUM_MAINNET_BEACON_REST}
- --parent-chain.blob-client.secondary-beacon-url=${ETHEREUM_MAINNET_BEACON_REST_FALLBACK}
- --parent-chain.connection.url=${ETHEREUM_MAINNET_EXECUTION_RPC} - --parent-chain.connection.url=${ETHEREUM_MAINNET_EXECUTION_RPC}
- --persistent.chain=/root/.arbitrum/plume-mainnet-archive - --persistent.chain=/root/.arbitrum/plume-mainnet-archive
- --persistent.db-engine=pebble - --persistent.db-engine=pebble

View File

@@ -30,7 +30,7 @@ x-logging-defaults: &logging-defaults
services: services:
plume-mainnet: plume-mainnet:
image: ${PLUME_NITRO_IMAGE:-offchainlabs/nitro-node}:${PLUME_MAINNET_NITRO_VERSION:-v3.11.2-3599aca} image: ${PLUME_NITRO_IMAGE:-offchainlabs/nitro-node}:${PLUME_MAINNET_NITRO_VERSION:-v3.11.4-7d5ac27}
sysctls: sysctls:
# TCP Performance # TCP Performance
net.ipv4.tcp_slow_start_after_idle: 0 # Disable slow start after idle net.ipv4.tcp_slow_start_after_idle: 0 # Disable slow start after idle
@@ -52,6 +52,7 @@ services:
- --execution.caching.archive=${PLUME_MAINNET_ARCHIVE_DB:-false} - --execution.caching.archive=${PLUME_MAINNET_ARCHIVE_DB:-false}
- --execution.caching.database-cache=${PLUME_MAINNET_NITRO_PRUNED_LEVELDB_HASH_DATABASE_CACHE:-2048} - --execution.caching.database-cache=${PLUME_MAINNET_NITRO_PRUNED_LEVELDB_HASH_DATABASE_CACHE:-2048}
- --execution.caching.snapshot-cache=${PLUME_MAINNET_NITRO_PRUNED_LEVELDB_HASH_SNAPSHOT_CACHE:-400} - --execution.caching.snapshot-cache=${PLUME_MAINNET_NITRO_PRUNED_LEVELDB_HASH_SNAPSHOT_CACHE:-400}
- --execution.caching.state-scheme=hash
- --execution.caching.trie-clean-cache=${PLUME_MAINNET_NITRO_PRUNED_LEVELDB_HASH_TRIE_CLEAN_CACHE:-600} - --execution.caching.trie-clean-cache=${PLUME_MAINNET_NITRO_PRUNED_LEVELDB_HASH_TRIE_CLEAN_CACHE:-600}
- --execution.caching.trie-dirty-cache=${PLUME_MAINNET_NITRO_PRUNED_LEVELDB_HASH_TRIE_DIRTY_CACHE:-1024} - --execution.caching.trie-dirty-cache=${PLUME_MAINNET_NITRO_PRUNED_LEVELDB_HASH_TRIE_DIRTY_CACHE:-1024}
- --execution.forwarding-target=https://rpc.plume.org - --execution.forwarding-target=https://rpc.plume.org
@@ -74,6 +75,7 @@ services:
- --node.sequencer=false - --node.sequencer=false
- --node.staker.enable=false - --node.staker.enable=false
- --parent-chain.blob-client.beacon-url=${ETHEREUM_MAINNET_BEACON_REST} - --parent-chain.blob-client.beacon-url=${ETHEREUM_MAINNET_BEACON_REST}
- --parent-chain.blob-client.secondary-beacon-url=${ETHEREUM_MAINNET_BEACON_REST_FALLBACK}
- --parent-chain.connection.url=${ETHEREUM_MAINNET_EXECUTION_RPC} - --parent-chain.connection.url=${ETHEREUM_MAINNET_EXECUTION_RPC}
- --persistent.chain=/root/.arbitrum/plume-mainnet - --persistent.chain=/root/.arbitrum/plume-mainnet
- --ws.addr=0.0.0.0 - --ws.addr=0.0.0.0

View File

@@ -0,0 +1,147 @@
---
x-logging-defaults: &logging-defaults
driver: json-file
options:
max-size: "512m"
max-file: "2"
# Usage:
#
# mkdir rpc && cd rpc
#
# git init
# git remote add origin https://github.com/StakeSquid/ethereum-rpc-docker.git
# git fetch origin vibe
# git checkout origin/vibe
#
# docker run --rm alpine sh -c "printf '0x'; head -c32 /dev/urandom | xxd -p -c 64" > .jwtsecret
#
# env
# ...
# IP=$(curl ipinfo.io/ip)
# DOMAIN=${IP}.traefik.me
# COMPOSE_FILE=base.yml:rpc.yml:arb/nitro/plume-mainnet-nitro-pruned-pebble-hash.yml
#
# docker compose up -d
#
# curl -X POST https://${IP}.traefik.me/plume-mainnet \
# -H "Content-Type: application/json" \
# --data '{"jsonrpc":"2.0","method":"eth_blockNumber","params":[],"id":1}'
services:
plume-mainnet:
image: ${PLUME_NITRO_IMAGE:-offchainlabs/nitro-node}:${PLUME_MAINNET_NITRO_VERSION:-v3.11.4-7d5ac27}
sysctls:
# TCP Performance
net.ipv4.tcp_slow_start_after_idle: 0 # Disable slow start after idle
net.ipv4.tcp_no_metrics_save: 1 # Disable metrics cache
net.ipv4.tcp_rmem: 4096 87380 16777216 # Increase TCP read buffers
net.ipv4.tcp_wmem: 4096 87380 16777216 # Increase TCP write buffers
net.core.somaxconn: 32768 # Higher connection queue
# Memory/Connection Management
# net.core.netdev_max_backlog: 50000 # Increase network buffer
net.ipv4.tcp_max_syn_backlog: 30000 # More SYN requests
net.ipv4.tcp_max_tw_buckets: 2000000 # Allow more TIME_WAIT sockets
ulimits:
nofile: 1048576 # Max open files (for RPC/WS connections)
user: root
expose:
- 8545
command:
- --conf.file=/config/baseConfig.json
- --execution.caching.archive=${PLUME_MAINNET_ARCHIVE_DB:-false}
- --execution.caching.database-cache=${PLUME_MAINNET_NITRO_PRUNED_PEBBLE_HASH_DATABASE_CACHE:-2048}
- --execution.caching.snapshot-cache=${PLUME_MAINNET_NITRO_PRUNED_PEBBLE_HASH_SNAPSHOT_CACHE:-400}
- --execution.caching.state-scheme=hash
- --execution.caching.trie-clean-cache=${PLUME_MAINNET_NITRO_PRUNED_PEBBLE_HASH_TRIE_CLEAN_CACHE:-600}
- --execution.caching.trie-dirty-cache=${PLUME_MAINNET_NITRO_PRUNED_PEBBLE_HASH_TRIE_DIRTY_CACHE:-1024}
- --execution.forwarding-target=https://rpc.plume.org
- --execution.rpc.gas-cap=5500000000
- --execution.rpc.log-history=0
- --execution.sequencer.enable=false
- --http.addr=0.0.0.0
- --http.api=eth,net,web3,arb,txpool,debug
- --http.corsdomain=*
- --http.port=8545
- --http.vhosts=*
- --metrics
- --metrics-server.addr=0.0.0.0
- --metrics-server.port=6070
- --node.batch-poster.enable=false
- --node.da.anytrust.enable=true
- --node.da.anytrust.rest-aggregator.enable=true
- --node.da.anytrust.rest-aggregator.urls=https://das-plume-mainnet-1.t.conduit.xyz
- --node.feed.input.url=wss://relay-plume-mainnet-1.t.conduit.xyz
- --node.sequencer=false
- --node.staker.enable=false
- --parent-chain.blob-client.beacon-url=${ETHEREUM_MAINNET_BEACON_REST}
- --parent-chain.blob-client.secondary-beacon-url=${ETHEREUM_MAINNET_BEACON_REST_FALLBACK}
- --parent-chain.connection.url=${ETHEREUM_MAINNET_EXECUTION_RPC}
- --persistent.chain=/root/.arbitrum/plume-mainnet
- --persistent.db-engine=pebble
- --ws.addr=0.0.0.0
- --ws.origins=*
- --ws.port=8545
restart: unless-stopped
stop_grace_period: 5m
networks:
- chains
volumes:
- ${PLUME_MAINNET_NITRO_PRUNED_PEBBLE_HASH_DATA:-plume-mainnet-nitro-pruned-pebble-hash}:/root/.arbitrum
- ./arb/plume/mainnet:/config
- /slowdisk:/slowdisk
logging: *logging-defaults
labels:
- prometheus-scrape.enabled=true
- prometheus-scrape.port=6070
- prometheus-scrape.path=/debug/metrics/prometheus
- traefik.enable=true
- traefik.http.middlewares.plume-mainnet-nitro-pruned-pebble-hash-stripprefix.stripprefix.prefixes=/plume-mainnet
- traefik.http.services.plume-mainnet-nitro-pruned-pebble-hash.loadbalancer.server.port=8545
- ${NO_SSL:-traefik.http.routers.plume-mainnet-nitro-pruned-pebble-hash.entrypoints=websecure}
- ${NO_SSL:-traefik.http.routers.plume-mainnet-nitro-pruned-pebble-hash.tls.certresolver=myresolver}
- ${NO_SSL:-traefik.http.routers.plume-mainnet-nitro-pruned-pebble-hash.rule=Host(`$DOMAIN`) && (Path(`/plume-mainnet`) || Path(`/plume-mainnet/`))}
- ${NO_SSL:+traefik.http.routers.plume-mainnet-nitro-pruned-pebble-hash.rule=Path(`/plume-mainnet`) || Path(`/plume-mainnet/`)}
- traefik.http.routers.plume-mainnet-nitro-pruned-pebble-hash.middlewares=plume-mainnet-nitro-pruned-pebble-hash-stripprefix, ipallowlist
volumes:
plume-mainnet-nitro-pruned-pebble-hash:
x-upstreams:
- id: $${ID}
labels:
provider: $${PROVIDER}
connection:
generic:
rpc:
url: $${RPC_URL}
ws:
frameSize: 20Mb
msgSize: 50Mb
url: $${WS_URL}
chain: plume
method-groups:
enabled:
- debug
- filter
methods:
disabled:
enabled:
- name: txpool_content # TODO: should be disabled for rollup nodes
# standard geth only
- name: debug_getRawBlock
- name: debug_getRawTransaction
- name: debug_getRawReceipts
- name: debug_getRawHeader
- name: debug_getBadBlocks
# non standard geth only slightly dangerous
- name: debug_intermediateRoots
- name: debug_dumpBlock
# standard geth and erigon
- name: debug_accountRange
- name: debug_getModifiedAccountsByNumber
- name: debug_getModifiedAccountsByHash
# non standard geth and erigon
- name: eth_getRawTransactionByHash
- name: eth_getRawTransactionByBlockHashAndIndex
...

View File

@@ -30,7 +30,7 @@ x-logging-defaults: &logging-defaults
services: services:
plume-mainnet: plume-mainnet:
image: ${PLUME_NITRO_IMAGE:-offchainlabs/nitro-node}:${PLUME_MAINNET_NITRO_VERSION:-v3.11.2-3599aca} image: ${PLUME_NITRO_IMAGE:-offchainlabs/nitro-node}:${PLUME_MAINNET_NITRO_VERSION:-v3.11.4-7d5ac27}
sysctls: sysctls:
# TCP Performance # TCP Performance
net.ipv4.tcp_slow_start_after_idle: 0 # Disable slow start after idle net.ipv4.tcp_slow_start_after_idle: 0 # Disable slow start after idle
@@ -74,6 +74,7 @@ services:
- --node.sequencer=false - --node.sequencer=false
- --node.staker.enable=false - --node.staker.enable=false
- --parent-chain.blob-client.beacon-url=${ETHEREUM_MAINNET_BEACON_REST} - --parent-chain.blob-client.beacon-url=${ETHEREUM_MAINNET_BEACON_REST}
- --parent-chain.blob-client.secondary-beacon-url=${ETHEREUM_MAINNET_BEACON_REST_FALLBACK}
- --parent-chain.connection.url=${ETHEREUM_MAINNET_EXECUTION_RPC} - --parent-chain.connection.url=${ETHEREUM_MAINNET_EXECUTION_RPC}
- --persistent.chain=/root/.arbitrum/plume-mainnet - --persistent.chain=/root/.arbitrum/plume-mainnet
- --persistent.db-engine=pebble - --persistent.db-engine=pebble

View File

@@ -30,7 +30,7 @@ x-logging-defaults: &logging-defaults
services: services:
plume-testnet-archive: plume-testnet-archive:
image: ${PLUME_NITRO_IMAGE:-offchainlabs/nitro-node}:${PLUME_TESTNET_NITRO_VERSION:-v3.11.2-3599aca} image: ${PLUME_NITRO_IMAGE:-offchainlabs/nitro-node}:${PLUME_TESTNET_NITRO_VERSION:-v3.11.4-7d5ac27}
sysctls: sysctls:
# TCP Performance # TCP Performance
net.ipv4.tcp_slow_start_after_idle: 0 # Disable slow start after idle net.ipv4.tcp_slow_start_after_idle: 0 # Disable slow start after idle
@@ -52,6 +52,7 @@ services:
- --execution.caching.archive=true - --execution.caching.archive=true
- --execution.caching.database-cache=${PLUME_TESTNET_NITRO_ARCHIVE_LEVELDB_HASH_DATABASE_CACHE:-2048} - --execution.caching.database-cache=${PLUME_TESTNET_NITRO_ARCHIVE_LEVELDB_HASH_DATABASE_CACHE:-2048}
- --execution.caching.snapshot-cache=${PLUME_TESTNET_NITRO_ARCHIVE_LEVELDB_HASH_SNAPSHOT_CACHE:-400} - --execution.caching.snapshot-cache=${PLUME_TESTNET_NITRO_ARCHIVE_LEVELDB_HASH_SNAPSHOT_CACHE:-400}
- --execution.caching.state-scheme=hash
- --execution.caching.trie-clean-cache=${PLUME_TESTNET_NITRO_ARCHIVE_LEVELDB_HASH_TRIE_CLEAN_CACHE:-600} - --execution.caching.trie-clean-cache=${PLUME_TESTNET_NITRO_ARCHIVE_LEVELDB_HASH_TRIE_CLEAN_CACHE:-600}
- --execution.caching.trie-dirty-cache=${PLUME_TESTNET_NITRO_ARCHIVE_LEVELDB_HASH_TRIE_DIRTY_CACHE:-1024} - --execution.caching.trie-dirty-cache=${PLUME_TESTNET_NITRO_ARCHIVE_LEVELDB_HASH_TRIE_DIRTY_CACHE:-1024}
- --execution.forwarding-target=https://testnet-rpc.plume.org - --execution.forwarding-target=https://testnet-rpc.plume.org
@@ -74,6 +75,7 @@ services:
- --node.sequencer=false - --node.sequencer=false
- --node.staker.enable=false - --node.staker.enable=false
- --parent-chain.blob-client.beacon-url=${ETHEREUM_SEPOLIA_BEACON_REST} - --parent-chain.blob-client.beacon-url=${ETHEREUM_SEPOLIA_BEACON_REST}
- --parent-chain.blob-client.secondary-beacon-url=${ETHEREUM_SEPOLIA_BEACON_REST_FALLBACK}
- --parent-chain.connection.url=${ETHEREUM_SEPOLIA_EXECUTION_RPC} - --parent-chain.connection.url=${ETHEREUM_SEPOLIA_EXECUTION_RPC}
- --persistent.chain=/root/.arbitrum/plume-testnet-archive - --persistent.chain=/root/.arbitrum/plume-testnet-archive
- --ws.addr=0.0.0.0 - --ws.addr=0.0.0.0

View File

@@ -30,7 +30,7 @@ x-logging-defaults: &logging-defaults
services: services:
plume-testnet-archive: plume-testnet-archive:
image: ${PLUME_NITRO_IMAGE:-offchainlabs/nitro-node}:${PLUME_TESTNET_NITRO_VERSION:-v3.11.2-3599aca} image: ${PLUME_NITRO_IMAGE:-offchainlabs/nitro-node}:${PLUME_TESTNET_NITRO_VERSION:-v3.11.4-7d5ac27}
sysctls: sysctls:
# TCP Performance # TCP Performance
net.ipv4.tcp_slow_start_after_idle: 0 # Disable slow start after idle net.ipv4.tcp_slow_start_after_idle: 0 # Disable slow start after idle
@@ -52,6 +52,7 @@ services:
- --execution.caching.archive=true - --execution.caching.archive=true
- --execution.caching.database-cache=${PLUME_TESTNET_NITRO_ARCHIVE_PEBBLE_HASH_DATABASE_CACHE:-2048} - --execution.caching.database-cache=${PLUME_TESTNET_NITRO_ARCHIVE_PEBBLE_HASH_DATABASE_CACHE:-2048}
- --execution.caching.snapshot-cache=${PLUME_TESTNET_NITRO_ARCHIVE_PEBBLE_HASH_SNAPSHOT_CACHE:-400} - --execution.caching.snapshot-cache=${PLUME_TESTNET_NITRO_ARCHIVE_PEBBLE_HASH_SNAPSHOT_CACHE:-400}
- --execution.caching.state-scheme=hash
- --execution.caching.trie-clean-cache=${PLUME_TESTNET_NITRO_ARCHIVE_PEBBLE_HASH_TRIE_CLEAN_CACHE:-600} - --execution.caching.trie-clean-cache=${PLUME_TESTNET_NITRO_ARCHIVE_PEBBLE_HASH_TRIE_CLEAN_CACHE:-600}
- --execution.caching.trie-dirty-cache=${PLUME_TESTNET_NITRO_ARCHIVE_PEBBLE_HASH_TRIE_DIRTY_CACHE:-1024} - --execution.caching.trie-dirty-cache=${PLUME_TESTNET_NITRO_ARCHIVE_PEBBLE_HASH_TRIE_DIRTY_CACHE:-1024}
- --execution.forwarding-target=https://testnet-rpc.plume.org - --execution.forwarding-target=https://testnet-rpc.plume.org
@@ -74,6 +75,7 @@ services:
- --node.sequencer=false - --node.sequencer=false
- --node.staker.enable=false - --node.staker.enable=false
- --parent-chain.blob-client.beacon-url=${ETHEREUM_SEPOLIA_BEACON_REST} - --parent-chain.blob-client.beacon-url=${ETHEREUM_SEPOLIA_BEACON_REST}
- --parent-chain.blob-client.secondary-beacon-url=${ETHEREUM_SEPOLIA_BEACON_REST_FALLBACK}
- --parent-chain.connection.url=${ETHEREUM_SEPOLIA_EXECUTION_RPC} - --parent-chain.connection.url=${ETHEREUM_SEPOLIA_EXECUTION_RPC}
- --persistent.chain=/root/.arbitrum/plume-testnet-archive - --persistent.chain=/root/.arbitrum/plume-testnet-archive
- --persistent.db-engine=pebble - --persistent.db-engine=pebble

View File

@@ -30,7 +30,7 @@ x-logging-defaults: &logging-defaults
services: services:
plume-testnet: plume-testnet:
image: ${PLUME_NITRO_IMAGE:-offchainlabs/nitro-node}:${PLUME_TESTNET_NITRO_VERSION:-v3.11.2-3599aca} image: ${PLUME_NITRO_IMAGE:-offchainlabs/nitro-node}:${PLUME_TESTNET_NITRO_VERSION:-v3.11.4-7d5ac27}
sysctls: sysctls:
# TCP Performance # TCP Performance
net.ipv4.tcp_slow_start_after_idle: 0 # Disable slow start after idle net.ipv4.tcp_slow_start_after_idle: 0 # Disable slow start after idle
@@ -52,6 +52,7 @@ services:
- --execution.caching.archive=${PLUME_TESTNET_ARCHIVE_DB:-false} - --execution.caching.archive=${PLUME_TESTNET_ARCHIVE_DB:-false}
- --execution.caching.database-cache=${PLUME_TESTNET_NITRO_PRUNED_LEVELDB_HASH_DATABASE_CACHE:-2048} - --execution.caching.database-cache=${PLUME_TESTNET_NITRO_PRUNED_LEVELDB_HASH_DATABASE_CACHE:-2048}
- --execution.caching.snapshot-cache=${PLUME_TESTNET_NITRO_PRUNED_LEVELDB_HASH_SNAPSHOT_CACHE:-400} - --execution.caching.snapshot-cache=${PLUME_TESTNET_NITRO_PRUNED_LEVELDB_HASH_SNAPSHOT_CACHE:-400}
- --execution.caching.state-scheme=hash
- --execution.caching.trie-clean-cache=${PLUME_TESTNET_NITRO_PRUNED_LEVELDB_HASH_TRIE_CLEAN_CACHE:-600} - --execution.caching.trie-clean-cache=${PLUME_TESTNET_NITRO_PRUNED_LEVELDB_HASH_TRIE_CLEAN_CACHE:-600}
- --execution.caching.trie-dirty-cache=${PLUME_TESTNET_NITRO_PRUNED_LEVELDB_HASH_TRIE_DIRTY_CACHE:-1024} - --execution.caching.trie-dirty-cache=${PLUME_TESTNET_NITRO_PRUNED_LEVELDB_HASH_TRIE_DIRTY_CACHE:-1024}
- --execution.forwarding-target=https://testnet-rpc.plume.org - --execution.forwarding-target=https://testnet-rpc.plume.org
@@ -74,6 +75,7 @@ services:
- --node.sequencer=false - --node.sequencer=false
- --node.staker.enable=false - --node.staker.enable=false
- --parent-chain.blob-client.beacon-url=${ETHEREUM_SEPOLIA_BEACON_REST} - --parent-chain.blob-client.beacon-url=${ETHEREUM_SEPOLIA_BEACON_REST}
- --parent-chain.blob-client.secondary-beacon-url=${ETHEREUM_SEPOLIA_BEACON_REST_FALLBACK}
- --parent-chain.connection.url=${ETHEREUM_SEPOLIA_EXECUTION_RPC} - --parent-chain.connection.url=${ETHEREUM_SEPOLIA_EXECUTION_RPC}
- --persistent.chain=/root/.arbitrum/plume-testnet - --persistent.chain=/root/.arbitrum/plume-testnet
- --ws.addr=0.0.0.0 - --ws.addr=0.0.0.0

View File

@@ -0,0 +1,147 @@
---
x-logging-defaults: &logging-defaults
driver: json-file
options:
max-size: "512m"
max-file: "2"
# Usage:
#
# mkdir rpc && cd rpc
#
# git init
# git remote add origin https://github.com/StakeSquid/ethereum-rpc-docker.git
# git fetch origin vibe
# git checkout origin/vibe
#
# docker run --rm alpine sh -c "printf '0x'; head -c32 /dev/urandom | xxd -p -c 64" > .jwtsecret
#
# env
# ...
# IP=$(curl ipinfo.io/ip)
# DOMAIN=${IP}.traefik.me
# COMPOSE_FILE=base.yml:rpc.yml:arb/nitro/plume-testnet-nitro-pruned-pebble-hash.yml
#
# docker compose up -d
#
# curl -X POST https://${IP}.traefik.me/plume-testnet \
# -H "Content-Type: application/json" \
# --data '{"jsonrpc":"2.0","method":"eth_blockNumber","params":[],"id":1}'
services:
plume-testnet:
image: ${PLUME_NITRO_IMAGE:-offchainlabs/nitro-node}:${PLUME_TESTNET_NITRO_VERSION:-v3.11.4-7d5ac27}
sysctls:
# TCP Performance
net.ipv4.tcp_slow_start_after_idle: 0 # Disable slow start after idle
net.ipv4.tcp_no_metrics_save: 1 # Disable metrics cache
net.ipv4.tcp_rmem: 4096 87380 16777216 # Increase TCP read buffers
net.ipv4.tcp_wmem: 4096 87380 16777216 # Increase TCP write buffers
net.core.somaxconn: 32768 # Higher connection queue
# Memory/Connection Management
# net.core.netdev_max_backlog: 50000 # Increase network buffer
net.ipv4.tcp_max_syn_backlog: 30000 # More SYN requests
net.ipv4.tcp_max_tw_buckets: 2000000 # Allow more TIME_WAIT sockets
ulimits:
nofile: 1048576 # Max open files (for RPC/WS connections)
user: root
expose:
- 8545
command:
- --conf.file=/config/baseConfig.json
- --execution.caching.archive=${PLUME_TESTNET_ARCHIVE_DB:-false}
- --execution.caching.database-cache=${PLUME_TESTNET_NITRO_PRUNED_PEBBLE_HASH_DATABASE_CACHE:-2048}
- --execution.caching.snapshot-cache=${PLUME_TESTNET_NITRO_PRUNED_PEBBLE_HASH_SNAPSHOT_CACHE:-400}
- --execution.caching.state-scheme=hash
- --execution.caching.trie-clean-cache=${PLUME_TESTNET_NITRO_PRUNED_PEBBLE_HASH_TRIE_CLEAN_CACHE:-600}
- --execution.caching.trie-dirty-cache=${PLUME_TESTNET_NITRO_PRUNED_PEBBLE_HASH_TRIE_DIRTY_CACHE:-1024}
- --execution.forwarding-target=https://testnet-rpc.plume.org
- --execution.rpc.gas-cap=5500000000
- --execution.rpc.log-history=0
- --execution.sequencer.enable=false
- --http.addr=0.0.0.0
- --http.api=eth,net,web3,arb,txpool,debug
- --http.corsdomain=*
- --http.port=8545
- --http.vhosts=*
- --metrics
- --metrics-server.addr=0.0.0.0
- --metrics-server.port=6070
- --node.batch-poster.enable=false
- --node.da.anytrust.enable=true
- --node.da.anytrust.rest-aggregator.enable=true
- --node.da.anytrust.rest-aggregator.urls=https://das-plume-testnet-1.t.conduit.xyz
- --node.feed.input.url=wss://relay-plume-testnet-1.t.conduit.xyz
- --node.sequencer=false
- --node.staker.enable=false
- --parent-chain.blob-client.beacon-url=${ETHEREUM_SEPOLIA_BEACON_REST}
- --parent-chain.blob-client.secondary-beacon-url=${ETHEREUM_SEPOLIA_BEACON_REST_FALLBACK}
- --parent-chain.connection.url=${ETHEREUM_SEPOLIA_EXECUTION_RPC}
- --persistent.chain=/root/.arbitrum/plume-testnet
- --persistent.db-engine=pebble
- --ws.addr=0.0.0.0
- --ws.origins=*
- --ws.port=8545
restart: unless-stopped
stop_grace_period: 5m
networks:
- chains
volumes:
- ${PLUME_TESTNET_NITRO_PRUNED_PEBBLE_HASH_DATA:-plume-testnet-nitro-pruned-pebble-hash}:/root/.arbitrum
- ./arb/plume/testnet:/config
- /slowdisk:/slowdisk
logging: *logging-defaults
labels:
- prometheus-scrape.enabled=true
- prometheus-scrape.port=6070
- prometheus-scrape.path=/debug/metrics/prometheus
- traefik.enable=true
- traefik.http.middlewares.plume-testnet-nitro-pruned-pebble-hash-stripprefix.stripprefix.prefixes=/plume-testnet
- traefik.http.services.plume-testnet-nitro-pruned-pebble-hash.loadbalancer.server.port=8545
- ${NO_SSL:-traefik.http.routers.plume-testnet-nitro-pruned-pebble-hash.entrypoints=websecure}
- ${NO_SSL:-traefik.http.routers.plume-testnet-nitro-pruned-pebble-hash.tls.certresolver=myresolver}
- ${NO_SSL:-traefik.http.routers.plume-testnet-nitro-pruned-pebble-hash.rule=Host(`$DOMAIN`) && (Path(`/plume-testnet`) || Path(`/plume-testnet/`))}
- ${NO_SSL:+traefik.http.routers.plume-testnet-nitro-pruned-pebble-hash.rule=Path(`/plume-testnet`) || Path(`/plume-testnet/`)}
- traefik.http.routers.plume-testnet-nitro-pruned-pebble-hash.middlewares=plume-testnet-nitro-pruned-pebble-hash-stripprefix, ipallowlist
volumes:
plume-testnet-nitro-pruned-pebble-hash:
x-upstreams:
- id: $${ID}
labels:
provider: $${PROVIDER}
connection:
generic:
rpc:
url: $${RPC_URL}
ws:
frameSize: 20Mb
msgSize: 50Mb
url: $${WS_URL}
chain: plume-testnet
method-groups:
enabled:
- debug
- filter
methods:
disabled:
enabled:
- name: txpool_content # TODO: should be disabled for rollup nodes
# standard geth only
- name: debug_getRawBlock
- name: debug_getRawTransaction
- name: debug_getRawReceipts
- name: debug_getRawHeader
- name: debug_getBadBlocks
# non standard geth only slightly dangerous
- name: debug_intermediateRoots
- name: debug_dumpBlock
# standard geth and erigon
- name: debug_accountRange
- name: debug_getModifiedAccountsByNumber
- name: debug_getModifiedAccountsByHash
# non standard geth and erigon
- name: eth_getRawTransactionByHash
- name: eth_getRawTransactionByBlockHashAndIndex
...

View File

@@ -30,7 +30,7 @@ x-logging-defaults: &logging-defaults
services: services:
plume-testnet: plume-testnet:
image: ${PLUME_NITRO_IMAGE:-offchainlabs/nitro-node}:${PLUME_TESTNET_NITRO_VERSION:-v3.11.2-3599aca} image: ${PLUME_NITRO_IMAGE:-offchainlabs/nitro-node}:${PLUME_TESTNET_NITRO_VERSION:-v3.11.4-7d5ac27}
sysctls: sysctls:
# TCP Performance # TCP Performance
net.ipv4.tcp_slow_start_after_idle: 0 # Disable slow start after idle net.ipv4.tcp_slow_start_after_idle: 0 # Disable slow start after idle
@@ -74,6 +74,7 @@ services:
- --node.sequencer=false - --node.sequencer=false
- --node.staker.enable=false - --node.staker.enable=false
- --parent-chain.blob-client.beacon-url=${ETHEREUM_SEPOLIA_BEACON_REST} - --parent-chain.blob-client.beacon-url=${ETHEREUM_SEPOLIA_BEACON_REST}
- --parent-chain.blob-client.secondary-beacon-url=${ETHEREUM_SEPOLIA_BEACON_REST_FALLBACK}
- --parent-chain.connection.url=${ETHEREUM_SEPOLIA_EXECUTION_RPC} - --parent-chain.connection.url=${ETHEREUM_SEPOLIA_EXECUTION_RPC}
- --persistent.chain=/root/.arbitrum/plume-testnet - --persistent.chain=/root/.arbitrum/plume-testnet
- --persistent.db-engine=pebble - --persistent.db-engine=pebble

View File

@@ -30,7 +30,7 @@ x-logging-defaults: &logging-defaults
services: services:
real-mainnet-archive: real-mainnet-archive:
image: ${REAL_NITRO_IMAGE:-offchainlabs/nitro-node}:${REAL_MAINNET_NITRO_VERSION:-v3.11.2-3599aca} image: ${REAL_NITRO_IMAGE:-offchainlabs/nitro-node}:${REAL_MAINNET_NITRO_VERSION:-v3.11.4-7d5ac27}
sysctls: sysctls:
# TCP Performance # TCP Performance
net.ipv4.tcp_slow_start_after_idle: 0 # Disable slow start after idle net.ipv4.tcp_slow_start_after_idle: 0 # Disable slow start after idle
@@ -52,6 +52,7 @@ services:
- --execution.caching.archive=true - --execution.caching.archive=true
- --execution.caching.database-cache=${REAL_MAINNET_NITRO_ARCHIVE_LEVELDB_HASH_DATABASE_CACHE:-2048} - --execution.caching.database-cache=${REAL_MAINNET_NITRO_ARCHIVE_LEVELDB_HASH_DATABASE_CACHE:-2048}
- --execution.caching.snapshot-cache=${REAL_MAINNET_NITRO_ARCHIVE_LEVELDB_HASH_SNAPSHOT_CACHE:-400} - --execution.caching.snapshot-cache=${REAL_MAINNET_NITRO_ARCHIVE_LEVELDB_HASH_SNAPSHOT_CACHE:-400}
- --execution.caching.state-scheme=hash
- --execution.caching.trie-clean-cache=${REAL_MAINNET_NITRO_ARCHIVE_LEVELDB_HASH_TRIE_CLEAN_CACHE:-600} - --execution.caching.trie-clean-cache=${REAL_MAINNET_NITRO_ARCHIVE_LEVELDB_HASH_TRIE_CLEAN_CACHE:-600}
- --execution.caching.trie-dirty-cache=${REAL_MAINNET_NITRO_ARCHIVE_LEVELDB_HASH_TRIE_DIRTY_CACHE:-1024} - --execution.caching.trie-dirty-cache=${REAL_MAINNET_NITRO_ARCHIVE_LEVELDB_HASH_TRIE_DIRTY_CACHE:-1024}
- --execution.forwarding-target=https://rpc.realforreal.gelato.digital - --execution.forwarding-target=https://rpc.realforreal.gelato.digital
@@ -74,6 +75,7 @@ services:
- --node.sequencer=false - --node.sequencer=false
- --node.staker.enable=false - --node.staker.enable=false
- --parent-chain.blob-client.beacon-url=${ETHEREUM_MAINNET_BEACON_REST} - --parent-chain.blob-client.beacon-url=${ETHEREUM_MAINNET_BEACON_REST}
- --parent-chain.blob-client.secondary-beacon-url=${ETHEREUM_MAINNET_BEACON_REST_FALLBACK}
- --parent-chain.connection.url=${ETHEREUM_MAINNET_EXECUTION_RPC} - --parent-chain.connection.url=${ETHEREUM_MAINNET_EXECUTION_RPC}
- --persistent.chain=/root/.arbitrum/real-mainnet-archive - --persistent.chain=/root/.arbitrum/real-mainnet-archive
- --ws.addr=0.0.0.0 - --ws.addr=0.0.0.0

View File

@@ -30,7 +30,7 @@ x-logging-defaults: &logging-defaults
services: services:
real-mainnet-archive: real-mainnet-archive:
image: ${REAL_NITRO_IMAGE:-offchainlabs/nitro-node}:${REAL_MAINNET_NITRO_VERSION:-v3.11.2-3599aca} image: ${REAL_NITRO_IMAGE:-offchainlabs/nitro-node}:${REAL_MAINNET_NITRO_VERSION:-v3.11.4-7d5ac27}
sysctls: sysctls:
# TCP Performance # TCP Performance
net.ipv4.tcp_slow_start_after_idle: 0 # Disable slow start after idle net.ipv4.tcp_slow_start_after_idle: 0 # Disable slow start after idle
@@ -52,6 +52,7 @@ services:
- --execution.caching.archive=true - --execution.caching.archive=true
- --execution.caching.database-cache=${REAL_MAINNET_NITRO_ARCHIVE_PEBBLE_HASH_DATABASE_CACHE:-2048} - --execution.caching.database-cache=${REAL_MAINNET_NITRO_ARCHIVE_PEBBLE_HASH_DATABASE_CACHE:-2048}
- --execution.caching.snapshot-cache=${REAL_MAINNET_NITRO_ARCHIVE_PEBBLE_HASH_SNAPSHOT_CACHE:-400} - --execution.caching.snapshot-cache=${REAL_MAINNET_NITRO_ARCHIVE_PEBBLE_HASH_SNAPSHOT_CACHE:-400}
- --execution.caching.state-scheme=hash
- --execution.caching.trie-clean-cache=${REAL_MAINNET_NITRO_ARCHIVE_PEBBLE_HASH_TRIE_CLEAN_CACHE:-600} - --execution.caching.trie-clean-cache=${REAL_MAINNET_NITRO_ARCHIVE_PEBBLE_HASH_TRIE_CLEAN_CACHE:-600}
- --execution.caching.trie-dirty-cache=${REAL_MAINNET_NITRO_ARCHIVE_PEBBLE_HASH_TRIE_DIRTY_CACHE:-1024} - --execution.caching.trie-dirty-cache=${REAL_MAINNET_NITRO_ARCHIVE_PEBBLE_HASH_TRIE_DIRTY_CACHE:-1024}
- --execution.forwarding-target=https://rpc.realforreal.gelato.digital - --execution.forwarding-target=https://rpc.realforreal.gelato.digital
@@ -74,6 +75,7 @@ services:
- --node.sequencer=false - --node.sequencer=false
- --node.staker.enable=false - --node.staker.enable=false
- --parent-chain.blob-client.beacon-url=${ETHEREUM_MAINNET_BEACON_REST} - --parent-chain.blob-client.beacon-url=${ETHEREUM_MAINNET_BEACON_REST}
- --parent-chain.blob-client.secondary-beacon-url=${ETHEREUM_MAINNET_BEACON_REST_FALLBACK}
- --parent-chain.connection.url=${ETHEREUM_MAINNET_EXECUTION_RPC} - --parent-chain.connection.url=${ETHEREUM_MAINNET_EXECUTION_RPC}
- --persistent.chain=/root/.arbitrum/real-mainnet-archive - --persistent.chain=/root/.arbitrum/real-mainnet-archive
- --persistent.db-engine=pebble - --persistent.db-engine=pebble

View File

@@ -30,7 +30,7 @@ x-logging-defaults: &logging-defaults
services: services:
real-mainnet: real-mainnet:
image: ${REAL_NITRO_IMAGE:-offchainlabs/nitro-node}:${REAL_MAINNET_NITRO_VERSION:-v3.11.2-3599aca} image: ${REAL_NITRO_IMAGE:-offchainlabs/nitro-node}:${REAL_MAINNET_NITRO_VERSION:-v3.11.4-7d5ac27}
sysctls: sysctls:
# TCP Performance # TCP Performance
net.ipv4.tcp_slow_start_after_idle: 0 # Disable slow start after idle net.ipv4.tcp_slow_start_after_idle: 0 # Disable slow start after idle
@@ -74,6 +74,7 @@ services:
- --node.sequencer=false - --node.sequencer=false
- --node.staker.enable=false - --node.staker.enable=false
- --parent-chain.blob-client.beacon-url=${ETHEREUM_MAINNET_BEACON_REST} - --parent-chain.blob-client.beacon-url=${ETHEREUM_MAINNET_BEACON_REST}
- --parent-chain.blob-client.secondary-beacon-url=${ETHEREUM_MAINNET_BEACON_REST_FALLBACK}
- --parent-chain.connection.url=${ETHEREUM_MAINNET_EXECUTION_RPC} - --parent-chain.connection.url=${ETHEREUM_MAINNET_EXECUTION_RPC}
- --persistent.chain=/root/.arbitrum/real-mainnet - --persistent.chain=/root/.arbitrum/real-mainnet
- --persistent.db-engine=pebble - --persistent.db-engine=pebble

View File

@@ -30,7 +30,7 @@ x-logging-defaults: &logging-defaults
services: services:
robinhood-mainnet-archive: robinhood-mainnet-archive:
image: ${ROBINHOOD_NITRO_IMAGE:-offchainlabs/nitro-node}:${ROBINHOOD_MAINNET_NITRO_VERSION:-v3.11.2-3599aca} image: ${ROBINHOOD_NITRO_IMAGE:-offchainlabs/nitro-node}:${ROBINHOOD_MAINNET_NITRO_VERSION:-v3.11.4-7d5ac27}
sysctls: sysctls:
# TCP Performance # TCP Performance
net.ipv4.tcp_slow_start_after_idle: 0 # Disable slow start after idle net.ipv4.tcp_slow_start_after_idle: 0 # Disable slow start after idle

View File

@@ -30,7 +30,7 @@ x-logging-defaults: &logging-defaults
services: services:
robinhood-mainnet: robinhood-mainnet:
image: ${ROBINHOOD_NITRO_IMAGE:-offchainlabs/nitro-node}:${ROBINHOOD_MAINNET_NITRO_VERSION:-v3.11.2-3599aca} image: ${ROBINHOOD_NITRO_IMAGE:-offchainlabs/nitro-node}:${ROBINHOOD_MAINNET_NITRO_VERSION:-v3.11.4-7d5ac27}
sysctls: sysctls:
# TCP Performance # TCP Performance
net.ipv4.tcp_slow_start_after_idle: 0 # Disable slow start after idle net.ipv4.tcp_slow_start_after_idle: 0 # Disable slow start after idle
@@ -71,6 +71,7 @@ services:
- --node.sequencer=false - --node.sequencer=false
- --node.staker.enable=false - --node.staker.enable=false
- --parent-chain.blob-client.beacon-url=${ETHEREUM_MAINNET_BEACON_REST} - --parent-chain.blob-client.beacon-url=${ETHEREUM_MAINNET_BEACON_REST}
- --parent-chain.blob-client.secondary-beacon-url=${ETHEREUM_MAINNET_BEACON_REST_FALLBACK}
- --parent-chain.connection.url=${ETHEREUM_MAINNET_EXECUTION_RPC} - --parent-chain.connection.url=${ETHEREUM_MAINNET_EXECUTION_RPC}
- --persistent.chain=/root/.arbitrum/robinhood-mainnet - --persistent.chain=/root/.arbitrum/robinhood-mainnet
- --persistent.db-engine=pebble - --persistent.db-engine=pebble

View File

@@ -30,7 +30,7 @@ x-logging-defaults: &logging-defaults
services: services:
robinhood-testnet-archive: robinhood-testnet-archive:
image: ${ROBINHOOD_NITRO_IMAGE:-offchainlabs/nitro-node}:${ROBINHOOD_TESTNET_NITRO_VERSION:-v3.11.2-3599aca} image: ${ROBINHOOD_NITRO_IMAGE:-offchainlabs/nitro-node}:${ROBINHOOD_TESTNET_NITRO_VERSION:-v3.11.4-7d5ac27}
sysctls: sysctls:
# TCP Performance # TCP Performance
net.ipv4.tcp_slow_start_after_idle: 0 # Disable slow start after idle net.ipv4.tcp_slow_start_after_idle: 0 # Disable slow start after idle

View File

@@ -30,7 +30,7 @@ x-logging-defaults: &logging-defaults
services: services:
robinhood-testnet: robinhood-testnet:
image: ${ROBINHOOD_NITRO_IMAGE:-offchainlabs/nitro-node}:${ROBINHOOD_TESTNET_NITRO_VERSION:-v3.11.2-3599aca} image: ${ROBINHOOD_NITRO_IMAGE:-offchainlabs/nitro-node}:${ROBINHOOD_TESTNET_NITRO_VERSION:-v3.11.4-7d5ac27}
sysctls: sysctls:
# TCP Performance # TCP Performance
net.ipv4.tcp_slow_start_after_idle: 0 # Disable slow start after idle net.ipv4.tcp_slow_start_after_idle: 0 # Disable slow start after idle
@@ -71,6 +71,7 @@ services:
- --node.sequencer=false - --node.sequencer=false
- --node.staker.enable=false - --node.staker.enable=false
- --parent-chain.blob-client.beacon-url=${ETHEREUM_SEPOLIA_BEACON_REST} - --parent-chain.blob-client.beacon-url=${ETHEREUM_SEPOLIA_BEACON_REST}
- --parent-chain.blob-client.secondary-beacon-url=${ETHEREUM_SEPOLIA_BEACON_REST_FALLBACK}
- --parent-chain.connection.url=${ETHEREUM_SEPOLIA_EXECUTION_RPC} - --parent-chain.connection.url=${ETHEREUM_SEPOLIA_EXECUTION_RPC}
- --persistent.chain=/root/.arbitrum/robinhood-testnet - --persistent.chain=/root/.arbitrum/robinhood-testnet
- --persistent.db-engine=pebble - --persistent.db-engine=pebble

View File

@@ -30,7 +30,7 @@ x-logging-defaults: &logging-defaults
services: services:
arc-mainnet-archive-consensus-init: arc-mainnet-archive-consensus-init:
image: ${ARC_CONSENSUS_IMAGE:-docker.cloudsmith.io/circle/arc-network/arc-consensus}:${ARC_MAINNET_CONSENSUS_VERSION:-v0.7.3} image: ${ARC_CONSENSUS_IMAGE:-docker.cloudsmith.io/circle/arc-network/arc-consensus}:${ARC_MAINNET_CONSENSUS_VERSION:-0.8.0}
user: 0:0 user: 0:0
entrypoint: [/usr/local/bin/arc-node-consensus, init] entrypoint: [/usr/local/bin/arc-node-consensus, init]
command: command:
@@ -57,7 +57,7 @@ services:
logging: *logging-defaults logging: *logging-defaults
arc-mainnet-archive: arc-mainnet-archive:
image: ${ARC_RETH_IMAGE:-docker.cloudsmith.io/circle/arc-network/arc-execution}:${ARC_MAINNET_RETH_VERSION:-v0.7.3} image: ${ARC_RETH_IMAGE:-docker.cloudsmith.io/circle/arc-network/arc-execution}:${ARC_MAINNET_RETH_VERSION:-0.8.0}
sysctls: sysctls:
# TCP Performance # TCP Performance
net.ipv4.tcp_slow_start_after_idle: 0 # Disable slow start after idle net.ipv4.tcp_slow_start_after_idle: 0 # Disable slow start after idle
@@ -91,7 +91,7 @@ services:
- --ipcpath=/sockets/reth.ipc - --ipcpath=/sockets/reth.ipc
- --log.file.directory=/data/execution/logs - --log.file.directory=/data/execution/logs
- --metrics=0.0.0.0:9001 - --metrics=0.0.0.0:9001
- --rpc.forwarder=https://rpc.arc.network/ - --rpc.forwarder=https://rpc.mainnet.arc.io/
restart: unless-stopped restart: unless-stopped
stop_grace_period: 5m stop_grace_period: 5m
depends_on: depends_on:
@@ -119,7 +119,7 @@ services:
shm_size: 2gb shm_size: 2gb
arc-mainnet-archive-node: arc-mainnet-archive-node:
image: ${ARC_CONSENSUS_IMAGE:-docker.cloudsmith.io/circle/arc-network/arc-consensus}:${ARC_MAINNET_CONSENSUS_VERSION:-v0.7.3} image: ${ARC_CONSENSUS_IMAGE:-docker.cloudsmith.io/circle/arc-network/arc-consensus}:${ARC_MAINNET_CONSENSUS_VERSION:-0.8.0}
user: 0:0 user: 0:0
expose: expose:
- 31000 - 31000
@@ -131,8 +131,9 @@ services:
- --execution-persistence-backpressure-threshold=200 - --execution-persistence-backpressure-threshold=200
- --execution-socket=/sockets/auth.ipc - --execution-socket=/sockets/auth.ipc
- --follow - --follow
- --follow.endpoint=https://rpc.arc.network,wss=rpc.arc.network - --follow.endpoint=https://rpc.mainnet.arc.io,wss=rpc.mainnet.arc.io
- --follow.endpoint=https://arc.drpc.org,wss=arc.drpc.org - --follow.endpoint=https://rpc.quicknode.mainnet.arc.io,wss=rpc.quicknode.mainnet.arc.io
- --follow.endpoint=https://rpc.blockdaemon.mainnet.arc.io/websocket,wss=rpc.blockdaemon.mainnet.arc.io
- --full - --full
- --home=/data/consensus - --home=/data/consensus
- --metrics=0.0.0.0:29000 - --metrics=0.0.0.0:29000

View File

@@ -30,7 +30,7 @@ x-logging-defaults: &logging-defaults
services: services:
arc-mainnet-consensus-init: arc-mainnet-consensus-init:
image: ${ARC_CONSENSUS_IMAGE:-docker.cloudsmith.io/circle/arc-network/arc-consensus}:${ARC_MAINNET_CONSENSUS_VERSION:-v0.7.3} image: ${ARC_CONSENSUS_IMAGE:-docker.cloudsmith.io/circle/arc-network/arc-consensus}:${ARC_MAINNET_CONSENSUS_VERSION:-0.8.0}
user: 0:0 user: 0:0
entrypoint: [/usr/local/bin/arc-node-consensus, init] entrypoint: [/usr/local/bin/arc-node-consensus, init]
command: command:
@@ -57,7 +57,7 @@ services:
logging: *logging-defaults logging: *logging-defaults
arc-mainnet: arc-mainnet:
image: ${ARC_RETH_IMAGE:-docker.cloudsmith.io/circle/arc-network/arc-execution}:${ARC_MAINNET_RETH_VERSION:-v0.7.3} image: ${ARC_RETH_IMAGE:-docker.cloudsmith.io/circle/arc-network/arc-execution}:${ARC_MAINNET_RETH_VERSION:-0.8.0}
sysctls: sysctls:
# TCP Performance # TCP Performance
net.ipv4.tcp_slow_start_after_idle: 0 # Disable slow start after idle net.ipv4.tcp_slow_start_after_idle: 0 # Disable slow start after idle
@@ -92,7 +92,8 @@ services:
- --ipcpath=/sockets/reth.ipc - --ipcpath=/sockets/reth.ipc
- --log.file.directory=/data/execution/logs - --log.file.directory=/data/execution/logs
- --metrics=0.0.0.0:9001 - --metrics=0.0.0.0:9001
- --rpc.forwarder=https://rpc.arc.network/ - --prune.block-interval=5000
- --rpc.forwarder=https://rpc.mainnet.arc.io/
restart: unless-stopped restart: unless-stopped
stop_grace_period: 5m stop_grace_period: 5m
depends_on: depends_on:
@@ -120,7 +121,7 @@ services:
shm_size: 2gb shm_size: 2gb
arc-mainnet-node: arc-mainnet-node:
image: ${ARC_CONSENSUS_IMAGE:-docker.cloudsmith.io/circle/arc-network/arc-consensus}:${ARC_MAINNET_CONSENSUS_VERSION:-v0.7.3} image: ${ARC_CONSENSUS_IMAGE:-docker.cloudsmith.io/circle/arc-network/arc-consensus}:${ARC_MAINNET_CONSENSUS_VERSION:-0.8.0}
user: 0:0 user: 0:0
expose: expose:
- 31000 - 31000
@@ -132,8 +133,9 @@ services:
- --execution-persistence-backpressure-threshold=200 - --execution-persistence-backpressure-threshold=200
- --execution-socket=/sockets/auth.ipc - --execution-socket=/sockets/auth.ipc
- --follow - --follow
- --follow.endpoint=https://rpc.arc.network,wss=rpc.arc.network - --follow.endpoint=https://rpc.mainnet.arc.io,wss=rpc.mainnet.arc.io
- --follow.endpoint=https://arc.drpc.org,wss=arc.drpc.org - --follow.endpoint=https://rpc.quicknode.mainnet.arc.io,wss=rpc.quicknode.mainnet.arc.io
- --follow.endpoint=https://rpc.blockdaemon.mainnet.arc.io/websocket,wss=rpc.blockdaemon.mainnet.arc.io
- --full - --full
- --home=/data/consensus - --home=/data/consensus
- --metrics=0.0.0.0:29000 - --metrics=0.0.0.0:29000

View File

@@ -30,7 +30,7 @@ x-logging-defaults: &logging-defaults
services: services:
arc-testnet-archive-consensus-init: arc-testnet-archive-consensus-init:
image: ${ARC_CONSENSUS_IMAGE:-docker.cloudsmith.io/circle/arc-network/arc-consensus}:${ARC_TESTNET_CONSENSUS_VERSION:-v0.7.3} image: ${ARC_CONSENSUS_IMAGE:-docker.cloudsmith.io/circle/arc-network/arc-consensus}:${ARC_TESTNET_CONSENSUS_VERSION:-0.8.0}
user: 0:0 user: 0:0
entrypoint: [/usr/local/bin/arc-node-consensus, init] entrypoint: [/usr/local/bin/arc-node-consensus, init]
command: command:
@@ -57,7 +57,7 @@ services:
logging: *logging-defaults logging: *logging-defaults
arc-testnet-archive: arc-testnet-archive:
image: ${ARC_RETH_IMAGE:-docker.cloudsmith.io/circle/arc-network/arc-execution}:${ARC_TESTNET_RETH_VERSION:-v0.7.3} image: ${ARC_RETH_IMAGE:-docker.cloudsmith.io/circle/arc-network/arc-execution}:${ARC_TESTNET_RETH_VERSION:-0.8.0}
sysctls: sysctls:
# TCP Performance # TCP Performance
net.ipv4.tcp_slow_start_after_idle: 0 # Disable slow start after idle net.ipv4.tcp_slow_start_after_idle: 0 # Disable slow start after idle
@@ -119,7 +119,7 @@ services:
shm_size: 2gb shm_size: 2gb
arc-testnet-archive-node: arc-testnet-archive-node:
image: ${ARC_CONSENSUS_IMAGE:-docker.cloudsmith.io/circle/arc-network/arc-consensus}:${ARC_TESTNET_CONSENSUS_VERSION:-v0.7.3} image: ${ARC_CONSENSUS_IMAGE:-docker.cloudsmith.io/circle/arc-network/arc-consensus}:${ARC_TESTNET_CONSENSUS_VERSION:-0.8.0}
user: 0:0 user: 0:0
expose: expose:
- 31000 - 31000

View File

@@ -30,7 +30,7 @@ x-logging-defaults: &logging-defaults
services: services:
arc-testnet-consensus-init: arc-testnet-consensus-init:
image: ${ARC_CONSENSUS_IMAGE:-docker.cloudsmith.io/circle/arc-network/arc-consensus}:${ARC_TESTNET_CONSENSUS_VERSION:-v0.7.3} image: ${ARC_CONSENSUS_IMAGE:-docker.cloudsmith.io/circle/arc-network/arc-consensus}:${ARC_TESTNET_CONSENSUS_VERSION:-0.8.0}
user: 0:0 user: 0:0
entrypoint: [/usr/local/bin/arc-node-consensus, init] entrypoint: [/usr/local/bin/arc-node-consensus, init]
command: command:
@@ -57,7 +57,7 @@ services:
logging: *logging-defaults logging: *logging-defaults
arc-testnet: arc-testnet:
image: ${ARC_RETH_IMAGE:-docker.cloudsmith.io/circle/arc-network/arc-execution}:${ARC_TESTNET_RETH_VERSION:-v0.7.3} image: ${ARC_RETH_IMAGE:-docker.cloudsmith.io/circle/arc-network/arc-execution}:${ARC_TESTNET_RETH_VERSION:-0.8.0}
sysctls: sysctls:
# TCP Performance # TCP Performance
net.ipv4.tcp_slow_start_after_idle: 0 # Disable slow start after idle net.ipv4.tcp_slow_start_after_idle: 0 # Disable slow start after idle
@@ -92,6 +92,7 @@ services:
- --ipcpath=/sockets/reth.ipc - --ipcpath=/sockets/reth.ipc
- --log.file.directory=/data/execution/logs - --log.file.directory=/data/execution/logs
- --metrics=0.0.0.0:9001 - --metrics=0.0.0.0:9001
- --prune.block-interval=5000
- --rpc.forwarder=https://rpc.quicknode.testnet.arc.network/ - --rpc.forwarder=https://rpc.quicknode.testnet.arc.network/
restart: unless-stopped restart: unless-stopped
stop_grace_period: 5m stop_grace_period: 5m
@@ -120,7 +121,7 @@ services:
shm_size: 2gb shm_size: 2gb
arc-testnet-node: arc-testnet-node:
image: ${ARC_CONSENSUS_IMAGE:-docker.cloudsmith.io/circle/arc-network/arc-consensus}:${ARC_TESTNET_CONSENSUS_VERSION:-v0.7.3} image: ${ARC_CONSENSUS_IMAGE:-docker.cloudsmith.io/circle/arc-network/arc-consensus}:${ARC_TESTNET_CONSENSUS_VERSION:-0.8.0}
user: 0:0 user: 0:0
expose: expose:
- 31000 - 31000

View File

@@ -30,7 +30,7 @@ x-logging-defaults: &logging-defaults
services: services:
arc-testnet-consensus-init: arc-testnet-consensus-init:
image: ${ARC_CONSENSUS_IMAGE:-docker.cloudsmith.io/circle/arc-network/arc-consensus}:${ARC_TESTNET_CONSENSUS_VERSION:-v0.7.3} image: ${ARC_CONSENSUS_IMAGE:-docker.cloudsmith.io/circle/arc-network/arc-consensus}:${ARC_TESTNET_CONSENSUS_VERSION:-0.8.0}
user: 0:0 user: 0:0
entrypoint: [/usr/local/bin/arc-node-consensus, init] entrypoint: [/usr/local/bin/arc-node-consensus, init]
command: command:
@@ -57,7 +57,7 @@ services:
logging: *logging-defaults logging: *logging-defaults
arc-testnet: arc-testnet:
image: ${ARC_RETH_IMAGE:-docker.cloudsmith.io/circle/arc-network/arc-execution}:${ARC_TESTNET_RETH_VERSION:-v0.7.3} image: ${ARC_RETH_IMAGE:-docker.cloudsmith.io/circle/arc-network/arc-execution}:${ARC_TESTNET_RETH_VERSION:-0.8.0}
sysctls: sysctls:
# TCP Performance # TCP Performance
net.ipv4.tcp_slow_start_after_idle: 0 # Disable slow start after idle net.ipv4.tcp_slow_start_after_idle: 0 # Disable slow start after idle
@@ -92,6 +92,7 @@ services:
- --ipcpath=/sockets/reth.ipc - --ipcpath=/sockets/reth.ipc
- --log.file.directory=/data/execution/logs - --log.file.directory=/data/execution/logs
- --metrics=0.0.0.0:9001 - --metrics=0.0.0.0:9001
- --prune.block-interval=5000
- --rpc.forwarder=https://rpc.quicknode.testnet.arc.network/ - --rpc.forwarder=https://rpc.quicknode.testnet.arc.network/
restart: unless-stopped restart: unless-stopped
stop_grace_period: 5m stop_grace_period: 5m
@@ -120,7 +121,7 @@ services:
shm_size: 2gb shm_size: 2gb
arc-testnet-node: arc-testnet-node:
image: ${ARC_CONSENSUS_IMAGE:-docker.cloudsmith.io/circle/arc-network/arc-consensus}:${ARC_TESTNET_CONSENSUS_VERSION:-v0.7.3} image: ${ARC_CONSENSUS_IMAGE:-docker.cloudsmith.io/circle/arc-network/arc-consensus}:${ARC_TESTNET_CONSENSUS_VERSION:-0.8.0}
user: 0:0 user: 0:0
expose: expose:
- 31000 - 31000

View File

@@ -2,5 +2,18 @@
"state-sync-enabled": false, "state-sync-enabled": false,
"pruning-enabled": false, "pruning-enabled": false,
"rpc-gas-cap": 2500000000, "rpc-gas-cap": 2500000000,
"eth-rpc-gas-limit": 2500000000 "eth-rpc-gas-limit": 2500000000,
"eth-apis": [
"eth",
"eth-filter",
"net",
"web3",
"internal-eth",
"internal-blockchain",
"internal-transaction",
"debug",
"debug-tracer",
"debug-file-tracer",
"debug-handler"
]
} }

View File

@@ -2,5 +2,18 @@
"rpc-gas-cap": 2500000000, "rpc-gas-cap": 2500000000,
"eth-rpc-gas-limit": 2500000000, "eth-rpc-gas-limit": 2500000000,
"state-sync-enabled": true, "state-sync-enabled": true,
"state-sync-skip-resume": true "state-sync-skip-resume": true,
"eth-apis": [
"eth",
"eth-filter",
"net",
"web3",
"internal-eth",
"internal-blockchain",
"internal-transaction",
"debug",
"debug-tracer",
"debug-file-tracer",
"debug-handler"
]
} }

View File

@@ -1,119 +0,0 @@
---
x-logging-defaults: &logging-defaults
driver: json-file
options:
max-size: "512m"
max-file: "2"
# Usage:
#
# mkdir rpc && cd rpc
#
# git init
# git remote add origin https://github.com/StakeSquid/ethereum-rpc-docker.git
# git fetch origin vibe
# git checkout origin/vibe
#
# docker run --rm alpine sh -c "printf '0x'; head -c32 /dev/urandom | xxd -p -c 64" > .jwtsecret
#
# env
# ...
# IP=$(curl ipinfo.io/ip)
# DOMAIN=${IP}.traefik.me
# COMPOSE_FILE=base.yml:rpc.yml:avalanche/go/avalanche-fuji-go-pruned-pebbledb.yml
#
# docker compose up -d
#
# curl -X POST https://${IP}.traefik.me/avalanche-fuji \
# -H "Content-Type: application/json" \
# --data '{"jsonrpc":"2.0","method":"eth_blockNumber","params":[],"id":1}'
services:
avalanche-fuji:
image: ${AVALANCHE_GO_IMAGE:-avaplatform/avalanchego}:${AVALANCHE_FUJI_GO_VERSION:-v1.15.0-fuji}
sysctls:
# TCP Performance
net.ipv4.tcp_slow_start_after_idle: 0 # Disable slow start after idle
net.ipv4.tcp_no_metrics_save: 1 # Disable metrics cache
net.ipv4.tcp_rmem: 4096 87380 16777216 # Increase TCP read buffers
net.ipv4.tcp_wmem: 4096 87380 16777216 # Increase TCP write buffers
net.core.somaxconn: 32768 # Higher connection queue
# Memory/Connection Management
# net.core.netdev_max_backlog: 50000 # Increase network buffer
net.ipv4.tcp_max_syn_backlog: 30000 # More SYN requests
net.ipv4.tcp_max_tw_buckets: 2000000 # Allow more TIME_WAIT sockets
ulimits:
nofile: 1048576 # Max open files (for RPC/WS connections)
user: root
ports:
- 10350:10350
- 10350:10350/udp
expose:
- 9650
entrypoint: [/bin/sh, -c, mkdir -p /root/.avalanchego/offline-pruning && exec /avalanchego/build/avalanchego "$@", --]
command:
- --chain-config-dir=/config/prune
- --db-type=pebbledb
- --http-allowed-hosts=*
- --http-host=
- --network-id=fuji
- --public-ip=${IP}
- --staking-port=10350
restart: unless-stopped
stop_grace_period: 5m
networks:
- chains
volumes:
- ${AVALANCHE_FUJI_GO_PRUNED_PEBBLEDB_DATA:-avalanche-fuji-go-pruned-pebbledb}:/root/.avalanchego
- ./avalanche/fuji:/config
- /slowdisk:/slowdisk
logging: *logging-defaults
labels:
- prometheus-scrape.enabled=false
- traefik.enable=true
- traefik.http.middlewares.avalanche-fuji-go-pruned-pebbledb-set-path.replacepath.path=/ext/bc/C/rpc
- traefik.http.middlewares.avalanche-fuji-go-pruned-pebbledb-stripprefix.stripprefix.prefixes=/avalanche-fuji
- traefik.http.services.avalanche-fuji-go-pruned-pebbledb.loadbalancer.server.port=9650
- ${NO_SSL:-traefik.http.routers.avalanche-fuji-go-pruned-pebbledb.entrypoints=websecure}
- ${NO_SSL:-traefik.http.routers.avalanche-fuji-go-pruned-pebbledb.tls.certresolver=myresolver}
- ${NO_SSL:-traefik.http.routers.avalanche-fuji-go-pruned-pebbledb.rule=Host(`$DOMAIN`) && (Path(`/avalanche-fuji`) || Path(`/avalanche-fuji/`))}
- ${NO_SSL:+traefik.http.routers.avalanche-fuji-go-pruned-pebbledb.rule=Path(`/avalanche-fuji`) || Path(`/avalanche-fuji/`)}
- traefik.http.routers.avalanche-fuji-go-pruned-pebbledb.middlewares=avalanche-fuji-go-pruned-pebbledb-stripprefix, avalanche-fuji-go-pruned-pebbledb-set-path, ipallowlist
- traefik.http.routers.avalanche-fuji-go-pruned-pebbledb.priority=50 # gets any request that is not GET with UPGRADE header
- traefik.http.routers.avalanche-fuji-go-pruned-pebbledb-ws.priority=100 # answers GET requests first
- traefik.http.middlewares.avalanche-fuji-go-pruned-pebbledb-set-ws-path.replacepath.path=/ext/bc/C/ws
- traefik.http.services.avalanche-fuji-go-pruned-pebbledb-ws.loadbalancer.server.port=9650
- traefik.http.routers.avalanche-fuji-go-pruned-pebbledb-ws.service=avalanche-fuji-go-pruned-pebbledb-ws
- traefik.http.routers.avalanche-fuji-go-pruned-pebbledb.service=avalanche-fuji-go-pruned-pebbledb
- ${NO_SSL:-traefik.http.routers.avalanche-fuji-go-pruned-pebbledb-ws.entrypoints=websecure}
- ${NO_SSL:-traefik.http.routers.avalanche-fuji-go-pruned-pebbledb-ws.tls.certresolver=myresolver}
# case-insensitive Upgrade: python websocket-client sends "WebSocket" (capital W)
- ${NO_SSL:-traefik.http.routers.avalanche-fuji-go-pruned-pebbledb-ws.rule=Host(`$DOMAIN`) && (Path(`/avalanche-fuji`) || Path(`/avalanche-fuji/`)) && HeadersRegexp(`Upgrade`, `(?i)websocket`)}
- ${NO_SSL:+traefik.http.routers.avalanche-fuji-go-pruned-pebbledb-ws.rule=(Path(`/avalanche-fuji`) || Path(`/avalanche-fuji/`)) && HeadersRegexp(`Upgrade`, `(?i)websocket`)}
- traefik.http.routers.avalanche-fuji-go-pruned-pebbledb-ws.middlewares=avalanche-fuji-go-pruned-pebbledb-stripprefix, avalanche-fuji-go-pruned-pebbledb-set-ws-path, ipallowlist
volumes:
avalanche-fuji-go-pruned-pebbledb:
x-upstreams:
- id: $${ID}
labels:
provider: $${PROVIDER}
connection:
generic:
rpc:
url: $${RPC_URL}
ws:
frameSize: 20Mb
msgSize: 50Mb
url: $${WS_URL}
chain: avalanche-fuji
method-groups:
enabled:
- debug
- filter
methods:
disabled:
enabled:
- name: txpool_content # TODO: should be disabled for rollup nodes
...

View File

@@ -1,119 +0,0 @@
---
x-logging-defaults: &logging-defaults
driver: json-file
options:
max-size: "512m"
max-file: "2"
# Usage:
#
# mkdir rpc && cd rpc
#
# git init
# git remote add origin https://github.com/StakeSquid/ethereum-rpc-docker.git
# git fetch origin vibe
# git checkout origin/vibe
#
# docker run --rm alpine sh -c "printf '0x'; head -c32 /dev/urandom | xxd -p -c 64" > .jwtsecret
#
# env
# ...
# IP=$(curl ipinfo.io/ip)
# DOMAIN=${IP}.traefik.me
# COMPOSE_FILE=base.yml:rpc.yml:avalanche/go/avalanche-fuji-go-pruned-pebbledb.yml
#
# docker compose up -d
#
# curl -X POST https://${IP}.traefik.me/avalanche-fuji \
# -H "Content-Type: application/json" \
# --data '{"jsonrpc":"2.0","method":"eth_blockNumber","params":[],"id":1}'
services:
avalanche-fuji:
image: ${AVALANCHE_GO_IMAGE:-avaplatform/avalanchego}:${AVALANCHE_FUJI_GO_VERSION:-v1.15.0-fuji}
sysctls:
# TCP Performance
net.ipv4.tcp_slow_start_after_idle: 0 # Disable slow start after idle
net.ipv4.tcp_no_metrics_save: 1 # Disable metrics cache
net.ipv4.tcp_rmem: 4096 87380 16777216 # Increase TCP read buffers
net.ipv4.tcp_wmem: 4096 87380 16777216 # Increase TCP write buffers
net.core.somaxconn: 32768 # Higher connection queue
# Memory/Connection Management
# net.core.netdev_max_backlog: 50000 # Increase network buffer
net.ipv4.tcp_max_syn_backlog: 30000 # More SYN requests
net.ipv4.tcp_max_tw_buckets: 2000000 # Allow more TIME_WAIT sockets
ulimits:
nofile: 1048576 # Max open files (for RPC/WS connections)
user: root
ports:
- 10350:10350
- 10350:10350/udp
expose:
- 9650
entrypoint: [/avalanchego/build/avalanchego]
command:
- --chain-config-dir=/config/pruned
- --db-type=pebbledb
- --http-allowed-hosts=*
- --http-host=
- --network-id=fuji
- --public-ip=${IP}
- --staking-port=10350
restart: unless-stopped
stop_grace_period: 5m
networks:
- chains
volumes:
- ${AVALANCHE_FUJI_GO_PRUNED_PEBBLEDB_DATA:-avalanche-fuji-go-pruned-pebbledb}:/root/.avalanchego
- ./avalanche/fuji:/config
- /slowdisk:/slowdisk
logging: *logging-defaults
labels:
- prometheus-scrape.enabled=false
- traefik.enable=true
- traefik.http.middlewares.avalanche-fuji-go-pruned-pebbledb-set-path.replacepath.path=/ext/bc/C/rpc
- traefik.http.middlewares.avalanche-fuji-go-pruned-pebbledb-stripprefix.stripprefix.prefixes=/avalanche-fuji
- traefik.http.services.avalanche-fuji-go-pruned-pebbledb.loadbalancer.server.port=9650
- ${NO_SSL:-traefik.http.routers.avalanche-fuji-go-pruned-pebbledb.entrypoints=websecure}
- ${NO_SSL:-traefik.http.routers.avalanche-fuji-go-pruned-pebbledb.tls.certresolver=myresolver}
- ${NO_SSL:-traefik.http.routers.avalanche-fuji-go-pruned-pebbledb.rule=Host(`$DOMAIN`) && (Path(`/avalanche-fuji`) || Path(`/avalanche-fuji/`))}
- ${NO_SSL:+traefik.http.routers.avalanche-fuji-go-pruned-pebbledb.rule=Path(`/avalanche-fuji`) || Path(`/avalanche-fuji/`)}
- traefik.http.routers.avalanche-fuji-go-pruned-pebbledb.middlewares=avalanche-fuji-go-pruned-pebbledb-stripprefix, avalanche-fuji-go-pruned-pebbledb-set-path, ipallowlist
- traefik.http.routers.avalanche-fuji-go-pruned-pebbledb.priority=50 # gets any request that is not GET with UPGRADE header
- traefik.http.routers.avalanche-fuji-go-pruned-pebbledb-ws.priority=100 # answers GET requests first
- traefik.http.middlewares.avalanche-fuji-go-pruned-pebbledb-set-ws-path.replacepath.path=/ext/bc/C/ws
- traefik.http.services.avalanche-fuji-go-pruned-pebbledb-ws.loadbalancer.server.port=9650
- traefik.http.routers.avalanche-fuji-go-pruned-pebbledb-ws.service=avalanche-fuji-go-pruned-pebbledb-ws
- traefik.http.routers.avalanche-fuji-go-pruned-pebbledb.service=avalanche-fuji-go-pruned-pebbledb
- ${NO_SSL:-traefik.http.routers.avalanche-fuji-go-pruned-pebbledb-ws.entrypoints=websecure}
- ${NO_SSL:-traefik.http.routers.avalanche-fuji-go-pruned-pebbledb-ws.tls.certresolver=myresolver}
# case-insensitive Upgrade: python websocket-client sends "WebSocket" (capital W)
- ${NO_SSL:-traefik.http.routers.avalanche-fuji-go-pruned-pebbledb-ws.rule=Host(`$DOMAIN`) && (Path(`/avalanche-fuji`) || Path(`/avalanche-fuji/`)) && HeadersRegexp(`Upgrade`, `(?i)websocket`)}
- ${NO_SSL:+traefik.http.routers.avalanche-fuji-go-pruned-pebbledb-ws.rule=(Path(`/avalanche-fuji`) || Path(`/avalanche-fuji/`)) && HeadersRegexp(`Upgrade`, `(?i)websocket`)}
- traefik.http.routers.avalanche-fuji-go-pruned-pebbledb-ws.middlewares=avalanche-fuji-go-pruned-pebbledb-stripprefix, avalanche-fuji-go-pruned-pebbledb-set-ws-path, ipallowlist
volumes:
avalanche-fuji-go-pruned-pebbledb:
x-upstreams:
- id: $${ID}
labels:
provider: $${PROVIDER}
connection:
generic:
rpc:
url: $${RPC_URL}
ws:
frameSize: 20Mb
msgSize: 50Mb
url: $${WS_URL}
chain: avalanche-fuji
method-groups:
enabled:
- debug
- filter
methods:
disabled:
enabled:
- name: txpool_content # TODO: should be disabled for rollup nodes
...

View File

@@ -0,0 +1,120 @@
---
x-logging-defaults: &logging-defaults
driver: json-file
options:
max-size: "512m"
max-file: "2"
# Usage:
#
# mkdir rpc && cd rpc
#
# git init
# git remote add origin https://github.com/StakeSquid/ethereum-rpc-docker.git
# git fetch origin vibe
# git checkout origin/vibe
#
# docker run --rm alpine sh -c "printf '0x'; head -c32 /dev/urandom | xxd -p -c 64" > .jwtsecret
#
# env
# ...
# IP=$(curl ipinfo.io/ip)
# DOMAIN=${IP}.traefik.me
# COMPOSE_FILE=base.yml:rpc.yml:avalanche/go/avalanche-mainnet-go-firewood-firewood.yml
#
# docker compose up -d
#
# curl -X POST https://${IP}.traefik.me/avalanche-mainnet-firewood \
# -H "Content-Type: application/json" \
# --data '{"jsonrpc":"2.0","method":"eth_blockNumber","params":[],"id":1}'
services:
avalanche-mainnet-firewood:
image: ${AVALANCHE_GO_IMAGE:-avaplatform/avalanchego}:${AVALANCHE_MAINNET_GO_VERSION:-v1.14.2}
sysctls:
# TCP Performance
net.ipv4.tcp_slow_start_after_idle: 0 # Disable slow start after idle
net.ipv4.tcp_no_metrics_save: 1 # Disable metrics cache
net.ipv4.tcp_rmem: 4096 87380 16777216 # Increase TCP read buffers
net.ipv4.tcp_wmem: 4096 87380 16777216 # Increase TCP write buffers
net.core.somaxconn: 32768 # Higher connection queue
# Memory/Connection Management
# net.core.netdev_max_backlog: 50000 # Increase network buffer
net.ipv4.tcp_max_syn_backlog: 30000 # More SYN requests
net.ipv4.tcp_max_tw_buckets: 2000000 # Allow more TIME_WAIT sockets
ulimits:
nofile: 1048576 # Max open files (for RPC/WS connections)
user: root
ports:
- 13144:13144
- 13144:13144/udp
expose:
- 9650
entrypoint: [/avalanchego/build/avalanchego]
command:
- --chain-config-dir=/config/firewood
- --coreth-state-scheme=firewood
- --db-type=firewood
- --http-allowed-hosts=*
- --http-host=
- --network-id=mainnet
- --public-ip=${IP}
- --staking-port=13144
restart: unless-stopped
stop_grace_period: 5m
networks:
- chains
volumes:
- ${AVALANCHE_MAINNET_GO_FIREWOOD_FIREWOOD_DATA:-avalanche-mainnet-go-firewood-firewood}:/root/.avalanchego
- ./avalanche/mainnet:/config
- /slowdisk:/slowdisk
logging: *logging-defaults
labels:
- prometheus-scrape.enabled=false
- traefik.enable=true
- traefik.http.middlewares.avalanche-mainnet-go-firewood-firewood-set-path.replacepath.path=/ext/bc/C/rpc
- traefik.http.middlewares.avalanche-mainnet-go-firewood-firewood-stripprefix.stripprefix.prefixes=/avalanche-mainnet-firewood
- traefik.http.services.avalanche-mainnet-go-firewood-firewood.loadbalancer.server.port=9650
- ${NO_SSL:-traefik.http.routers.avalanche-mainnet-go-firewood-firewood.entrypoints=websecure}
- ${NO_SSL:-traefik.http.routers.avalanche-mainnet-go-firewood-firewood.tls.certresolver=myresolver}
- ${NO_SSL:-traefik.http.routers.avalanche-mainnet-go-firewood-firewood.rule=Host(`$DOMAIN`) && (Path(`/avalanche-mainnet-firewood`) || Path(`/avalanche-mainnet-firewood/`))}
- ${NO_SSL:+traefik.http.routers.avalanche-mainnet-go-firewood-firewood.rule=Path(`/avalanche-mainnet-firewood`) || Path(`/avalanche-mainnet-firewood/`)}
- traefik.http.routers.avalanche-mainnet-go-firewood-firewood.middlewares=avalanche-mainnet-go-firewood-firewood-stripprefix, avalanche-mainnet-go-firewood-firewood-set-path, ipallowlist
- traefik.http.routers.avalanche-mainnet-go-firewood-firewood.priority=50 # gets any request that is not GET with UPGRADE header
- traefik.http.routers.avalanche-mainnet-go-firewood-firewood-ws.priority=100 # answers GET requests first
- traefik.http.middlewares.avalanche-mainnet-go-firewood-firewood-set-ws-path.replacepath.path=/ext/bc/C/ws
- traefik.http.services.avalanche-mainnet-go-firewood-firewood-ws.loadbalancer.server.port=9650
- traefik.http.routers.avalanche-mainnet-go-firewood-firewood-ws.service=avalanche-mainnet-go-firewood-firewood-ws
- traefik.http.routers.avalanche-mainnet-go-firewood-firewood.service=avalanche-mainnet-go-firewood-firewood
- ${NO_SSL:-traefik.http.routers.avalanche-mainnet-go-firewood-firewood-ws.entrypoints=websecure}
- ${NO_SSL:-traefik.http.routers.avalanche-mainnet-go-firewood-firewood-ws.tls.certresolver=myresolver}
# case-insensitive Upgrade: python websocket-client sends "WebSocket" (capital W)
- ${NO_SSL:-traefik.http.routers.avalanche-mainnet-go-firewood-firewood-ws.rule=Host(`$DOMAIN`) && (Path(`/avalanche-mainnet-firewood`) || Path(`/avalanche-mainnet-firewood/`)) && HeadersRegexp(`Upgrade`, `(?i)websocket`)}
- ${NO_SSL:+traefik.http.routers.avalanche-mainnet-go-firewood-firewood-ws.rule=(Path(`/avalanche-mainnet-firewood`) || Path(`/avalanche-mainnet-firewood/`)) && HeadersRegexp(`Upgrade`, `(?i)websocket`)}
- traefik.http.routers.avalanche-mainnet-go-firewood-firewood-ws.middlewares=avalanche-mainnet-go-firewood-firewood-stripprefix, avalanche-mainnet-go-firewood-firewood-set-ws-path, ipallowlist
volumes:
avalanche-mainnet-go-firewood-firewood:
x-upstreams:
- id: $${ID}
labels:
provider: $${PROVIDER}
connection:
generic:
rpc:
url: $${RPC_URL}
ws:
frameSize: 20Mb
msgSize: 50Mb
url: $${WS_URL}
chain: avalanche
method-groups:
enabled:
- debug
- filter
methods:
disabled:
enabled:
- name: txpool_content # TODO: should be disabled for rollup nodes
...

View File

@@ -1,4 +1,17 @@
{ {
"state-sync-enabled": false, "state-sync-enabled": false,
"pruning-enabled": false "pruning-enabled": false,
"eth-apis": [
"eth",
"eth-filter",
"net",
"web3",
"internal-eth",
"internal-blockchain",
"internal-transaction",
"debug",
"debug-tracer",
"debug-file-tracer",
"debug-handler"
]
} }

View File

@@ -0,0 +1,29 @@
{
"rpc-gas-cap": 2500000000,
"rpc-tx-fee-cap": 100,
"eth-rpc-gas-limit": 2500000000,
"local-txs-enabled": false,
"pruning-enabled": false,
"api-max-duration": 0,
"api-max-blocks-per-request": 0,
"allow-unfinalized-queries": false,
"log-level": "info",
"state-sync-enabled": true,
"state-sync-skip-resume": true,
"state-scheme": "firewood",
"populate-missing-tries": null,
"snapshot-cache": 0,
"eth-apis": [
"eth",
"eth-filter",
"net",
"web3",
"internal-eth",
"internal-blockchain",
"internal-transaction",
"debug",
"debug-tracer",
"debug-file-tracer",
"debug-handler"
]
}

View File

@@ -1,15 +1,7 @@
{ {
"snowman-api-enabled": false,
"coreth-admin-api-enabled": false,
"net-api-enabled": true,
"rpc-gas-cap": 2500000000, "rpc-gas-cap": 2500000000,
"rpc-tx-fee-cap": 100, "rpc-tx-fee-cap": 100,
"eth-rpc-gas-limit": 2500000000, "eth-rpc-gas-limit": 2500000000,
"eth-api-enabled": true,
"personal-api-enabled": false,
"tx-pool-api-enabled": false,
"debug-api-enabled": false,
"web3-api-enabled": true,
"local-txs-enabled": false, "local-txs-enabled": false,
"pruning-enabled": true, "pruning-enabled": true,
"api-max-duration": 0, "api-max-duration": 0,
@@ -17,5 +9,18 @@
"allow-unfinalized-queries": false, "allow-unfinalized-queries": false,
"log-level": "info", "log-level": "info",
"state-sync-enabled": true, "state-sync-enabled": true,
"state-sync-skip-resume": true "state-sync-skip-resume": true,
"eth-apis": [
"eth",
"eth-filter",
"net",
"web3",
"internal-eth",
"internal-blockchain",
"internal-transaction",
"debug",
"debug-tracer",
"debug-file-tracer",
"debug-handler"
]
} }

View File

@@ -35,7 +35,7 @@ services:
dockerfile: cometbft.Dockerfile dockerfile: cometbft.Dockerfile
args: args:
CL_IMAGE: ${BABYLON_BABYLOND_IMAGE:-babylonlabs/babylond} CL_IMAGE: ${BABYLON_BABYLOND_IMAGE:-babylonlabs/babylond}
CL_VERSION: ${BABYLON_MAINNET_BABYLOND_VERSION:-v4.3.0} CL_VERSION: ${BABYLON_MAINNET_BABYLOND_VERSION:-v4.4.0}
sysctls: sysctls:
# TCP Performance # TCP Performance
net.ipv4.tcp_slow_start_after_idle: 0 # Disable slow start after idle net.ipv4.tcp_slow_start_after_idle: 0 # Disable slow start after idle

View File

@@ -68,11 +68,28 @@ ct_merge_seeds() {
ct_log "no official seeds fetched from $_url (continuing with configured)" ct_log "no official seeds fetched from $_url (continuing with configured)"
fi fi
fi fi
_seeds=$(ct_valid_peers "$_seeds")
if [ -n "$_seeds" ]; then if [ -n "$_seeds" ]; then
sed -i "s/^seeds = \".*\"/seeds = \"${_seeds}\"/" "$_cfg" sed -i "s/^seeds = \".*\"/seeds = \"${_seeds}\"/" "$_cfg"
fi fi
} }
# ct_valid_peers LIST
# Keep only well-formed CometBFT peer entries (<40-hex node id>@<host>:<port>), drop and
# log the rest. A truncated id such as 7c153a83@peer.haqq.mainnet.dteam.tech:28656 makes
# haqqd refuse to start ("invalid node ID"), 2026-09-07 rpc-de-31.
ct_valid_peers() {
_in="$1"; _out=""
for _p in $(echo "$_in" | tr ',' ' '); do
if echo "$_p" | grep -Eqi '^[0-9a-f]{40}@[^@,:]+:[0-9]+$'; then
_out="${_out:+$_out,}$_p"
else
ct_log "dropping malformed peer entry: $_p"
fi
done
echo "$_out"
}
# ct_set_persistent_peers CONFIG_TOML PEERS # ct_set_persistent_peers CONFIG_TOML PEERS
# Handles both cometbft-classic `persistent_peers` (underscore) and forks that use # Handles both cometbft-classic `persistent_peers` (underscore) and forks that use
# `persistent-peers` (hyphen, e.g. sei) — patches whichever key is present. # `persistent-peers` (hyphen, e.g. sei) — patches whichever key is present.
@@ -80,6 +97,8 @@ ct_set_persistent_peers() {
_cfg="$1"; _peers="$2" _cfg="$1"; _peers="$2"
[ -f "$_cfg" ] || return 0 [ -f "$_cfg" ] || return 0
[ -n "$_peers" ] || return 0 [ -n "$_peers" ] || return 0
_peers=$(ct_valid_peers "$_peers")
[ -n "$_peers" ] || return 0
sed -i "s/^persistent_peers = \".*\"/persistent_peers = \"${_peers}\"/" "$_cfg" sed -i "s/^persistent_peers = \".*\"/persistent_peers = \"${_peers}\"/" "$_cfg"
sed -i "s/^persistent-peers = \".*\"/persistent-peers = \"${_peers}\"/" "$_cfg" sed -i "s/^persistent-peers = \".*\"/persistent-peers = \"${_peers}\"/" "$_cfg"
return 0 return 0

View File

@@ -1,4 +1,11 @@
networks: networks:
# Second network Traefik also listens on, so a service can be routed WITHOUT
# sitting on `chains` next to the RPC nodes, Redis and the Traefik API (a
# public-facing site next to unauthenticated :8545 endpoints is a foothold we
# do not want to hand out). Overridable per host via TRAEFIK_EXTRA_NETWORK;
# the default is an empty bridge, so hosts that do not use it are unaffected.
extra:
name: ${TRAEFIK_EXTRA_NETWORK:-rpc_extra}
chains: chains:
driver: bridge driver: bridge
ipam: ipam:

View File

@@ -30,7 +30,7 @@ x-logging-defaults: &logging-defaults
services: services:
bitcoin-cash-mainnet: bitcoin-cash-mainnet:
image: ${BITCOIN_CASH_BITCOIND_IMAGE:-bitcoinabc/bitcoin-abc}:${BITCOIN_CASH_MAINNET_BITCOIND_VERSION:-0.33.8} image: ${BITCOIN_CASH_BITCOIND_IMAGE:-bitcoinabc/bitcoin-abc}:${BITCOIN_CASH_MAINNET_BITCOIND_VERSION:-0.33.11}
sysctls: sysctls:
# TCP Performance # TCP Performance
net.ipv4.tcp_slow_start_after_idle: 0 # Disable slow start after idle net.ipv4.tcp_slow_start_after_idle: 0 # Disable slow start after idle

View File

@@ -30,7 +30,7 @@ x-logging-defaults: &logging-defaults
services: services:
bitcoin-cash-testnet: bitcoin-cash-testnet:
image: ${BITCOIN_CASH_BITCOIND_IMAGE:-bitcoinabc/bitcoin-abc}:${BITCOIN_CASH_TESTNET_BITCOIND_VERSION:-0.33.8} image: ${BITCOIN_CASH_BITCOIND_IMAGE:-bitcoinabc/bitcoin-abc}:${BITCOIN_CASH_TESTNET_BITCOIND_VERSION:-0.33.11}
sysctls: sysctls:
# TCP Performance # TCP Performance
net.ipv4.tcp_slow_start_after_idle: 0 # Disable slow start after idle net.ipv4.tcp_slow_start_after_idle: 0 # Disable slow start after idle

View File

@@ -30,7 +30,7 @@ x-logging-defaults: &logging-defaults
services: services:
bsc-chapel: bsc-chapel:
image: ${BSC_BSC_IMAGE:-ghcr.io/bnb-chain/bsc}:${BSC_CHAPEL_BSC_VERSION:-1.7.6} image: ${BSC_BSC_IMAGE:-ghcr.io/bnb-chain/bsc}:${BSC_CHAPEL_BSC_VERSION:-1.7.8}
sysctls: sysctls:
# TCP Performance # TCP Performance
net.ipv4.tcp_slow_start_after_idle: 0 # Disable slow start after idle net.ipv4.tcp_slow_start_after_idle: 0 # Disable slow start after idle

View File

@@ -32,7 +32,7 @@ x-logging-defaults: &logging-defaults
services: services:
bsc-mainnet-minimal: bsc-mainnet-minimal:
image: ${BSC_BSC_IMAGE:-ghcr.io/bnb-chain/bsc}:${BSC_MAINNET_BSC_VERSION:-1.7.6} image: ${BSC_BSC_IMAGE:-ghcr.io/bnb-chain/bsc}:${BSC_MAINNET_BSC_VERSION:-1.7.8}
sysctls: sysctls:
# TCP Performance # TCP Performance
net.ipv4.tcp_slow_start_after_idle: 0 # Disable slow start after idle net.ipv4.tcp_slow_start_after_idle: 0 # Disable slow start after idle

View File

@@ -32,7 +32,7 @@ x-logging-defaults: &logging-defaults
services: services:
bsc-mainnet-minimal: bsc-mainnet-minimal:
image: ${BSC_BSC_IMAGE:-ghcr.io/bnb-chain/bsc}:${BSC_MAINNET_BSC_VERSION:-1.7.6} image: ${BSC_BSC_IMAGE:-ghcr.io/bnb-chain/bsc}:${BSC_MAINNET_BSC_VERSION:-1.7.8}
sysctls: sysctls:
# TCP Performance # TCP Performance
net.ipv4.tcp_slow_start_after_idle: 0 # Disable slow start after idle net.ipv4.tcp_slow_start_after_idle: 0 # Disable slow start after idle

View File

@@ -30,7 +30,7 @@ x-logging-defaults: &logging-defaults
services: services:
bsc-mainnet: bsc-mainnet:
image: ${BSC_BSC_IMAGE:-ghcr.io/bnb-chain/bsc}:${BSC_MAINNET_BSC_VERSION:-1.7.6} image: ${BSC_BSC_IMAGE:-ghcr.io/bnb-chain/bsc}:${BSC_MAINNET_BSC_VERSION:-1.7.8}
sysctls: sysctls:
# TCP Performance # TCP Performance
net.ipv4.tcp_slow_start_after_idle: 0 # Disable slow start after idle net.ipv4.tcp_slow_start_after_idle: 0 # Disable slow start after idle

View File

@@ -49,7 +49,7 @@ services:
args: args:
LLVM_IMAGE: ${LLVM_IMAGE:-snowstep/llvm} LLVM_IMAGE: ${LLVM_IMAGE:-snowstep/llvm}
LLVM_VERSION: ${LLVM_VERSION:-20250912105042} LLVM_VERSION: ${LLVM_VERSION:-20250912105042}
RETH_VERSION: ${BSC_CHAPEL_RETH_VERSION:-v0.1.1} RETH_VERSION: ${BSC_CHAPEL_RETH_VERSION:-v0.1.2}
RETH_REPO: ${BSC_CHAPEL_RETH_REPO:-https://github.com/bnb-chain/reth-bsc.git} RETH_REPO: ${BSC_CHAPEL_RETH_REPO:-https://github.com/bnb-chain/reth-bsc.git}
ARCH_TARGET: ${ARCH_TARGET:-native} ARCH_TARGET: ${ARCH_TARGET:-native}
PROFILE: ${RETH_BUILD_PROFILE:-maxperf} PROFILE: ${RETH_BUILD_PROFILE:-maxperf}

View File

@@ -49,7 +49,7 @@ services:
args: args:
LLVM_IMAGE: ${LLVM_IMAGE:-snowstep/llvm} LLVM_IMAGE: ${LLVM_IMAGE:-snowstep/llvm}
LLVM_VERSION: ${LLVM_VERSION:-20250912105042} LLVM_VERSION: ${LLVM_VERSION:-20250912105042}
RETH_VERSION: ${BSC_CHAPEL_RETH_VERSION:-v0.1.1} RETH_VERSION: ${BSC_CHAPEL_RETH_VERSION:-v0.1.2}
RETH_REPO: ${BSC_CHAPEL_RETH_REPO:-https://github.com/bnb-chain/reth-bsc.git} RETH_REPO: ${BSC_CHAPEL_RETH_REPO:-https://github.com/bnb-chain/reth-bsc.git}
ARCH_TARGET: ${ARCH_TARGET:-native} ARCH_TARGET: ${ARCH_TARGET:-native}
PROFILE: ${RETH_BUILD_PROFILE:-maxperf} PROFILE: ${RETH_BUILD_PROFILE:-maxperf}

View File

@@ -49,7 +49,7 @@ services:
args: args:
LLVM_IMAGE: ${LLVM_IMAGE:-snowstep/llvm} LLVM_IMAGE: ${LLVM_IMAGE:-snowstep/llvm}
LLVM_VERSION: ${LLVM_VERSION:-20250912105042} LLVM_VERSION: ${LLVM_VERSION:-20250912105042}
RETH_VERSION: ${BSC_CHAPEL_RETH_VERSION:-v0.1.1} RETH_VERSION: ${BSC_CHAPEL_RETH_VERSION:-v0.1.2}
RETH_REPO: ${BSC_CHAPEL_RETH_REPO:-https://github.com/bnb-chain/reth-bsc.git} RETH_REPO: ${BSC_CHAPEL_RETH_REPO:-https://github.com/bnb-chain/reth-bsc.git}
ARCH_TARGET: ${ARCH_TARGET:-native} ARCH_TARGET: ${ARCH_TARGET:-native}
PROFILE: ${RETH_BUILD_PROFILE:-maxperf} PROFILE: ${RETH_BUILD_PROFILE:-maxperf}

View File

@@ -49,7 +49,7 @@ services:
args: args:
LLVM_IMAGE: ${LLVM_IMAGE:-snowstep/llvm} LLVM_IMAGE: ${LLVM_IMAGE:-snowstep/llvm}
LLVM_VERSION: ${LLVM_VERSION:-20250912105042} LLVM_VERSION: ${LLVM_VERSION:-20250912105042}
RETH_VERSION: ${BSC_CHAPEL_RETH_VERSION:-v0.1.1} RETH_VERSION: ${BSC_CHAPEL_RETH_VERSION:-v0.1.2}
RETH_REPO: ${BSC_CHAPEL_RETH_REPO:-https://github.com/bnb-chain/reth-bsc.git} RETH_REPO: ${BSC_CHAPEL_RETH_REPO:-https://github.com/bnb-chain/reth-bsc.git}
ARCH_TARGET: ${ARCH_TARGET:-native} ARCH_TARGET: ${ARCH_TARGET:-native}
PROFILE: ${RETH_BUILD_PROFILE:-maxperf} PROFILE: ${RETH_BUILD_PROFILE:-maxperf}

View File

@@ -49,7 +49,7 @@ services:
args: args:
LLVM_IMAGE: ${LLVM_IMAGE:-snowstep/llvm} LLVM_IMAGE: ${LLVM_IMAGE:-snowstep/llvm}
LLVM_VERSION: ${LLVM_VERSION:-20250912105042} LLVM_VERSION: ${LLVM_VERSION:-20250912105042}
RETH_VERSION: ${BSC_MAINNET_RETH_VERSION:-v0.1.1} RETH_VERSION: ${BSC_MAINNET_RETH_VERSION:-v0.1.2}
RETH_REPO: ${BSC_MAINNET_RETH_REPO:-https://github.com/bnb-chain/reth-bsc.git} RETH_REPO: ${BSC_MAINNET_RETH_REPO:-https://github.com/bnb-chain/reth-bsc.git}
ARCH_TARGET: ${ARCH_TARGET:-native} ARCH_TARGET: ${ARCH_TARGET:-native}
PROFILE: ${RETH_BUILD_PROFILE:-maxperf} PROFILE: ${RETH_BUILD_PROFILE:-maxperf}
@@ -102,7 +102,9 @@ services:
- --rpc.max-blocks-per-filter=0 - --rpc.max-blocks-per-filter=0
- --rpc.max-connections=50000 - --rpc.max-connections=50000
- --rpc.max-logs-per-response=0 - --rpc.max-logs-per-response=0
- --rpc.max-response-size=1024
- --rpc.max-trace-filter-blocks=10000 - --rpc.max-trace-filter-blocks=10000
- --rpc.max-tracing-requests=32
- --ws - --ws
- --ws.addr=0.0.0.0 - --ws.addr=0.0.0.0
- --ws.api=admin,debug,eth,net,trace,txpool,web3,rpc,reth,ots,flashbots,mev - --ws.api=admin,debug,eth,net,trace,txpool,web3,rpc,reth,ots,flashbots,mev

View File

@@ -49,7 +49,7 @@ services:
args: args:
LLVM_IMAGE: ${LLVM_IMAGE:-snowstep/llvm} LLVM_IMAGE: ${LLVM_IMAGE:-snowstep/llvm}
LLVM_VERSION: ${LLVM_VERSION:-20250912105042} LLVM_VERSION: ${LLVM_VERSION:-20250912105042}
RETH_VERSION: ${BSC_MAINNET_RETH_VERSION:-v0.1.1} RETH_VERSION: ${BSC_MAINNET_RETH_VERSION:-v0.1.2}
RETH_REPO: ${BSC_MAINNET_RETH_REPO:-https://github.com/bnb-chain/reth-bsc.git} RETH_REPO: ${BSC_MAINNET_RETH_REPO:-https://github.com/bnb-chain/reth-bsc.git}
ARCH_TARGET: ${ARCH_TARGET:-native} ARCH_TARGET: ${ARCH_TARGET:-native}
PROFILE: ${RETH_BUILD_PROFILE:-maxperf} PROFILE: ${RETH_BUILD_PROFILE:-maxperf}
@@ -102,7 +102,9 @@ services:
- --rpc.max-blocks-per-filter=0 - --rpc.max-blocks-per-filter=0
- --rpc.max-connections=50000 - --rpc.max-connections=50000
- --rpc.max-logs-per-response=0 - --rpc.max-logs-per-response=0
- --rpc.max-response-size=1024
- --rpc.max-trace-filter-blocks=10000 - --rpc.max-trace-filter-blocks=10000
- --rpc.max-tracing-requests=32
- --ws - --ws
- --ws.addr=0.0.0.0 - --ws.addr=0.0.0.0
- --ws.api=admin,debug,eth,net,trace,txpool,web3,rpc,reth,ots,flashbots,mev - --ws.api=admin,debug,eth,net,trace,txpool,web3,rpc,reth,ots,flashbots,mev

View File

@@ -49,7 +49,7 @@ services:
args: args:
LLVM_IMAGE: ${LLVM_IMAGE:-snowstep/llvm} LLVM_IMAGE: ${LLVM_IMAGE:-snowstep/llvm}
LLVM_VERSION: ${LLVM_VERSION:-20250912105042} LLVM_VERSION: ${LLVM_VERSION:-20250912105042}
RETH_VERSION: ${BSC_MAINNET_RETH_VERSION:-v0.1.1} RETH_VERSION: ${BSC_MAINNET_RETH_VERSION:-v0.1.2}
RETH_REPO: ${BSC_MAINNET_RETH_REPO:-https://github.com/bnb-chain/reth-bsc.git} RETH_REPO: ${BSC_MAINNET_RETH_REPO:-https://github.com/bnb-chain/reth-bsc.git}
ARCH_TARGET: ${ARCH_TARGET:-native} ARCH_TARGET: ${ARCH_TARGET:-native}
PROFILE: ${RETH_BUILD_PROFILE:-maxperf} PROFILE: ${RETH_BUILD_PROFILE:-maxperf}

View File

@@ -49,7 +49,7 @@ services:
args: args:
LLVM_IMAGE: ${LLVM_IMAGE:-snowstep/llvm} LLVM_IMAGE: ${LLVM_IMAGE:-snowstep/llvm}
LLVM_VERSION: ${LLVM_VERSION:-20250912105042} LLVM_VERSION: ${LLVM_VERSION:-20250912105042}
RETH_VERSION: ${BSC_MAINNET_RETH_VERSION:-v0.1.1} RETH_VERSION: ${BSC_MAINNET_RETH_VERSION:-v0.1.2}
RETH_REPO: ${BSC_MAINNET_RETH_REPO:-https://github.com/bnb-chain/reth-bsc.git} RETH_REPO: ${BSC_MAINNET_RETH_REPO:-https://github.com/bnb-chain/reth-bsc.git}
ARCH_TARGET: ${ARCH_TARGET:-native} ARCH_TARGET: ${ARCH_TARGET:-native}
PROFILE: ${RETH_BUILD_PROFILE:-maxperf} PROFILE: ${RETH_BUILD_PROFILE:-maxperf}

View File

@@ -7,6 +7,7 @@
# --no-slowdisk : do NOT offload static files to /slowdisk (no symlinks); # --no-slowdisk : do NOT offload static files to /slowdisk (no symlinks);
# extract everything onto the local disk instead. Required to # extract everything onto the local disk instead. Required to
# proceed when /slowdisk is too small for the static files. # proceed when /slowdisk is too small for the static files.
# KEEP_NODE_KEYS=1 : keep the restored identity keys (default: delete via node-key-globs.txt)
# Pull the --no-slowdisk flag out of the args so the positional <config>/<dest> # Pull the --no-slowdisk flag out of the args so the positional <config>/<dest>
# parsing below is unaffected regardless of where the flag is placed. # parsing below is unaffected regardless of where the flag is placed.
@@ -689,6 +690,17 @@ main() {
[[ -n "$skipped_volumes" ]] && echo " Skipped (no backup by design):$skipped_volumes" [[ -n "$skipped_volumes" ]] && echo " Skipped (no backup by design):$skipped_volumes"
[[ -n "$failed_volumes" ]] && echo " Failed:$failed_volumes" [[ -n "$failed_volumes" ]] && echo " Failed:$failed_volumes"
# Regenerate the node's P2P identity on the destination (2026-09-04, rpc-us-50 avalanche
# incident): a restored volume carries the SOURCE node's identity keys (avalanchego
# staking/*, geth nodekey, ...). If the source still runs elsewhere, the copy is a
# duplicate NodeID and never peers. restore-volumes.sh already does this as its last
# step; the fast path skipped it. Patterns: node-key-globs.txt. KEEP_NODE_KEYS=1 opts out.
if [[ -z "$failed_volumes" && "${KEEP_NODE_KEYS:-0}" != "1" ]]; then
echo "Deleting node identity keys on $DEST_HOST (node-key-globs.txt) ..."
$SSH_CMD "$DEST_HOST" "cd /root/rpc && ./delete-node-keys.sh '$1'" \
|| echo "WARNING: delete-node-keys.sh failed on $DEST_HOST - the restored node may carry a duplicate identity; run ./delete-node-keys <host> $1 manually"
fi
# Restore Network buffer and congestion control settings. # Restore Network buffer and congestion control settings.
# These are better for your 0.2-1.4ms environment # These are better for your 0.2-1.4ms environment

View File

@@ -607,6 +607,42 @@
"everclear-mainnet-nitro-pruned-pebble-path" "everclear-mainnet-nitro-pruned-pebble-path"
] ]
}, },
{
"chain": "mainnet",
"client": "nitro",
"compose_file": "arb/nitro/humanity-mainnet-nitro-pruned-pebble-hash",
"drpc_chain": "humanity",
"features": [
"hash",
"pebble"
],
"network": "humanity",
"node": null,
"relay": null,
"stack": "arb",
"type": "pruned",
"volumes": [
"humanity-mainnet-nitro-pruned-pebble-hash"
]
},
{
"chain": "testnet",
"client": "nitro",
"compose_file": "arb/nitro/humanity-testnet-nitro-pruned-pebble-hash",
"drpc_chain": "humanity-testnet",
"features": [
"hash",
"pebble"
],
"network": "humanity",
"node": null,
"relay": null,
"stack": "arb",
"type": "pruned",
"volumes": [
"humanity-testnet-nitro-pruned-pebble-hash"
]
},
{ {
"chain": "sepolia", "chain": "sepolia",
"client": "nitro", "client": "nitro",
@@ -751,6 +787,24 @@
"plume-mainnet-nitro-pruned-leveldb-hash" "plume-mainnet-nitro-pruned-leveldb-hash"
] ]
}, },
{
"chain": "mainnet",
"client": "nitro",
"compose_file": "arb/nitro/plume-mainnet-nitro-pruned-pebble-hash",
"drpc_chain": "plume",
"features": [
"hash",
"leveldb"
],
"network": "plume",
"node": null,
"relay": null,
"stack": "arb",
"type": "pruned",
"volumes": [
"plume-mainnet-nitro-pruned-pebble-hash"
]
},
{ {
"chain": "mainnet", "chain": "mainnet",
"client": "nitro", "client": "nitro",
@@ -823,6 +877,24 @@
"plume-testnet-nitro-pruned-leveldb-hash" "plume-testnet-nitro-pruned-leveldb-hash"
] ]
}, },
{
"chain": "testnet",
"client": "nitro",
"compose_file": "arb/nitro/plume-testnet-nitro-pruned-pebble-hash",
"drpc_chain": "plume-testnet",
"features": [
"hash",
"leveldb"
],
"network": "plume",
"node": null,
"relay": null,
"stack": "arb",
"type": "pruned",
"volumes": [
"plume-testnet-nitro-pruned-pebble-hash"
]
},
{ {
"chain": "testnet", "chain": "testnet",
"client": "nitro", "client": "nitro",
@@ -1140,23 +1212,6 @@
"avalanche-fuji-go-pruned-leveldb" "avalanche-fuji-go-pruned-leveldb"
] ]
}, },
{
"chain": "fuji",
"client": "go",
"compose_file": "avalanche/go/avalanche-fuji-go-pruned-pebbledb",
"drpc_chain": "avalanche-fuji",
"features": [
"leveldb"
],
"network": "avalanche",
"node": null,
"relay": null,
"stack": null,
"type": "pruned",
"volumes": [
"avalanche-fuji-go-pruned-pebbledb"
]
},
{ {
"chain": "mainnet", "chain": "mainnet",
"client": "go", "client": "go",
@@ -1174,6 +1229,23 @@
"avalanche-mainnet-go-archive-leveldb" "avalanche-mainnet-go-archive-leveldb"
] ]
}, },
{
"chain": "mainnet-firewood-firewood",
"client": "go",
"compose_file": "avalanche/go/avalanche-mainnet-go-firewood-firewood",
"drpc_chain": "avalanche",
"features": [
"leveldb"
],
"network": "avalanche",
"node": null,
"relay": null,
"stack": null,
"type": "archive",
"volumes": [
"avalanche-mainnet-go-firewood-firewood"
]
},
{ {
"chain": "mainnet", "chain": "mainnet",
"client": "go", "client": "go",
@@ -7670,6 +7742,23 @@
"base-mainnet-op-reth-archive-trace" "base-mainnet-op-reth-archive-trace"
] ]
}, },
{
"chain": "mainnet",
"client": "reth",
"compose_file": "op/reth/base-mainnet-op-reth-minimal-trace--kona",
"drpc_chain": "base",
"features": [
"trace"
],
"network": "base",
"node": "kona",
"relay": null,
"stack": "op",
"type": "minimal",
"volumes": [
"base-mainnet-op-reth-minimal-trace"
]
},
{ {
"chain": "mainnet", "chain": "mainnet",
"client": "reth", "client": "reth",
@@ -7679,7 +7768,7 @@
"trace" "trace"
], ],
"network": "base", "network": "base",
"node": "node", "node": "kona",
"relay": null, "relay": null,
"stack": "op", "stack": "op",
"type": "minimal", "type": "minimal",
@@ -7687,6 +7776,23 @@
"base-mainnet-op-reth-minimal-trace" "base-mainnet-op-reth-minimal-trace"
] ]
}, },
{
"chain": "mainnet",
"client": "reth",
"compose_file": "op/reth/base-mainnet-op-reth-pruned-trace--kona",
"drpc_chain": "base",
"features": [
"trace"
],
"network": "base",
"node": "kona",
"relay": null,
"stack": "op",
"type": "pruned",
"volumes": [
"base-mainnet-op-reth-pruned-trace"
]
},
{ {
"chain": "mainnet", "chain": "mainnet",
"client": "reth", "client": "reth",
@@ -7696,7 +7802,7 @@
"trace" "trace"
], ],
"network": "base", "network": "base",
"node": "node", "node": "kona",
"relay": null, "relay": null,
"stack": "op", "stack": "op",
"type": "pruned", "type": "pruned",
@@ -7704,6 +7810,23 @@
"base-mainnet-op-reth-pruned-trace" "base-mainnet-op-reth-pruned-trace"
] ]
}, },
{
"chain": "sepolia",
"client": "reth",
"compose_file": "op/reth/base-sepolia-op-reth-archive-trace--kona",
"drpc_chain": "base-sepolia",
"features": [
"trace"
],
"network": "base",
"node": "kona",
"relay": null,
"stack": "op",
"type": "archive",
"volumes": [
"base-sepolia-op-reth-archive-trace"
]
},
{ {
"chain": "sepolia", "chain": "sepolia",
"client": "reth", "client": "reth",
@@ -7713,7 +7836,7 @@
"trace" "trace"
], ],
"network": "base", "network": "base",
"node": "node", "node": "kona",
"relay": null, "relay": null,
"stack": "op", "stack": "op",
"type": "archive", "type": "archive",
@@ -7721,6 +7844,23 @@
"base-sepolia-op-reth-archive-trace" "base-sepolia-op-reth-archive-trace"
] ]
}, },
{
"chain": "sepolia",
"client": "reth",
"compose_file": "op/reth/base-sepolia-op-reth-minimal-trace--kona",
"drpc_chain": "base-sepolia",
"features": [
"trace"
],
"network": "base",
"node": "kona",
"relay": null,
"stack": "op",
"type": "minimal",
"volumes": [
"base-sepolia-op-reth-minimal-trace"
]
},
{ {
"chain": "sepolia", "chain": "sepolia",
"client": "reth", "client": "reth",
@@ -7730,7 +7870,7 @@
"trace" "trace"
], ],
"network": "base", "network": "base",
"node": "node", "node": "kona",
"relay": null, "relay": null,
"stack": "op", "stack": "op",
"type": "minimal", "type": "minimal",
@@ -7738,6 +7878,23 @@
"base-sepolia-op-reth-minimal-trace" "base-sepolia-op-reth-minimal-trace"
] ]
}, },
{
"chain": "sepolia",
"client": "reth",
"compose_file": "op/reth/base-sepolia-op-reth-pruned-trace--kona",
"drpc_chain": "base-sepolia",
"features": [
"trace"
],
"network": "base",
"node": "kona",
"relay": null,
"stack": "op",
"type": "pruned",
"volumes": [
"base-sepolia-op-reth-pruned-trace"
]
},
{ {
"chain": "sepolia", "chain": "sepolia",
"client": "reth", "client": "reth",
@@ -7747,7 +7904,7 @@
"trace" "trace"
], ],
"network": "base", "network": "base",
"node": "node", "node": "kona",
"relay": null, "relay": null,
"stack": "op", "stack": "op",
"type": "pruned", "type": "pruned",
@@ -8506,6 +8663,23 @@
"soneium-minato-sepolia-op-reth-pruned-trace" "soneium-minato-sepolia-op-reth-pruned-trace"
] ]
}, },
{
"chain": "mainnet",
"client": "reth",
"compose_file": "op/reth/superseed-mainnet-op-reth-pruned-trace",
"drpc_chain": "superseed",
"features": [
"trace"
],
"network": "superseed",
"node": "node",
"relay": null,
"stack": "op",
"type": "pruned",
"volumes": [
"superseed-mainnet-op-reth-pruned-trace"
]
},
{ {
"chain": "sepolia", "chain": "sepolia",
"client": "reth", "client": "reth",
@@ -8591,6 +8765,23 @@
"unichain-sepolia-op-reth-archive-trace" "unichain-sepolia-op-reth-archive-trace"
] ]
}, },
{
"chain": "sepolia",
"client": "reth",
"compose_file": "op/reth/unichain-sepolia-op-reth-pruned-trace--kona",
"drpc_chain": "unichain-sepolia",
"features": [
"trace"
],
"network": "unichain",
"node": "kona",
"relay": null,
"stack": "op",
"type": "pruned",
"volumes": [
"unichain-sepolia-op-reth-pruned-trace"
]
},
{ {
"chain": "sepolia", "chain": "sepolia",
"client": "reth", "client": "reth",
@@ -8600,7 +8791,7 @@
"trace" "trace"
], ],
"network": "unichain", "network": "unichain",
"node": "node", "node": "kona",
"relay": null, "relay": null,
"stack": "op", "stack": "op",
"type": "pruned", "type": "pruned",
@@ -8676,6 +8867,23 @@
"worldchain-sepolia-op-reth-minimal-trace" "worldchain-sepolia-op-reth-minimal-trace"
] ]
}, },
{
"chain": "sepolia",
"client": "reth",
"compose_file": "op/reth/worldchain-sepolia-op-reth-pruned-trace--kona",
"drpc_chain": "worldchain-sepolia",
"features": [
"trace"
],
"network": "worldchain",
"node": "kona",
"relay": null,
"stack": "op",
"type": "pruned",
"volumes": [
"worldchain-sepolia-op-reth-pruned-trace"
]
},
{ {
"chain": "sepolia", "chain": "sepolia",
"client": "reth", "client": "reth",
@@ -8685,7 +8893,7 @@
"trace" "trace"
], ],
"network": "worldchain", "network": "worldchain",
"node": "node", "node": "kona",
"relay": null, "relay": null,
"stack": "op", "stack": "op",
"type": "pruned", "type": "pruned",
@@ -8810,8 +9018,7 @@
"type": "pruned", "type": "pruned",
"volumes": [ "volumes": [
"plasma-mainnet-reth-pruned-trace-consensus", "plasma-mainnet-reth-pruned-trace-consensus",
"plasma-mainnet-reth-pruned-trace-execution", "plasma-mainnet-reth-pruned-trace-execution"
"plasma-mainnet-reth-pruned-trace-jwt"
] ]
}, },
{ {
@@ -8829,8 +9036,7 @@
"type": "pruned", "type": "pruned",
"volumes": [ "volumes": [
"plasma-testnet-reth-pruned-trace-consensus", "plasma-testnet-reth-pruned-trace-consensus",
"plasma-testnet-reth-pruned-trace-execution", "plasma-testnet-reth-pruned-trace-execution"
"plasma-testnet-reth-pruned-trace-jwt"
] ]
}, },
{ {

View File

@@ -30,7 +30,7 @@ x-logging-defaults: &logging-defaults
services: services:
core-buffalo: core-buffalo:
image: ${CORE_CORE_IMAGE:-ghcr.io/coredao-org/core-chain}:${CORE_BUFFALO_CORE_VERSION:-1.0.22} image: ${CORE_CORE_IMAGE:-ghcr.io/coredao-org/core-chain}:${CORE_BUFFALO_CORE_VERSION:-1.0.26}
sysctls: sysctls:
# TCP Performance # TCP Performance
net.ipv4.tcp_slow_start_after_idle: 0 # Disable slow start after idle net.ipv4.tcp_slow_start_after_idle: 0 # Disable slow start after idle

View File

@@ -30,7 +30,7 @@ x-logging-defaults: &logging-defaults
services: services:
core-mainnet-archive: core-mainnet-archive:
image: ${CORE_CORE_IMAGE:-ghcr.io/coredao-org/core-chain}:${CORE_MAINNET_CORE_VERSION:-1.0.22} image: ${CORE_CORE_IMAGE:-ghcr.io/coredao-org/core-chain}:${CORE_MAINNET_CORE_VERSION:-1.0.26}
sysctls: sysctls:
# TCP Performance # TCP Performance
net.ipv4.tcp_slow_start_after_idle: 0 # Disable slow start after idle net.ipv4.tcp_slow_start_after_idle: 0 # Disable slow start after idle

View File

@@ -30,7 +30,7 @@ x-logging-defaults: &logging-defaults
services: services:
core-mainnet: core-mainnet:
image: ${CORE_CORE_IMAGE:-ghcr.io/coredao-org/core-chain}:${CORE_MAINNET_CORE_VERSION:-1.0.22} image: ${CORE_CORE_IMAGE:-ghcr.io/coredao-org/core-chain}:${CORE_MAINNET_CORE_VERSION:-1.0.26}
sysctls: sysctls:
# TCP Performance # TCP Performance
net.ipv4.tcp_slow_start_after_idle: 0 # Disable slow start after idle net.ipv4.tcp_slow_start_after_idle: 0 # Disable slow start after idle

View File

@@ -30,7 +30,7 @@ x-logging-defaults: &logging-defaults
services: services:
core-pigeon: core-pigeon:
image: ${CORE_CORE_IMAGE:-ghcr.io/coredao-org/core-chain}:${CORE_PIGEON_CORE_VERSION:-1.0.22} image: ${CORE_CORE_IMAGE:-ghcr.io/coredao-org/core-chain}:${CORE_PIGEON_CORE_VERSION:-1.0.26}
sysctls: sysctls:
# TCP Performance # TCP Performance
net.ipv4.tcp_slow_start_after_idle: 0 # Disable slow start after idle net.ipv4.tcp_slow_start_after_idle: 0 # Disable slow start after idle

View File

@@ -35,7 +35,7 @@ services:
dockerfile: cometbft.Dockerfile dockerfile: cometbft.Dockerfile
args: args:
CL_IMAGE: ${COSMOS_GAIAD_IMAGE:-ghcr.io/cosmos/gaia} CL_IMAGE: ${COSMOS_GAIAD_IMAGE:-ghcr.io/cosmos/gaia}
CL_VERSION: ${COSMOS_MAINNET_GAIAD_VERSION:-v27.6.0} CL_VERSION: ${COSMOS_MAINNET_GAIAD_VERSION:-v28.0.0}
sysctls: sysctls:
# TCP Performance # TCP Performance
net.ipv4.tcp_slow_start_after_idle: 0 # Disable slow start after idle net.ipv4.tcp_slow_start_after_idle: 0 # Disable slow start after idle

View File

@@ -68,11 +68,28 @@ ct_merge_seeds() {
ct_log "no official seeds fetched from $_url (continuing with configured)" ct_log "no official seeds fetched from $_url (continuing with configured)"
fi fi
fi fi
_seeds=$(ct_valid_peers "$_seeds")
if [ -n "$_seeds" ]; then if [ -n "$_seeds" ]; then
sed -i "s/^seeds = \".*\"/seeds = \"${_seeds}\"/" "$_cfg" sed -i "s/^seeds = \".*\"/seeds = \"${_seeds}\"/" "$_cfg"
fi fi
} }
# ct_valid_peers LIST
# Keep only well-formed CometBFT peer entries (<40-hex node id>@<host>:<port>), drop and
# log the rest. A truncated id such as 7c153a83@peer.haqq.mainnet.dteam.tech:28656 makes
# haqqd refuse to start ("invalid node ID"), 2026-09-07 rpc-de-31.
ct_valid_peers() {
_in="$1"; _out=""
for _p in $(echo "$_in" | tr ',' ' '); do
if echo "$_p" | grep -Eqi '^[0-9a-f]{40}@[^@,:]+:[0-9]+$'; then
_out="${_out:+$_out,}$_p"
else
ct_log "dropping malformed peer entry: $_p"
fi
done
echo "$_out"
}
# ct_set_persistent_peers CONFIG_TOML PEERS # ct_set_persistent_peers CONFIG_TOML PEERS
# Handles both cometbft-classic `persistent_peers` (underscore) and forks that use # Handles both cometbft-classic `persistent_peers` (underscore) and forks that use
# `persistent-peers` (hyphen, e.g. sei) — patches whichever key is present. # `persistent-peers` (hyphen, e.g. sei) — patches whichever key is present.
@@ -80,6 +97,8 @@ ct_set_persistent_peers() {
_cfg="$1"; _peers="$2" _cfg="$1"; _peers="$2"
[ -f "$_cfg" ] || return 0 [ -f "$_cfg" ] || return 0
[ -n "$_peers" ] || return 0 [ -n "$_peers" ] || return 0
_peers=$(ct_valid_peers "$_peers")
[ -n "$_peers" ] || return 0
sed -i "s/^persistent_peers = \".*\"/persistent_peers = \"${_peers}\"/" "$_cfg" sed -i "s/^persistent_peers = \".*\"/persistent_peers = \"${_peers}\"/" "$_cfg"
sed -i "s/^persistent-peers = \".*\"/persistent-peers = \"${_peers}\"/" "$_cfg" sed -i "s/^persistent-peers = \".*\"/persistent-peers = \"${_peers}\"/" "$_cfg"
return 0 return 0

View File

@@ -57,7 +57,7 @@ services:
environment: environment:
- DATABASE_POOL_SIZE=50 - DATABASE_POOL_SIZE=50
- DATABASE_URL=postgres://postgres:notsecurepassword@cronos-zkevm-mainnet-archive-db:5430/zksync_local_ext_node - DATABASE_URL=postgres://postgres:notsecurepassword@cronos-zkevm-mainnet-archive-db:5430/zksync_local_ext_node
- EN_API_NAMESAPCES=eth,net,web3,debug,pubsub,debug,zks - EN_API_NAMESPACES=eth,net,web3,debug,pubsub,debug,zks
- EN_ETH_CLIENT_URL=${ETHEREUM_MAINNET_EXECUTION_RPC} - EN_ETH_CLIENT_URL=${ETHEREUM_MAINNET_EXECUTION_RPC}
- EN_HEALTHCHECK_PORT=3081 - EN_HEALTHCHECK_PORT=3081
- EN_HTTP_PORT=8545 - EN_HTTP_PORT=8545

View File

@@ -57,7 +57,7 @@ services:
environment: environment:
- DATABASE_POOL_SIZE=50 - DATABASE_POOL_SIZE=50
- DATABASE_URL=postgres://postgres:notsecurepassword@cronos-zkevm-mainnet-db:5430/zksync_local_ext_node - DATABASE_URL=postgres://postgres:notsecurepassword@cronos-zkevm-mainnet-db:5430/zksync_local_ext_node
- EN_API_NAMESAPCES=eth,net,web3,debug,pubsub,debug,zks - EN_API_NAMESPACES=eth,net,web3,debug,pubsub,debug,zks
- EN_ETH_CLIENT_URL=${ETHEREUM_MAINNET_EXECUTION_RPC} - EN_ETH_CLIENT_URL=${ETHEREUM_MAINNET_EXECUTION_RPC}
- EN_HEALTHCHECK_PORT=3081 - EN_HEALTHCHECK_PORT=3081
- EN_HTTP_PORT=8545 - EN_HTTP_PORT=8545

View File

@@ -57,7 +57,7 @@ services:
environment: environment:
- DATABASE_POOL_SIZE=50 - DATABASE_POOL_SIZE=50
- DATABASE_URL=postgres://postgres:notsecurepassword@cronos-zkevm-testnet-archive-db:5430/zksync_local_ext_node - DATABASE_URL=postgres://postgres:notsecurepassword@cronos-zkevm-testnet-archive-db:5430/zksync_local_ext_node
- EN_API_NAMESAPCES=eth,net,web3,debug,pubsub,debug,zks - EN_API_NAMESPACES=eth,net,web3,debug,pubsub,debug,zks
- EN_ETH_CLIENT_URL=${ETHEREUM_SEPOLIA_EXECUTION_RPC} - EN_ETH_CLIENT_URL=${ETHEREUM_SEPOLIA_EXECUTION_RPC}
- EN_HEALTHCHECK_PORT=3081 - EN_HEALTHCHECK_PORT=3081
- EN_HTTP_PORT=8545 - EN_HTTP_PORT=8545

Some files were not shown because too many files have changed in this diff Show More