Compare commits

..

7 Commits

Author SHA1 Message Date
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
15 changed files with 59 additions and 11 deletions

View File

@@ -91,7 +91,7 @@ services:
- --ipcpath=/sockets/reth.ipc
- --log.file.directory=/data/execution/logs
- --metrics=0.0.0.0:9001
- --rpc.forwarder=https://rpc.arc.network/
- --rpc.forwarder=https://rpc.mainnet.arc.io/
restart: unless-stopped
stop_grace_period: 5m
depends_on:
@@ -131,8 +131,9 @@ services:
- --execution-persistence-backpressure-threshold=200
- --execution-socket=/sockets/auth.ipc
- --follow
- --follow.endpoint=https://rpc.arc.network,wss=rpc.arc.network
- --follow.endpoint=https://arc.drpc.org,wss=arc.drpc.org
- --follow.endpoint=https://rpc.mainnet.arc.io,wss=rpc.mainnet.arc.io
- --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
- --home=/data/consensus
- --metrics=0.0.0.0:29000

View File

@@ -93,7 +93,7 @@ services:
- --log.file.directory=/data/execution/logs
- --metrics=0.0.0.0:9001
- --prune.block-interval=5000
- --rpc.forwarder=https://rpc.arc.network/
- --rpc.forwarder=https://rpc.mainnet.arc.io/
restart: unless-stopped
stop_grace_period: 5m
depends_on:
@@ -133,8 +133,9 @@ services:
- --execution-persistence-backpressure-threshold=200
- --execution-socket=/sockets/auth.ipc
- --follow
- --follow.endpoint=https://rpc.arc.network,wss=rpc.arc.network
- --follow.endpoint=https://arc.drpc.org,wss=arc.drpc.org
- --follow.endpoint=https://rpc.mainnet.arc.io,wss=rpc.mainnet.arc.io
- --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
- --home=/data/consensus
- --metrics=0.0.0.0:29000

View File

@@ -30,7 +30,7 @@ x-logging-defaults: &logging-defaults
services:
gnosis-chiado-erigon3-archive:
image: ${GNOSIS_ERIGON3_IMAGE:-erigontech/erigon}:${GNOSIS_CHIADO_ERIGON3_VERSION:-v3.5.3}
image: ${GNOSIS_ERIGON3_IMAGE:-erigontech/erigon}:${GNOSIS_CHIADO_ERIGON3_VERSION:-v3.6.0}
sysctls:
# TCP Performance
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:
gnosis-chiado-erigon3-minimal:
image: ${GNOSIS_ERIGON3_IMAGE:-erigontech/erigon}:${GNOSIS_CHIADO_ERIGON3_VERSION:-v3.5.3}
image: ${GNOSIS_ERIGON3_IMAGE:-erigontech/erigon}:${GNOSIS_CHIADO_ERIGON3_VERSION:-v3.6.0}
sysctls:
# TCP Performance
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:
gnosis-chiado-erigon3:
image: ${GNOSIS_ERIGON3_IMAGE:-erigontech/erigon}:${GNOSIS_CHIADO_ERIGON3_VERSION:-v3.5.3}
image: ${GNOSIS_ERIGON3_IMAGE:-erigontech/erigon}:${GNOSIS_CHIADO_ERIGON3_VERSION:-v3.6.0}
sysctls:
# TCP Performance
net.ipv4.tcp_slow_start_after_idle: 0 # Disable slow start after idle

View File

@@ -123,10 +123,14 @@ services:
- KONA_NODE_L2_TRUST_RPC=true
- KONA_NODE_METRICS_PORT=7300
- KONA_NODE_MODE=Validator
- KONA_NODE_OVERRIDE_KEEP_KARST_UPGRADE_GAS=false
- KONA_NODE_P2P_ADVERTISE_IP=${IP}
- KONA_NODE_P2P_LISTEN_IP=0.0.0.0
- KONA_NODE_P2P_LISTEN_TCP_PORT=17509
- KONA_NODE_P2P_LISTEN_UDP_PORT=17509
- KONA_NODE_P2P_NO_DISCOVERY=true
- KONA_NODE_P2P_PEERS_HI=0
- KONA_NODE_P2P_PEERS_LO=0
- KONA_NODE_RPC_ADDR=0.0.0.0
- KONA_NODE_RPC_PORT=9545
- OP_NODE_SYNCMODE=execution-layer

View File

