op-stack EL: publish p2p port + keep discovery on for node_sync nodes (49 composes)

Operator decision 2026-10-04 (sebastian): consensus-layer-synced op-stack nodes used to run
with --nodiscover / --disable-discovery and no published p2p port. A 0-peer EL can never
backfill a dropped-gossip gap, so op-node wedges in FCU-SYNCING until L1 derivation
catches up (katana 09-19..26, zircuit, mode). Blocks still arrive only via op-node; EL
peers are for gap-fill. Our own copies now discover each other implicitly.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01RzxemENdcZBCxdGrzXiFvS
This commit was merged in pull request #100.
This commit is contained in:
2026-10-04 11:55:19 +00:00
co-authored by Claude Fable 5.1
parent d391f7e829
commit b493ef9988
49 changed files with 310 additions and 49 deletions
@@ -46,6 +46,9 @@ services:
nofile: 1048576 # Max open files (for RPC/WS connections)
memlock: -1 # Disable memory locking limits (for in-memory DBs like MDBX)
user: root
ports:
- 12060:12060
- 12060:12060/udp
expose:
- 8545
- 9001
@@ -55,11 +58,16 @@ services:
- --chain=/config/genesis.json
- --config=/config/reth/reth.toml
- --datadir=/root/.local/share/reth
- --disable-discovery
- --discovery.addr=0.0.0.0
- --discovery.port=12060
- --discovery.v5.addr=0.0.0.0
- --discovery.v5.port=12060
- --engine.cross-block-cache-size=${BOB_SEPOLIA_RETH_STATE_CACHE:-4096}
- --max-inbound-peers=50
- --max-outbound-peers=50
- --metrics=0.0.0.0:9001
- --nat=extip:${IP}
- --port=12060
- --rollup.sequencer-http=https://bob-sepolia.rpc.gobob.xyz
- --rpc-cache.max-blocks=10000
- --rpc-cache.max-concurrent-db-requests=2048
@@ -46,6 +46,9 @@ services:
nofile: 1048576 # Max open files (for RPC/WS connections)
memlock: -1 # Disable memory locking limits (for in-memory DBs like MDBX)
user: root
ports:
- 10448:10448
- 10448:10448/udp
expose:
- 8545
- 9001
@@ -55,11 +58,16 @@ services:
- --chain=/config/genesis.json
- --config=/config/reth/reth.toml
- --datadir=/root/.local/share/reth
- --disable-discovery
- --discovery.addr=0.0.0.0
- --discovery.port=10448
- --discovery.v5.addr=0.0.0.0
- --discovery.v5.port=10448
- --engine.cross-block-cache-size=${BOB_SEPOLIA_RETH_STATE_CACHE:-4096}
- --max-inbound-peers=50
- --max-outbound-peers=50
- --metrics=0.0.0.0:9001
- --nat=extip:${IP}
- --port=10448
- --rollup.sequencer-http=https://bob-sepolia.rpc.gobob.xyz
- --rpc-cache.max-blocks=10000
- --rpc-cache.max-concurrent-db-requests=2048
+9 -1
View File
@@ -46,6 +46,9 @@ services:
nofile: 1048576 # Max open files (for RPC/WS connections)
memlock: -1 # Disable memory locking limits (for in-memory DBs like MDBX)
user: root
ports:
- 11923:11923
- 11923:11923/udp
expose:
- 8545
- 9001
@@ -55,12 +58,17 @@ services:
- --chain=/config/genesis.json
- --config=/config/reth/reth.toml
- --datadir=/root/.local/share/reth
- --disable-discovery
- --discovery.addr=0.0.0.0
- --discovery.port=11923
- --discovery.v5.addr=0.0.0.0
- --discovery.v5.port=11923
- --engine.cross-block-cache-size=${BOB_SEPOLIA_RETH_STATE_CACHE:-4096}
- --full
- --max-inbound-peers=50
- --max-outbound-peers=50
- --metrics=0.0.0.0:9001
- --nat=extip:${IP}
- --port=11923
- --rollup.sequencer-http=https://bob-sepolia.rpc.gobob.xyz
- --rpc-cache.max-blocks=10000
- --rpc-cache.max-concurrent-db-requests=2048
@@ -46,6 +46,9 @@ services:
nofile: 1048576 # Max open files (for RPC/WS connections)
memlock: -1 # Disable memory locking limits (for in-memory DBs like MDBX)
user: root
ports:
- 11912:11912
- 11912:11912/udp
expose:
- 8545
- 9001
@@ -54,12 +57,17 @@ services:
command:
- --chain=/config/reth-config.json
- --datadir=/root/.local/share/reth
- --disable-discovery
- --discovery.addr=0.0.0.0
- --discovery.port=11912
- --discovery.v5.addr=0.0.0.0
- --discovery.v5.port=11912
- --engine.cross-block-cache-size=${BOBA_MAINNET_RETH_STATE_CACHE:-4096}
- --full
- --max-inbound-peers=50
- --max-outbound-peers=50
- --metrics=0.0.0.0:9001
- --nat=extip:${IP}
- --port=11912
- --rollup.sequencer-http=https://mainnet.boba.network
- --rpc-cache.max-blocks=10000
- --rpc-cache.max-concurrent-db-requests=2048
@@ -62,6 +62,9 @@ services:
nofile: 1048576 # Max open files (for RPC/WS connections)
memlock: -1 # Disable memory locking limits (for in-memory DBs like MDBX)
user: root
ports:
- 13893:13893
- 13893:13893/udp
expose:
- 8545
- 9001
@@ -71,12 +74,17 @@ services:
- --chain=/config/genesis.json
- --config=/config/reth/reth.toml
- --datadir=/root/.local/share/reth
- --disable-discovery
- --discovery.addr=0.0.0.0
- --discovery.port=13893
- --discovery.v5.addr=0.0.0.0
- --discovery.v5.port=13893
- --engine.cross-block-cache-size=${DOMA_TESTNET_RETH_STATE_CACHE:-4096}
- --full
- --max-inbound-peers=50
- --max-outbound-peers=50
- --metrics=0.0.0.0:9001
- --nat=extip:${IP}
- --port=13893
- --rollup.sequencer-http=https://rpc-testnet.doma.xyz
- --rpc-cache.max-blocks=10000
- --rpc-cache.max-concurrent-db-requests=2048
@@ -46,21 +46,30 @@ services:
nofile: 1048576 # Max open files (for RPC/WS connections)
memlock: -1 # Disable memory locking limits (for in-memory DBs like MDBX)
user: root
ports:
- 11964:11964
- 11964:11964/udp
expose:
- 8545
- 9001
- 8551
entrypoint: [op-reth, node]
command:
- --bootnodes=enode://0492e74fb10579a3c53a327ee42dc70db35e7e0aebd73793a806afccb86b30acecb8fe9d024e06bb3fd154c678926d884df3ae696c71adcbf1339a5762e19c4d@testnet-bootnodes.hsk.xyz:30303,enode://dba82c6b384844a00a54ecdfcb34c209ea714072558db80512d4c65e760846d054cf3f58a826cba33b6b410498559b7e41b147dfa487f8cba3d25d2b5bb9e7bc@testnet-bootnodes.hsk.xyz:30304
- --chain=/config/genesis.json
- --config=/config/reth/reth.toml
- --datadir=/root/.local/share/reth
- --disable-discovery
- --discovery.addr=0.0.0.0
- --discovery.port=11964
- --discovery.v5.addr=0.0.0.0
- --discovery.v5.port=11964
- --engine.cross-block-cache-size=${HASHKEYCHAIN_TESTNET_RETH_STATE_CACHE:-4096}
- --full
- --max-inbound-peers=50
- --max-outbound-peers=50
- --metrics=0.0.0.0:9001
- --nat=extip:${IP}
- --port=11964
- --rollup.sequencer-http=https://testnet.hsk.xyz
- --rpc-cache.max-blocks=10000
- --rpc-cache.max-concurrent-db-requests=2048
@@ -46,6 +46,9 @@ services:
nofile: 1048576 # Max open files (for RPC/WS connections)
memlock: -1 # Disable memory locking limits (for in-memory DBs like MDBX)
user: root
ports:
- 14265:14265
- 14265:14265/udp
expose:
- 8545
- 9001
@@ -58,11 +61,16 @@ services:
- --chain=/config/genesis.json
- --config=/config/reth/reth.toml
- --datadir=/root/.local/share/reth
- --disable-discovery
- --discovery.addr=0.0.0.0
- --discovery.port=14265
- --discovery.v5.addr=0.0.0.0
- --discovery.v5.port=14265
- --engine.cross-block-cache-size=${KATANA_MAINNET_RETH_STATE_CACHE:-4096}
- --max-inbound-peers=50
- --max-outbound-peers=50
- --metrics=0.0.0.0:9001
- --nat=extip:${IP}
- --port=14265
- --rollup.sequencer-http=https://rpc.katana.network
- --rpc-cache.max-blocks=10000
- --rpc-cache.max-concurrent-db-requests=2048
@@ -46,6 +46,9 @@ services:
nofile: 1048576 # Max open files (for RPC/WS connections)
memlock: -1 # Disable memory locking limits (for in-memory DBs like MDBX)
user: root
ports:
- 13767:13767
- 13767:13767/udp
expose:
- 8545
- 9001
@@ -58,12 +61,17 @@ services:
- --chain=/config/genesis.json
- --config=/config/reth/reth.toml
- --datadir=/root/.local/share/reth
- --disable-discovery
- --discovery.addr=0.0.0.0
- --discovery.port=13767
- --discovery.v5.addr=0.0.0.0
- --discovery.v5.port=13767
- --engine.cross-block-cache-size=${KATANA_MAINNET_RETH_STATE_CACHE:-4096}
- --full
- --max-inbound-peers=50
- --max-outbound-peers=50
- --metrics=0.0.0.0:9001
- --nat=extip:${IP}
- --port=13767
- --rollup.sequencer-http=https://rpc.katana.network
- --rpc-cache.max-blocks=10000
- --rpc-cache.max-concurrent-db-requests=2048
@@ -46,6 +46,9 @@ services:
nofile: 1048576 # Max open files (for RPC/WS connections)
memlock: -1 # Disable memory locking limits (for in-memory DBs like MDBX)
user: root
ports:
- 14792:14792
- 14792:14792/udp
expose:
- 8545
- 9001
@@ -59,11 +62,16 @@ services:
- --chain=/config/genesis.json
- --config=/config/reth/reth.toml
- --datadir=/root/.local/share/reth
- --disable-discovery
- --discovery.addr=0.0.0.0
- --discovery.port=14792
- --discovery.v5.addr=0.0.0.0
- --discovery.v5.port=14792
- --engine.cross-block-cache-size=${RONIN_MAINNET_RETH_STATE_CACHE:-4096}
- --max-inbound-peers=50
- --max-outbound-peers=50
- --metrics=0.0.0.0:9001
- --nat=extip:${IP}
- --port=14792
- --rollup.discovery.v4
- --rollup.historicalrpc=${RONIN_MAINNET_CLASSIC_ARCHIVE_RPC:-https://rpc-ronin-mainnet-bfz9fadqzl.t.conduit.xyz}
- --rollup.sequencer-http=https://rpc-ronin-mainnet-bfz9fadqzl.t.conduit.xyz
@@ -46,6 +46,9 @@ services:
nofile: 1048576 # Max open files (for RPC/WS connections)
memlock: -1 # Disable memory locking limits (for in-memory DBs like MDBX)
user: root
ports:
- 11763:11763
- 11763:11763/udp
expose:
- 8545
- 9001
@@ -59,11 +62,16 @@ services:
- --chain=/config/genesis.json
- --config=/config/reth/reth.toml
- --datadir=/root/.local/share/reth
- --disable-discovery
- --discovery.addr=0.0.0.0
- --discovery.port=11763
- --discovery.v5.addr=0.0.0.0
- --discovery.v5.port=11763
- --engine.cross-block-cache-size=${RONIN_SAIGON_RETH_STATE_CACHE:-4096}
- --max-inbound-peers=50
- --max-outbound-peers=50
- --metrics=0.0.0.0:9001
- --nat=extip:${IP}
- --port=11763
- --rollup.historicalrpc=${RONIN_SAIGON_CLASSIC_ARCHIVE_RPC:-https://rpc-ronin-saigon-bfz9fadqzl.t.conduit.xyz}
- --rollup.sequencer-http=https://rpc-saigon-testnet-cc58e966ql.t.conduit.xyz
- --rpc-cache.max-blocks=10000
@@ -46,6 +46,9 @@ services:
nofile: 1048576 # Max open files (for RPC/WS connections)
memlock: -1 # Disable memory locking limits (for in-memory DBs like MDBX)
user: root
ports:
- 13446:13446
- 13446:13446/udp
expose:
- 8545
- 9001
@@ -59,12 +62,17 @@ services:
- --chain=/config/genesis.json
- --config=/config/reth/reth.toml
- --datadir=/root/.local/share/reth
- --disable-discovery
- --discovery.addr=0.0.0.0
- --discovery.port=13446
- --discovery.v5.addr=0.0.0.0
- --discovery.v5.port=13446
- --engine.cross-block-cache-size=${RONIN_SAIGON_RETH_STATE_CACHE:-4096}
- --full
- --max-inbound-peers=50
- --max-outbound-peers=50
- --metrics=0.0.0.0:9001
- --nat=extip:${IP}
- --port=13446
- --rollup.historicalrpc=${RONIN_SAIGON_CLASSIC_ARCHIVE_RPC:-https://rpc-ronin-saigon-bfz9fadqzl.t.conduit.xyz}
- --rollup.sequencer-http=https://rpc-saigon-testnet-cc58e966ql.t.conduit.xyz
- --rpc-cache.max-blocks=10000
@@ -46,6 +46,9 @@ services:
nofile: 1048576 # Max open files (for RPC/WS connections)
memlock: -1 # Disable memory locking limits (for in-memory DBs like MDBX)
user: root
ports:
- 11373:11373
- 11373:11373/udp
expose:
- 8545
- 9001
@@ -55,12 +58,17 @@ services:
- --chain=/config/genesis.json
- --config=/config/reth/reth.toml
- --datadir=/root/.local/share/reth
- --disable-discovery
- --discovery.addr=0.0.0.0
- --discovery.port=11373
- --discovery.v5.addr=0.0.0.0
- --discovery.v5.port=11373
- --engine.cross-block-cache-size=${SUPERSEED_MAINNET_RETH_STATE_CACHE:-4096}
- --full
- --max-inbound-peers=50
- --max-outbound-peers=50
- --metrics=0.0.0.0:9001
- --nat=extip:${IP}
- --port=11373
- --rollup.historicalrpc=${SUPERSEED_MAINNET_CLASSIC_ARCHIVE_RPC:-https://mainnet.superseed.xyz}
- --rollup.sequencer-http=https://mainnet.superseed.xyz
- --rpc-cache.max-blocks=10000
@@ -46,6 +46,9 @@ services:
nofile: 1048576 # Max open files (for RPC/WS connections)
memlock: -1 # Disable memory locking limits (for in-memory DBs like MDBX)
user: root
ports:
- 12399:12399
- 12399:12399/udp
expose:
- 8545
- 9001
@@ -55,12 +58,17 @@ services:
- --chain=/config/genesis.json
- --config=/config/reth/reth.toml
- --datadir=/root/.local/share/reth
- --disable-discovery
- --discovery.addr=0.0.0.0
- --discovery.port=12399
- --discovery.v5.addr=0.0.0.0
- --discovery.v5.port=12399
- --engine.cross-block-cache-size=${SUPERSEED_SEPOLIA_RETH_STATE_CACHE:-4096}
- --full
- --max-inbound-peers=50
- --max-outbound-peers=50
- --metrics=0.0.0.0:9001
- --nat=extip:${IP}
- --port=12399
- --rollup.historicalrpc=${SUPERSEED_SEPOLIA_CLASSIC_ARCHIVE_RPC:-https://sepolia.superseed.xyz}
- --rollup.sequencer-http=https://sepolia.superseed.xyz
- --rpc-cache.max-blocks=10000
@@ -8,7 +8,7 @@ x-logging-defaults: &logging-defaults
# Generic op-reth can't read the X Layer DB format (xlayerdb), so this uses xlayer/op-reth
# (pinned in context.yml) with the image's built-in xlayer-<network> chain spec and the OKX
# archive reth.toml. --rpc.legacy-url (the public X Layer RPC) gap-fills history after the
# snapshot loads. node_sync=true already gives op-node consensus-layer + reth --disable-discovery.
# snapshot loads. node_sync=true gives op-node consensus-layer sync (EL discovery stays ON fleet-wide since 2026-10-04).
# Usage:
#
@@ -67,6 +67,9 @@ services:
nofile: 1048576 # Max open files (for RPC/WS connections)
memlock: -1 # Disable memory locking limits (for in-memory DBs like MDBX)
user: root
ports:
- 13556:13556
- 13556:13556/udp
expose:
- 8545
- 9001
@@ -78,11 +81,16 @@ services:
- --chain=xlayer-mainnet
- --config=/config/reth/reth.toml
- --datadir=/root/.local/share/reth
- --disable-discovery
- --discovery.addr=0.0.0.0
- --discovery.port=13556
- --discovery.v5.addr=0.0.0.0
- --discovery.v5.port=13556
- --engine.cross-block-cache-size=${XLAYER_MAINNET_RETH_STATE_CACHE:-4096}
- --max-inbound-peers=50
- --max-outbound-peers=50
- --metrics=0.0.0.0:9001
- --nat=extip:${IP}
- --port=13556
- --rollup.sequencer-http=https://rpc.xlayer.tech
- --rpc-cache.max-blocks=10000
- --rpc-cache.max-concurrent-db-requests=2048
@@ -8,7 +8,7 @@ x-logging-defaults: &logging-defaults
# Generic op-reth can't read the X Layer DB format (xlayerdb), so this uses xlayer/op-reth
# (pinned in context.yml) with the image's built-in xlayer-<network> chain spec and the OKX
# archive reth.toml. --rpc.legacy-url (the public X Layer RPC) gap-fills history after the
# snapshot loads. node_sync=true already gives op-node consensus-layer + reth --disable-discovery.
# snapshot loads. node_sync=true gives op-node consensus-layer sync (EL discovery stays ON fleet-wide since 2026-10-04).
# Usage:
#
@@ -68,6 +68,9 @@ services:
nofile: 1048576 # Max open files (for RPC/WS connections)
memlock: -1 # Disable memory locking limits (for in-memory DBs like MDBX)
user: root
ports:
- 13466:13466
- 13466:13466/udp
expose:
- 8545
- 9001
@@ -79,11 +82,16 @@ services:
- --chain=xlayer-testnet
- --config=/config/reth/reth.toml
- --datadir=/root/.local/share/reth
- --disable-discovery
- --discovery.addr=0.0.0.0
- --discovery.port=13466
- --discovery.v5.addr=0.0.0.0
- --discovery.v5.port=13466
- --engine.cross-block-cache-size=${XLAYER_TESTNET_RETH_STATE_CACHE:-4096}
- --max-inbound-peers=50
- --max-outbound-peers=50
- --metrics=0.0.0.0:9001
- --nat=extip:${IP}
- --port=13466
- --rollup.sequencer-http=https://testrpc.xlayer.tech
- --rpc-cache.max-blocks=10000
- --rpc-cache.max-concurrent-db-requests=2048
@@ -46,6 +46,9 @@ services:
nofile: 1048576 # Max open files (for RPC/WS connections)
memlock: -1 # Disable memory locking limits (for in-memory DBs like MDBX)
user: root
ports:
- 13027:13027
- 13027:13027/udp
expose:
- 8545
- 9001
@@ -46,6 +46,9 @@ services:
nofile: 1048576 # Max open files (for RPC/WS connections)
memlock: -1 # Disable memory locking limits (for in-memory DBs like MDBX)
user: root
ports:
- 12481:12481
- 12481:12481/udp
expose:
- 8545
- 9001