@@ -53,6 +53,8 @@ services:
- 6060
- 8551
environment:
- GETH_OVERRIDE_KARST=1783526401
- GETH_OVERRIDE_OSAKA=1783526401
- GETH_ROLLUP_DISABLETXPOOLGOSSIP=true
- GETH_ROLLUP_SEQUENCERHTTP=https://mainnet.mode.network
entrypoint: /bin/sh -c '[ -f /config/genesis.json ] && geth --db.engine=leveldb --gcmode=archive --datadir /data init --state.scheme=hash /config/genesis.json; [ -f /config/static-nodes.json ] && cp -f /config/static-nodes.json /data/static-nodes.json; exec geth "$@"' --
@@ -124,10 +126,14 @@ services:
- KONA_NODE_L2_TRUST_RPC=true
- KONA_NODE_METRICS_PORT=7300
- KONA_NODE_MODE=Validator
- KONA_NODE_OVERRIDE_KEEP_KARST_UPGRADE_GAS=false
- KONA_NODE_P2P_ADVERTISE_IP=${IP}
- KONA_NODE_P2P_LISTEN_IP=0.0.0.0
- KONA_NODE_P2P_LISTEN_TCP_PORT=15430
- KONA_NODE_P2P_LISTEN_UDP_PORT=15430
- KONA_NODE_P2P_NO_DISCOVERY=true
- KONA_NODE_P2P_PEERS_HI=0
- KONA_NODE_P2P_PEERS_LO=0
- KONA_NODE_RPC_ADDR=0.0.0.0
- KONA_NODE_RPC_PORT=9545
- OP_NODE_SYNCMODE=execution-layer

View File

@@ -53,6 +53,8 @@ services:
- 6060
- 8551
environment:
- GETH_OVERRIDE_KARST=1783526401
- GETH_OVERRIDE_OSAKA=1783526401
- GETH_ROLLUP_DISABLETXPOOLGOSSIP=true
- GETH_ROLLUP_SEQUENCERHTTP=https://mainnet.mode.network
entrypoint: /bin/sh -c '[ -f /config/genesis.json ] && geth --db.engine=leveldb --gcmode=archive --datadir /data init --state.scheme=hash /config/genesis.json; [ -f /config/static-nodes.json ] && cp -f /config/static-nodes.json /data/static-nodes.json; exec geth "$@"' --

View File

@@ -53,6 +53,8 @@ services:
- 6060
- 8551
environment:
- GETH_OVERRIDE_KARST=1783526401
- GETH_OVERRIDE_OSAKA=1783526401
- GETH_ROLLUP_DISABLETXPOOLGOSSIP=true
- GETH_ROLLUP_SEQUENCERHTTP=https://mainnet.mode.network
entrypoint: /bin/sh -c '[ -f /config/genesis.json ] && geth --db.engine=pebble --gcmode=full --datadir /data init --state.scheme=hash /config/genesis.json; [ -f /config/static-nodes.json ] && cp -f /config/static-nodes.json /data/static-nodes.json; exec geth "$@"' --
@@ -124,10 +126,14 @@ services:
- KONA_NODE_L2_TRUST_RPC=true
- KONA_NODE_METRICS_PORT=7300
- KONA_NODE_MODE=Validator
- KONA_NODE_OVERRIDE_KEEP_KARST_UPGRADE_GAS=false
- KONA_NODE_P2P_ADVERTISE_IP=${IP}
- KONA_NODE_P2P_LISTEN_IP=0.0.0.0
- KONA_NODE_P2P_LISTEN_TCP_PORT=16249
- KONA_NODE_P2P_LISTEN_UDP_PORT=16249
- KONA_NODE_P2P_NO_DISCOVERY=true
- KONA_NODE_P2P_PEERS_HI=0
- KONA_NODE_P2P_PEERS_LO=0
- KONA_NODE_RPC_ADDR=0.0.0.0
- KONA_NODE_RPC_PORT=9545
- OP_NODE_SYNCMODE=execution-layer

View File

@@ -53,6 +53,8 @@ services:
- 6060
- 8551
environment:
- GETH_OVERRIDE_KARST=1783526401
- GETH_OVERRIDE_OSAKA=1783526401
- GETH_ROLLUP_DISABLETXPOOLGOSSIP=true
- GETH_ROLLUP_SEQUENCERHTTP=https://mainnet.mode.network
entrypoint: /bin/sh -c '[ -f /config/genesis.json ] && geth --db.engine=pebble --gcmode=full --datadir /data init --state.scheme=hash /config/genesis.json; [ -f /config/static-nodes.json ] && cp -f /config/static-nodes.json /data/static-nodes.json; exec geth "$@"' --

View File

@@ -53,6 +53,8 @@ services:
- 6060
- 8551
environment:
- GETH_OVERRIDE_KARST=1783526401
- GETH_OVERRIDE_OSAKA=1783526401
- GETH_ROLLUP_DISABLETXPOOLGOSSIP=true
- GETH_ROLLUP_SEQUENCERHTTP=https://mainnet.mode.network
entrypoint: /bin/sh -c '[ -f /config/genesis.json ] && geth --db.engine=pebble --gcmode=full --datadir /data init --state.scheme=path /config/genesis.json; [ -f /config/static-nodes.json ] && cp -f /config/static-nodes.json /data/static-nodes.json; exec geth "$@"' --
@@ -124,10 +126,14 @@ services:
- KONA_NODE_L2_TRUST_RPC=true
- KONA_NODE_METRICS_PORT=7300
- KONA_NODE_MODE=Validator
- KONA_NODE_OVERRIDE_KEEP_KARST_UPGRADE_GAS=false
- KONA_NODE_P2P_ADVERTISE_IP=${IP}
- KONA_NODE_P2P_LISTEN_IP=0.0.0.0
- KONA_NODE_P2P_LISTEN_TCP_PORT=17054
- KONA_NODE_P2P_LISTEN_UDP_PORT=17054
- KONA_NODE_P2P_NO_DISCOVERY=true
- KONA_NODE_P2P_PEERS_HI=0
- KONA_NODE_P2P_PEERS_LO=0
- KONA_NODE_RPC_ADDR=0.0.0.0
- KONA_NODE_RPC_PORT=9545
- OP_NODE_SYNCMODE=execution-layer

View File

@@ -53,6 +53,8 @@ services:
- 6060
- 8551
environment:
- GETH_OVERRIDE_KARST=1783526401
- GETH_OVERRIDE_OSAKA=1783526401
- GETH_ROLLUP_DISABLETXPOOLGOSSIP=true
- GETH_ROLLUP_SEQUENCERHTTP=https://mainnet.mode.network
entrypoint: /bin/sh -c '[ -f /config/genesis.json ] && geth --db.engine=pebble --gcmode=full --datadir /data init --state.scheme=path /config/genesis.json; [ -f /config/static-nodes.json ] && cp -f /config/static-nodes.json /data/static-nodes.json; exec geth "$@"' --

View File

@@ -27,6 +27,9 @@
"isthmusTime": 1746806401,
"jovianTime": 1764691201,
"karstTime": 1783526401,
"cancunTime": 1710374401,
"pragueTime": 1746806401,
"osakaTime": 1783526401,
"terminalTotalDifficulty": 0,
"terminalTotalDifficultyPassed": true,
"optimism": {

View File

@@ -131,10 +131,14 @@ services:
- KONA_NODE_L2_TRUST_RPC=true
- KONA_NODE_METRICS_PORT=7300
- KONA_NODE_MODE=Validator
- KONA_NODE_OVERRIDE_KEEP_KARST_UPGRADE_GAS=false
- KONA_NODE_P2P_ADVERTISE_IP=${IP}
- KONA_NODE_P2P_LISTEN_IP=0.0.0.0
- KONA_NODE_P2P_LISTEN_TCP_PORT=19035
- KONA_NODE_P2P_LISTEN_UDP_PORT=19035
- KONA_NODE_P2P_NO_DISCOVERY=true
- KONA_NODE_P2P_PEERS_HI=0
- KONA_NODE_P2P_PEERS_LO=0
- KONA_NODE_RPC_ADDR=0.0.0.0
- KONA_NODE_RPC_PORT=9545
- OP_NODE_SYNCMODE=execution-layer

View File

@@ -208,8 +208,19 @@ for CID in $(docker ps -q -f "name=dshackle"); do
RC=1
continue
fi
sleep "$SETTLE"
LOGS=$(docker logs --since "$T0" "$CID" 2>&1)
# Poll for the handler's completion line instead of sleeping SETTLE: the reload itself
# takes ~10-30 ms, but the fixed 3 s sleep was the window in which a removed upstream
# was already gone while the gateway still held the old announcements (operator
# 2026-09-19). SETTLE is now the upper bound only.
DONE_MARK="Reloading config has been completed"
LOGS=""
for _ in $(seq 1 $(( SETTLE * 20 ))); do
LOGS=$(docker logs --since "$T0" "$CID" 2>&1)
if echo "$LOGS" | grep -qF "$DONE_MARK" || echo "$LOGS" | grep -qF "$FAIL_MARK" || echo "$LOGS" | grep -qF "$DROP_MARK"; then
break
fi
sleep 0.05
done
REASON=""
if echo "$LOGS" | grep -qF "$FAIL_MARK"; then
REASON=$(echo "$LOGS" | grep -F "$FAIL_MARK" | head -1)