Compare commits

..
250 changed files with 30275 additions and 16209 deletions
@@ -67,7 +67,7 @@ services:
- --metrics-server.addr=0.0.0.0 - --metrics-server.addr=0.0.0.0
- --metrics-server.port=6070 - --metrics-server.port=6070
- --node.batch-poster.enable=false - --node.batch-poster.enable=false
- --node.feed.input.url=wss://feed.mainnet.chain.robinhood.com,wss://delayed-feed.mainnet.chain.robinhood.com - --node.feed.input.url=wss://feed.mainnet.chain.robinhood.com
- --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}
@@ -151,7 +151,7 @@ services:
context: ./berachain context: ./berachain
dockerfile: beacon-kit.Dockerfile dockerfile: beacon-kit.Dockerfile
args: args:
BEACONKIT_VERSION: ${BERACHAIN_BARTIO_BEACON_KIT_VERSION:-v1.4.1} BEACONKIT_VERSION: ${BERACHAIN_BARTIO_BEACON_KIT_VERSION:-v1.4.0-rc3}
BEACONKIT_IMAGE: ${BERACHAIN_BARTIO_BEACON_KIT_IMAGE:-ghcr.io/berachain/beacon-kit} BEACONKIT_IMAGE: ${BERACHAIN_BARTIO_BEACON_KIT_IMAGE:-ghcr.io/berachain/beacon-kit}
ports: ports:
- 15527:15527 - 15527:15527
@@ -152,7 +152,7 @@ services:
context: ./berachain context: ./berachain
dockerfile: beacon-kit.Dockerfile dockerfile: beacon-kit.Dockerfile
args: args:
BEACONKIT_VERSION: ${BERACHAIN_BARTIO_BEACON_KIT_VERSION:-v1.4.1} BEACONKIT_VERSION: ${BERACHAIN_BARTIO_BEACON_KIT_VERSION:-v1.4.0-rc3}
BEACONKIT_IMAGE: ${BERACHAIN_BARTIO_BEACON_KIT_IMAGE:-ghcr.io/berachain/beacon-kit} BEACONKIT_IMAGE: ${BERACHAIN_BARTIO_BEACON_KIT_IMAGE:-ghcr.io/berachain/beacon-kit}
ports: ports:
- 19467:19467 - 19467:19467
+28 -27
View File
@@ -4878,7 +4878,7 @@
"trace" "trace"
], ],
"network": "worldchain", "network": "worldchain",
"node": null, "node": "kona",
"relay": null, "relay": null,
"stack": "op", "stack": "op",
"type": "archive", "type": "archive",
@@ -4895,7 +4895,7 @@
"trace" "trace"
], ],
"network": "worldchain", "network": "worldchain",
"node": null, "node": "node",
"relay": null, "relay": null,
"stack": "op", "stack": "op",
"type": "archive", "type": "archive",
@@ -6207,6 +6207,24 @@
"lisk-sepolia-op-geth-pruned-pebble-path" "lisk-sepolia-op-geth-pruned-pebble-path"
] ]
}, },
{
"chain": "pacific-mainnet",
"client": "geth",
"compose_file": "op/geth/manta-pacific-mainnet-op-geth-archive-pebble-hash",
"drpc_chain": "manta-pacific",
"features": [
"hash",
"pebble"
],
"network": "manta",
"node": null,
"relay": null,
"stack": "op",
"type": "archive",
"volumes": [
"manta-pacific-mainnet-op-geth-archive-pebble-hash"
]
},
{ {
"chain": "mainnet", "chain": "mainnet",
"client": "geth", "client": "geth",
@@ -7213,7 +7231,7 @@
"leveldb" "leveldb"
], ],
"network": "worldchain", "network": "worldchain",
"node": null, "node": "kona",
"relay": null, "relay": null,
"stack": "op", "stack": "op",
"type": "archive", "type": "archive",
@@ -7249,7 +7267,7 @@
"pebble" "pebble"
], ],
"network": "worldchain", "network": "worldchain",
"node": null, "node": "kona",
"relay": null, "relay": null,
"stack": "op", "stack": "op",
"type": "pruned", "type": "pruned",
@@ -7267,7 +7285,7 @@
"leveldb" "leveldb"
], ],
"network": "worldchain", "network": "worldchain",
"node": null, "node": "node",
"relay": null, "relay": null,
"stack": "op", "stack": "op",
"type": "archive", "type": "archive",
@@ -7285,7 +7303,7 @@
"pebble" "pebble"
], ],
"network": "worldchain", "network": "worldchain",
"node": null, "node": "node",
"relay": null, "relay": null,
"stack": "op", "stack": "op",
"type": "pruned", "type": "pruned",
@@ -8268,23 +8286,6 @@
"lisk-mainnet-op-reth-pruned-trace" "lisk-mainnet-op-reth-pruned-trace"
] ]
}, },
{
"chain": "pacific-mainnet",
"client": "reth",
"compose_file": "op/reth/manta-pacific-mainnet-op-reth-archive-trace",
"drpc_chain": "manta-pacific",
"features": [
"trace"
],
"network": "manta",
"node": null,
"relay": null,
"stack": "op",
"type": "archive",
"volumes": [
"manta-pacific-mainnet-op-reth-archive-trace"
]
},
{ {
"chain": "mainnet", "chain": "mainnet",
"client": "reth", "client": "reth",
@@ -8824,7 +8825,7 @@
"trace" "trace"
], ],
"network": "worldchain", "network": "worldchain",
"node": null, "node": "kona",
"relay": null, "relay": null,
"stack": "op", "stack": "op",
"type": "pruned", "type": "pruned",
@@ -8841,7 +8842,7 @@
"trace" "trace"
], ],
"network": "worldchain", "network": "worldchain",
"node": null, "node": "node",
"relay": null, "relay": null,
"stack": "op", "stack": "op",
"type": "archive", "type": "archive",
@@ -8858,7 +8859,7 @@
"trace" "trace"
], ],
"network": "worldchain", "network": "worldchain",
"node": null, "node": "node",
"relay": null, "relay": null,
"stack": "op", "stack": "op",
"type": "minimal", "type": "minimal",
@@ -8892,7 +8893,7 @@
"trace" "trace"
], ],
"network": "worldchain", "network": "worldchain",
"node": null, "node": "kona",
"relay": null, "relay": null,
"stack": "op", "stack": "op",
"type": "pruned", "type": "pruned",
+1 -1
View File
@@ -19,7 +19,7 @@ services:
- "traefik.http.routers.drpc-free.tls.certresolver=myresolver" - "traefik.http.routers.drpc-free.tls.certresolver=myresolver"
- "traefik.http.routers.drpc-free.rule=Host(`$GW_FREE_DOMAIN`)" - "traefik.http.routers.drpc-free.rule=Host(`$GW_FREE_DOMAIN`)"
extra_hosts: extra_hosts:
- "host.docker.internal:172.17.0.1" # literal docker0 IP: Docker 28 cannot resolve host-gateway when docker0 has no carrier (sg-9 gateway outage 2026-09-22/23) - "host.docker.internal:host-gateway"
networks: networks:
- chains - chains
logging: logging:
+1 -1
View File
@@ -62,7 +62,7 @@ services:
- "${GW_ALLOW_LIST:+traefik.http.middlewares.gwallowlist.ipallowlist.sourcerange=$GW_ALLOW_LIST}" - "${GW_ALLOW_LIST:+traefik.http.middlewares.gwallowlist.ipallowlist.sourcerange=$GW_ALLOW_LIST}"
- "${GW_ALLOW_LIST:+traefik.http.routers.dshackle.middlewares=gwallowlist}" - "${GW_ALLOW_LIST:+traefik.http.routers.dshackle.middlewares=gwallowlist}"
extra_hosts: extra_hosts:
- "host.docker.internal:172.17.0.1" # literal docker0 IP: Docker 28 cannot resolve host-gateway when docker0 has no carrier (sg-9 gateway outage 2026-09-22/23) - "host.docker.internal:172.17.0.1"
networks: networks:
- chains - chains
logging: logging:
@@ -1,7 +1,7 @@
services: services:
ethereum-beacon-blobs: ethereum-beacon-blobs:
image: sigp/lighthouse:${LIGHTHOUSE_VERSION:-v8.2.2} image: sigp/lighthouse:${LIGHTHOUSE_VERSION:-v6.0.1}
restart: unless-stopped restart: unless-stopped
networks: networks:
- chains - chains
@@ -115,7 +115,7 @@ services:
- traefik.http.routers.ethereum-mainnet-besu-pruned-bonsai-ws.middlewares=ethereum-mainnet-besu-pruned-bonsai-stripprefix, ipallowlist - traefik.http.routers.ethereum-mainnet-besu-pruned-bonsai-ws.middlewares=ethereum-mainnet-besu-pruned-bonsai-stripprefix, ipallowlist
ethereum-mainnet-besu-node: ethereum-mainnet-besu-node:
image: ${ETHEREUM_NIMBUS_IMAGE:-statusim/nimbus-eth2}:${ETHEREUM_MAINNET_NIMBUS_VERSION:-multiarch-v26.8.0} image: ${ETHEREUM_NIMBUS_IMAGE:-statusim/nimbus-eth2}:${ETHEREUM_MAINNET_NIMBUS_VERSION:-multiarch-v26.7.0}
user: root user: root
ports: ports:
- 18205:18205 - 18205:18205
@@ -195,15 +195,6 @@ x-upstreams:
# UNAVAILABLE and failing live requests ("Source was empty"). Head tracking # UNAVAILABLE and failing live requests ("Source was empty"). Head tracking
# still governs health with validation off. 2026-07-10, dRPC incident. # still governs health with validation off. 2026-07-10, dRPC incident.
disable-validation: true disable-validation: true
# dshackle runs internal lower-bound detectors against each upstream.
# For a nimbus beacon endpoint the epoch detector calls POST /eth/v1/beacon/rewards/attestations/{epoch}
# every ~5 minutes with a hardcoded 5-second internal timeout, while nimbus needs 16-22 seconds
# to replay that historical state. The probe therefore always times out, retries, and
# re-issues the same historical request forever, which pins the node in constant
# historical state replay and has repeatedly degraded the mainnet ethereum node.
# The code path is GenericUpstream.upstreamStart(): if (!getOptions().disableBoundValidation)
# { detectLowerBlock() }. The YAML key is read by ChainOptionsReader as disable-bound-validation.
disable-bound-validation: true
methods: methods:
disabled: disabled:
- name: GET#/eth/v2/debug/beacon/states/* - name: GET#/eth/v2/debug/beacon/states/*
@@ -103,7 +103,7 @@ services:
- traefik.http.routers.ethereum-hoodi-geth-pruned-pebble-path.middlewares=ethereum-hoodi-geth-pruned-pebble-path-stripprefix, ipallowlist - traefik.http.routers.ethereum-hoodi-geth-pruned-pebble-path.middlewares=ethereum-hoodi-geth-pruned-pebble-path-stripprefix, ipallowlist
ethereum-hoodi-geth-node: ethereum-hoodi-geth-node:
image: ${ETHEREUM_NIMBUS_IMAGE:-statusim/nimbus-eth2}:${ETHEREUM_HOODI_NIMBUS_VERSION:-multiarch-v26.8.0} image: ${ETHEREUM_NIMBUS_IMAGE:-statusim/nimbus-eth2}:${ETHEREUM_HOODI_NIMBUS_VERSION:-multiarch-v26.7.0}
user: root user: root
ports: ports:
- 16917:16917 - 16917:16917
@@ -201,15 +201,6 @@ x-upstreams:
# UNAVAILABLE and failing live requests ("Source was empty"). Head tracking # UNAVAILABLE and failing live requests ("Source was empty"). Head tracking
# still governs health with validation off. 2026-07-10, dRPC incident. # still governs health with validation off. 2026-07-10, dRPC incident.
disable-validation: true disable-validation: true
# dshackle runs internal lower-bound detectors against each upstream.
# For a nimbus beacon endpoint the epoch detector calls POST /eth/v1/beacon/rewards/attestations/{epoch}
# every ~5 minutes with a hardcoded 5-second internal timeout, while nimbus needs 16-22 seconds
# to replay that historical state. The probe therefore always times out, retries, and
# re-issues the same historical request forever, which pins the node in constant
# historical state replay and has repeatedly degraded the mainnet ethereum node.
# The code path is GenericUpstream.upstreamStart(): if (!getOptions().disableBoundValidation)
# { detectLowerBlock() }. The YAML key is read by ChainOptionsReader as disable-bound-validation.
disable-bound-validation: true
methods: methods:
disabled: disabled:
- name: GET#/eth/v2/debug/beacon/states/* - name: GET#/eth/v2/debug/beacon/states/*
@@ -103,7 +103,7 @@ services:
- traefik.http.routers.ethereum-hoodi-geth-pruned-pebble-path.middlewares=ethereum-hoodi-geth-pruned-pebble-path-stripprefix, ipallowlist - traefik.http.routers.ethereum-hoodi-geth-pruned-pebble-path.middlewares=ethereum-hoodi-geth-pruned-pebble-path-stripprefix, ipallowlist
ethereum-hoodi-geth-node: ethereum-hoodi-geth-node:
image: ${ETHEREUM_PRYSM_IMAGE:-prysmaticlabs/prysm-beacon-chain}:${ETHEREUM_HOODI_PRYSM_VERSION:-v7.1.8} image: ${ETHEREUM_PRYSM_IMAGE:-prysmaticlabs/prysm-beacon-chain}:${ETHEREUM_HOODI_PRYSM_VERSION:-v7.1.7}
ports: ports:
- 16917:16917 - 16917:16917
- 16917:16917/udp - 16917:16917/udp
@@ -107,7 +107,7 @@ services:
- traefik.http.routers.ethereum-mainnet-geth-minimal-pebble-path.middlewares=ethereum-mainnet-geth-minimal-pebble-path-stripprefix, ipallowlist - traefik.http.routers.ethereum-mainnet-geth-minimal-pebble-path.middlewares=ethereum-mainnet-geth-minimal-pebble-path-stripprefix, ipallowlist
ethereum-mainnet-geth-minimal-node: ethereum-mainnet-geth-minimal-node:
image: ${ETHEREUM_PRYSM_IMAGE:-prysmaticlabs/prysm-beacon-chain}:${ETHEREUM_MAINNET_PRYSM_VERSION:-v7.1.8} image: ${ETHEREUM_PRYSM_IMAGE:-prysmaticlabs/prysm-beacon-chain}:${ETHEREUM_MAINNET_PRYSM_VERSION:-v7.1.7}
ports: ports:
- 19551:19551 - 19551:19551
- 19551:19551/udp - 19551:19551/udp
@@ -168,7 +168,7 @@ services:
- traefik.http.routers.ethereum-mainnet-geth-pruned-leveldb-hash-events.middlewares=ipallowlist - traefik.http.routers.ethereum-mainnet-geth-pruned-leveldb-hash-events.middlewares=ipallowlist
ethereum-mainnet-geth-node: ethereum-mainnet-geth-node:
image: ${ETHEREUM_NIMBUS_IMAGE:-statusim/nimbus-eth2}:${ETHEREUM_MAINNET_NIMBUS_VERSION:-multiarch-v26.8.0} image: ${ETHEREUM_NIMBUS_IMAGE:-statusim/nimbus-eth2}:${ETHEREUM_MAINNET_NIMBUS_VERSION:-multiarch-v26.7.0}
user: root user: root
ports: ports:
- 15455:15455 - 15455:15455
@@ -265,15 +265,6 @@ x-upstreams:
# UNAVAILABLE and failing live requests ("Source was empty"). Head tracking # UNAVAILABLE and failing live requests ("Source was empty"). Head tracking
# still governs health with validation off. 2026-07-10, dRPC incident. # still governs health with validation off. 2026-07-10, dRPC incident.
disable-validation: true disable-validation: true
# dshackle runs internal lower-bound detectors against each upstream.
# For a nimbus beacon endpoint the epoch detector calls POST /eth/v1/beacon/rewards/attestations/{epoch}
# every ~5 minutes with a hardcoded 5-second internal timeout, while nimbus needs 16-22 seconds
# to replay that historical state. The probe therefore always times out, retries, and
# re-issues the same historical request forever, which pins the node in constant
# historical state replay and has repeatedly degraded the mainnet ethereum node.
# The code path is GenericUpstream.upstreamStart(): if (!getOptions().disableBoundValidation)
# { detectLowerBlock() }. The YAML key is read by ChainOptionsReader as disable-bound-validation.
disable-bound-validation: true
methods: methods:
disabled: disabled:
- name: GET#/eth/v2/debug/beacon/states/* - name: GET#/eth/v2/debug/beacon/states/*
@@ -168,7 +168,7 @@ services:
- traefik.http.routers.ethereum-mainnet-geth-pruned-pebble-path-events.middlewares=ipallowlist - traefik.http.routers.ethereum-mainnet-geth-pruned-pebble-path-events.middlewares=ipallowlist
ethereum-mainnet-geth-node: ethereum-mainnet-geth-node:
image: ${ETHEREUM_NIMBUS_IMAGE:-statusim/nimbus-eth2}:${ETHEREUM_MAINNET_NIMBUS_VERSION:-multiarch-v26.8.0} image: ${ETHEREUM_NIMBUS_IMAGE:-statusim/nimbus-eth2}:${ETHEREUM_MAINNET_NIMBUS_VERSION:-multiarch-v26.7.0}
user: root user: root
ports: ports:
- 17023:17023 - 17023:17023
@@ -267,15 +267,6 @@ x-upstreams:
# UNAVAILABLE and failing live requests ("Source was empty"). Head tracking # UNAVAILABLE and failing live requests ("Source was empty"). Head tracking
# still governs health with validation off. 2026-07-10, dRPC incident. # still governs health with validation off. 2026-07-10, dRPC incident.
disable-validation: true disable-validation: true
# dshackle runs internal lower-bound detectors against each upstream.
# For a nimbus beacon endpoint the epoch detector calls POST /eth/v1/beacon/rewards/attestations/{epoch}
# every ~5 minutes with a hardcoded 5-second internal timeout, while nimbus needs 16-22 seconds
# to replay that historical state. The probe therefore always times out, retries, and
# re-issues the same historical request forever, which pins the node in constant
# historical state replay and has repeatedly degraded the mainnet ethereum node.
# The code path is GenericUpstream.upstreamStart(): if (!getOptions().disableBoundValidation)
# { detectLowerBlock() }. The YAML key is read by ChainOptionsReader as disable-bound-validation.
disable-bound-validation: true
methods: methods:
disabled: disabled:
- name: GET#/eth/v2/debug/beacon/states/* - name: GET#/eth/v2/debug/beacon/states/*
@@ -103,7 +103,7 @@ services:
- traefik.http.routers.ethereum-mainnet-geth-pruned-pebble-path.middlewares=ethereum-mainnet-geth-pruned-pebble-path-stripprefix, ipallowlist - traefik.http.routers.ethereum-mainnet-geth-pruned-pebble-path.middlewares=ethereum-mainnet-geth-pruned-pebble-path-stripprefix, ipallowlist
ethereum-mainnet-geth-node: ethereum-mainnet-geth-node:
image: ${ETHEREUM_NIMBUS_IMAGE:-statusim/nimbus-eth2}:${ETHEREUM_MAINNET_NIMBUS_VERSION:-multiarch-v26.8.0} image: ${ETHEREUM_NIMBUS_IMAGE:-statusim/nimbus-eth2}:${ETHEREUM_MAINNET_NIMBUS_VERSION:-multiarch-v26.7.0}
user: root user: root
ports: ports:
- 17023:17023 - 17023:17023
@@ -201,15 +201,6 @@ x-upstreams:
# UNAVAILABLE and failing live requests ("Source was empty"). Head tracking # UNAVAILABLE and failing live requests ("Source was empty"). Head tracking
# still governs health with validation off. 2026-07-10, dRPC incident. # still governs health with validation off. 2026-07-10, dRPC incident.
disable-validation: true disable-validation: true
# dshackle runs internal lower-bound detectors against each upstream.
# For a nimbus beacon endpoint the epoch detector calls POST /eth/v1/beacon/rewards/attestations/{epoch}
# every ~5 minutes with a hardcoded 5-second internal timeout, while nimbus needs 16-22 seconds
# to replay that historical state. The probe therefore always times out, retries, and
# re-issues the same historical request forever, which pins the node in constant
# historical state replay and has repeatedly degraded the mainnet ethereum node.
# The code path is GenericUpstream.upstreamStart(): if (!getOptions().disableBoundValidation)
# { detectLowerBlock() }. The YAML key is read by ChainOptionsReader as disable-bound-validation.
disable-bound-validation: true
methods: methods:
disabled: disabled:
- name: GET#/eth/v2/debug/beacon/states/* - name: GET#/eth/v2/debug/beacon/states/*
@@ -103,7 +103,7 @@ services:
- traefik.http.routers.ethereum-mainnet-geth-pruned-pebble-path.middlewares=ethereum-mainnet-geth-pruned-pebble-path-stripprefix, ipallowlist - traefik.http.routers.ethereum-mainnet-geth-pruned-pebble-path.middlewares=ethereum-mainnet-geth-pruned-pebble-path-stripprefix, ipallowlist
ethereum-mainnet-geth-node: ethereum-mainnet-geth-node:
image: ${ETHEREUM_PRYSM_IMAGE:-prysmaticlabs/prysm-beacon-chain}:${ETHEREUM_MAINNET_PRYSM_VERSION:-v7.1.8} image: ${ETHEREUM_PRYSM_IMAGE:-prysmaticlabs/prysm-beacon-chain}:${ETHEREUM_MAINNET_PRYSM_VERSION:-v7.1.7}
ports: ports:
- 17023:17023 - 17023:17023
- 17023:17023/udp - 17023:17023/udp
@@ -103,7 +103,7 @@ services:
- traefik.http.routers.ethereum-sepolia-geth-pruned-pebble-path.middlewares=ethereum-sepolia-geth-pruned-pebble-path-stripprefix, ipallowlist - traefik.http.routers.ethereum-sepolia-geth-pruned-pebble-path.middlewares=ethereum-sepolia-geth-pruned-pebble-path-stripprefix, ipallowlist
ethereum-sepolia-geth-node: ethereum-sepolia-geth-node:
image: ${ETHEREUM_NIMBUS_IMAGE:-statusim/nimbus-eth2}:${ETHEREUM_SEPOLIA_NIMBUS_VERSION:-multiarch-v26.8.0} image: ${ETHEREUM_NIMBUS_IMAGE:-statusim/nimbus-eth2}:${ETHEREUM_SEPOLIA_NIMBUS_VERSION:-multiarch-v26.7.0}
user: root user: root
ports: ports:
- 19710:19710 - 19710:19710
@@ -201,15 +201,6 @@ x-upstreams:
# UNAVAILABLE and failing live requests ("Source was empty"). Head tracking # UNAVAILABLE and failing live requests ("Source was empty"). Head tracking
# still governs health with validation off. 2026-07-10, dRPC incident. # still governs health with validation off. 2026-07-10, dRPC incident.
disable-validation: true disable-validation: true
# dshackle runs internal lower-bound detectors against each upstream.
# For a nimbus beacon endpoint the epoch detector calls POST /eth/v1/beacon/rewards/attestations/{epoch}
# every ~5 minutes with a hardcoded 5-second internal timeout, while nimbus needs 16-22 seconds
# to replay that historical state. The probe therefore always times out, retries, and
# re-issues the same historical request forever, which pins the node in constant
# historical state replay and has repeatedly degraded the mainnet ethereum node.
# The code path is GenericUpstream.upstreamStart(): if (!getOptions().disableBoundValidation)
# { detectLowerBlock() }. The YAML key is read by ChainOptionsReader as disable-bound-validation.
disable-bound-validation: true
methods: methods:
disabled: disabled:
- name: GET#/eth/v2/debug/beacon/states/* - name: GET#/eth/v2/debug/beacon/states/*
@@ -103,7 +103,7 @@ services:
- traefik.http.routers.ethereum-sepolia-geth-pruned-pebble-path.middlewares=ethereum-sepolia-geth-pruned-pebble-path-stripprefix, ipallowlist - traefik.http.routers.ethereum-sepolia-geth-pruned-pebble-path.middlewares=ethereum-sepolia-geth-pruned-pebble-path-stripprefix, ipallowlist
ethereum-sepolia-geth-node: ethereum-sepolia-geth-node:
image: ${ETHEREUM_PRYSM_IMAGE:-prysmaticlabs/prysm-beacon-chain}:${ETHEREUM_SEPOLIA_PRYSM_VERSION:-v7.1.8} image: ${ETHEREUM_PRYSM_IMAGE:-prysmaticlabs/prysm-beacon-chain}:${ETHEREUM_SEPOLIA_PRYSM_VERSION:-v7.1.7}
ports: ports:
- 19710:19710 - 19710:19710
- 19710:19710/udp - 19710:19710/udp
@@ -94,7 +94,7 @@ services:
- traefik.http.routers.ethereum-hoodi-nethermind-pruned-rocksdb-trace.middlewares=ethereum-hoodi-nethermind-pruned-rocksdb-trace-stripprefix, ipallowlist - traefik.http.routers.ethereum-hoodi-nethermind-pruned-rocksdb-trace.middlewares=ethereum-hoodi-nethermind-pruned-rocksdb-trace-stripprefix, ipallowlist
ethereum-hoodi-nethermind-node: ethereum-hoodi-nethermind-node:
image: ${ETHEREUM_NIMBUS_IMAGE:-statusim/nimbus-eth2}:${ETHEREUM_HOODI_NIMBUS_VERSION:-multiarch-v26.8.0} image: ${ETHEREUM_NIMBUS_IMAGE:-statusim/nimbus-eth2}:${ETHEREUM_HOODI_NIMBUS_VERSION:-multiarch-v26.7.0}
user: root user: root
ports: ports:
- 15786:15786 - 15786:15786
@@ -175,15 +175,6 @@ x-upstreams:
# UNAVAILABLE and failing live requests ("Source was empty"). Head tracking # UNAVAILABLE and failing live requests ("Source was empty"). Head tracking
# still governs health with validation off. 2026-07-10, dRPC incident. # still governs health with validation off. 2026-07-10, dRPC incident.
disable-validation: true disable-validation: true
# dshackle runs internal lower-bound detectors against each upstream.
# For a nimbus beacon endpoint the epoch detector calls POST /eth/v1/beacon/rewards/attestations/{epoch}
# every ~5 minutes with a hardcoded 5-second internal timeout, while nimbus needs 16-22 seconds
# to replay that historical state. The probe therefore always times out, retries, and
# re-issues the same historical request forever, which pins the node in constant
# historical state replay and has repeatedly degraded the mainnet ethereum node.
# The code path is GenericUpstream.upstreamStart(): if (!getOptions().disableBoundValidation)
# { detectLowerBlock() }. The YAML key is read by ChainOptionsReader as disable-bound-validation.
disable-bound-validation: true
methods: methods:
disabled: disabled:
- name: GET#/eth/v2/debug/beacon/states/* - name: GET#/eth/v2/debug/beacon/states/*
@@ -94,7 +94,7 @@ services:
- traefik.http.routers.ethereum-mainnet-nethermind-pruned-rocksdb-trace.middlewares=ethereum-mainnet-nethermind-pruned-rocksdb-trace-stripprefix, ipallowlist - traefik.http.routers.ethereum-mainnet-nethermind-pruned-rocksdb-trace.middlewares=ethereum-mainnet-nethermind-pruned-rocksdb-trace-stripprefix, ipallowlist
ethereum-mainnet-nethermind-node: ethereum-mainnet-nethermind-node:
image: ${ETHEREUM_NIMBUS_IMAGE:-statusim/nimbus-eth2}:${ETHEREUM_MAINNET_NIMBUS_VERSION:-multiarch-v26.8.0} image: ${ETHEREUM_NIMBUS_IMAGE:-statusim/nimbus-eth2}:${ETHEREUM_MAINNET_NIMBUS_VERSION:-multiarch-v26.7.0}
user: root user: root
ports: ports:
- 17065:17065 - 17065:17065
@@ -175,15 +175,6 @@ x-upstreams:
# UNAVAILABLE and failing live requests ("Source was empty"). Head tracking # UNAVAILABLE and failing live requests ("Source was empty"). Head tracking
# still governs health with validation off. 2026-07-10, dRPC incident. # still governs health with validation off. 2026-07-10, dRPC incident.
disable-validation: true disable-validation: true
# dshackle runs internal lower-bound detectors against each upstream.
# For a nimbus beacon endpoint the epoch detector calls POST /eth/v1/beacon/rewards/attestations/{epoch}
# every ~5 minutes with a hardcoded 5-second internal timeout, while nimbus needs 16-22 seconds
# to replay that historical state. The probe therefore always times out, retries, and
# re-issues the same historical request forever, which pins the node in constant
# historical state replay and has repeatedly degraded the mainnet ethereum node.
# The code path is GenericUpstream.upstreamStart(): if (!getOptions().disableBoundValidation)
# { detectLowerBlock() }. The YAML key is read by ChainOptionsReader as disable-bound-validation.
disable-bound-validation: true
methods: methods:
disabled: disabled:
- name: GET#/eth/v2/debug/beacon/states/* - name: GET#/eth/v2/debug/beacon/states/*
@@ -94,7 +94,7 @@ services:
- traefik.http.routers.ethereum-sepolia-nethermind-pruned-rocksdb-trace.middlewares=ethereum-sepolia-nethermind-pruned-rocksdb-trace-stripprefix, ipallowlist - traefik.http.routers.ethereum-sepolia-nethermind-pruned-rocksdb-trace.middlewares=ethereum-sepolia-nethermind-pruned-rocksdb-trace-stripprefix, ipallowlist
ethereum-sepolia-nethermind-node: ethereum-sepolia-nethermind-node:
image: ${ETHEREUM_NIMBUS_IMAGE:-statusim/nimbus-eth2}:${ETHEREUM_SEPOLIA_NIMBUS_VERSION:-multiarch-v26.8.0} image: ${ETHEREUM_NIMBUS_IMAGE:-statusim/nimbus-eth2}:${ETHEREUM_SEPOLIA_NIMBUS_VERSION:-multiarch-v26.7.0}
user: root user: root
ports: ports:
- 15835:15835 - 15835:15835
@@ -175,15 +175,6 @@ x-upstreams:
# UNAVAILABLE and failing live requests ("Source was empty"). Head tracking # UNAVAILABLE and failing live requests ("Source was empty"). Head tracking
# still governs health with validation off. 2026-07-10, dRPC incident. # still governs health with validation off. 2026-07-10, dRPC incident.
disable-validation: true disable-validation: true
# dshackle runs internal lower-bound detectors against each upstream.
# For a nimbus beacon endpoint the epoch detector calls POST /eth/v1/beacon/rewards/attestations/{epoch}
# every ~5 minutes with a hardcoded 5-second internal timeout, while nimbus needs 16-22 seconds
# to replay that historical state. The probe therefore always times out, retries, and
# re-issues the same historical request forever, which pins the node in constant
# historical state replay and has repeatedly degraded the mainnet ethereum node.
# The code path is GenericUpstream.upstreamStart(): if (!getOptions().disableBoundValidation)
# { detectLowerBlock() }. The YAML key is read by ChainOptionsReader as disable-bound-validation.
disable-bound-validation: true
methods: methods:
disabled: disabled:
- name: GET#/eth/v2/debug/beacon/states/* - name: GET#/eth/v2/debug/beacon/states/*
@@ -30,7 +30,7 @@ x-logging-defaults: &logging-defaults
services: services:
ethereum-hoodi-reth: ethereum-hoodi-reth:
image: ${ETHEREUM_RETH_IMAGE:-ghcr.io/paradigmxyz/reth}:${ETHEREUM_HOODI_RETH_VERSION:-v2.5.2} image: ${ETHEREUM_RETH_IMAGE:-ghcr.io/paradigmxyz/reth}:${ETHEREUM_HOODI_RETH_VERSION:-v2.4.1}
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
@@ -109,7 +109,7 @@ services:
shm_size: 2gb shm_size: 2gb
ethereum-hoodi-reth-node: ethereum-hoodi-reth-node:
image: ${ETHEREUM_PRYSM_IMAGE:-prysmaticlabs/prysm-beacon-chain}:${ETHEREUM_HOODI_PRYSM_VERSION:-v7.1.8} image: ${ETHEREUM_PRYSM_IMAGE:-prysmaticlabs/prysm-beacon-chain}:${ETHEREUM_HOODI_PRYSM_VERSION:-v7.1.7}
ports: ports:
- 15606:15606 - 15606:15606
- 15606:15606/udp - 15606:15606/udp
@@ -30,7 +30,7 @@ x-logging-defaults: &logging-defaults
services: services:
ethereum-hoodi-reth-pruned: ethereum-hoodi-reth-pruned:
image: ${ETHEREUM_RETH_IMAGE:-ghcr.io/paradigmxyz/reth}:${ETHEREUM_HOODI_RETH_VERSION:-v2.5.2} image: ${ETHEREUM_RETH_IMAGE:-ghcr.io/paradigmxyz/reth}:${ETHEREUM_HOODI_RETH_VERSION:-v2.4.1}
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
@@ -110,7 +110,7 @@ services:
shm_size: 2gb shm_size: 2gb
ethereum-hoodi-reth-pruned-node: ethereum-hoodi-reth-pruned-node:
image: ${ETHEREUM_PRYSM_IMAGE:-prysmaticlabs/prysm-beacon-chain}:${ETHEREUM_HOODI_PRYSM_VERSION:-v7.1.8} image: ${ETHEREUM_PRYSM_IMAGE:-prysmaticlabs/prysm-beacon-chain}:${ETHEREUM_HOODI_PRYSM_VERSION:-v7.1.7}
ports: ports:
- 17435:17435 - 17435:17435
- 17435:17435/udp - 17435:17435/udp
@@ -30,7 +30,7 @@ x-logging-defaults: &logging-defaults
services: services:
ethereum-mainnet-reth: ethereum-mainnet-reth:
image: ${ETHEREUM_RETH_IMAGE:-ghcr.io/paradigmxyz/reth}:${ETHEREUM_MAINNET_RETH_VERSION:-v2.5.2} image: ${ETHEREUM_RETH_IMAGE:-ghcr.io/paradigmxyz/reth}:${ETHEREUM_MAINNET_RETH_VERSION:-v2.4.1}
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
@@ -109,7 +109,7 @@ services:
shm_size: 2gb shm_size: 2gb
ethereum-mainnet-reth-node: ethereum-mainnet-reth-node:
image: ${ETHEREUM_LIGHTHOUSE_IMAGE:-sigp/lighthouse}:${ETHEREUM_MAINNET_LIGHTHOUSE_VERSION:-v8.2.2} image: ${ETHEREUM_LIGHTHOUSE_IMAGE:-sigp/lighthouse}:${ETHEREUM_MAINNET_LIGHTHOUSE_VERSION:-v8.2.1}
ports: ports:
- 19563:19563 - 19563:19563
- 19563:19563/udp - 19563:19563/udp
@@ -30,7 +30,7 @@ x-logging-defaults: &logging-defaults
services: services:
ethereum-mainnet-reth: ethereum-mainnet-reth:
image: ${ETHEREUM_RETH_IMAGE:-ghcr.io/paradigmxyz/reth}:${ETHEREUM_MAINNET_RETH_VERSION:-v2.5.2} image: ${ETHEREUM_RETH_IMAGE:-ghcr.io/paradigmxyz/reth}:${ETHEREUM_MAINNET_RETH_VERSION:-v2.4.1}
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
@@ -109,7 +109,7 @@ services:
shm_size: 2gb shm_size: 2gb
ethereum-mainnet-reth-node: ethereum-mainnet-reth-node:
image: ${ETHEREUM_NIMBUS_IMAGE:-statusim/nimbus-eth2}:${ETHEREUM_MAINNET_NIMBUS_VERSION:-multiarch-v26.8.0} image: ${ETHEREUM_NIMBUS_IMAGE:-statusim/nimbus-eth2}:${ETHEREUM_MAINNET_NIMBUS_VERSION:-multiarch-v26.7.0}
user: root user: root
ports: ports:
- 19563:19563 - 19563:19563
@@ -190,15 +190,6 @@ x-upstreams:
# UNAVAILABLE and failing live requests ("Source was empty"). Head tracking # UNAVAILABLE and failing live requests ("Source was empty"). Head tracking
# still governs health with validation off. 2026-07-10, dRPC incident. # still governs health with validation off. 2026-07-10, dRPC incident.
disable-validation: true disable-validation: true
# dshackle runs internal lower-bound detectors against each upstream.
# For a nimbus beacon endpoint the epoch detector calls POST /eth/v1/beacon/rewards/attestations/{epoch}
# every ~5 minutes with a hardcoded 5-second internal timeout, while nimbus needs 16-22 seconds
# to replay that historical state. The probe therefore always times out, retries, and
# re-issues the same historical request forever, which pins the node in constant
# historical state replay and has repeatedly degraded the mainnet ethereum node.
# The code path is GenericUpstream.upstreamStart(): if (!getOptions().disableBoundValidation)
# { detectLowerBlock() }. The YAML key is read by ChainOptionsReader as disable-bound-validation.
disable-bound-validation: true
methods: methods:
disabled: disabled:
- name: GET#/eth/v2/debug/beacon/states/* - name: GET#/eth/v2/debug/beacon/states/*
@@ -30,7 +30,7 @@ x-logging-defaults: &logging-defaults
services: services:
ethereum-mainnet-reth: ethereum-mainnet-reth:
image: ${ETHEREUM_RETH_IMAGE:-ghcr.io/paradigmxyz/reth}:${ETHEREUM_MAINNET_RETH_VERSION:-v2.5.2} image: ${ETHEREUM_RETH_IMAGE:-ghcr.io/paradigmxyz/reth}:${ETHEREUM_MAINNET_RETH_VERSION:-v2.4.1}
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
@@ -109,7 +109,7 @@ services:
shm_size: 2gb shm_size: 2gb
ethereum-mainnet-reth-node: ethereum-mainnet-reth-node:
image: ${ETHEREUM_PRYSM_IMAGE:-prysmaticlabs/prysm-beacon-chain}:${ETHEREUM_MAINNET_PRYSM_VERSION:-v7.1.8} image: ${ETHEREUM_PRYSM_IMAGE:-prysmaticlabs/prysm-beacon-chain}:${ETHEREUM_MAINNET_PRYSM_VERSION:-v7.1.7}
ports: ports:
- 19563:19563 - 19563:19563
- 19563:19563/udp - 19563:19563/udp
@@ -33,7 +33,7 @@ x-logging-defaults: &logging-defaults
services: services:
ethereum-mainnet-reth-minimal: ethereum-mainnet-reth-minimal:
image: ${ETHEREUM_RETH_IMAGE:-ghcr.io/paradigmxyz/reth}:${ETHEREUM_MAINNET_RETH_VERSION:-v2.5.2} image: ${ETHEREUM_RETH_IMAGE:-ghcr.io/paradigmxyz/reth}:${ETHEREUM_MAINNET_RETH_VERSION:-v2.4.1}
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,7 +52,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: ${ETHEREUM_MAINNET_RETH_VERSION:-v2.5.2} RETH_VERSION: ${ETHEREUM_MAINNET_RETH_VERSION:-v2.4.1}
RETH_REPO: ${ETHEREUM_MAINNET_RETH_REPO:-https://github.com/paradigmxyz/reth} RETH_REPO: ${ETHEREUM_MAINNET_RETH_REPO:-https://github.com/paradigmxyz/reth}
ARCH_TARGET: ${ARCH_TARGET:-native} ARCH_TARGET: ${ARCH_TARGET:-native}
PROFILE: ${RETH_BUILD_PROFILE:-maxperf} PROFILE: ${RETH_BUILD_PROFILE:-maxperf}
@@ -146,7 +146,7 @@ services:
- pruning - pruning
ethereum-mainnet-reth-minimal-node: ethereum-mainnet-reth-minimal-node:
image: ${ETHEREUM_NIMBUS_IMAGE:-statusim/nimbus-eth2}:${ETHEREUM_MAINNET_NIMBUS_VERSION:-multiarch-v26.8.0} image: ${ETHEREUM_NIMBUS_IMAGE:-statusim/nimbus-eth2}:${ETHEREUM_MAINNET_NIMBUS_VERSION:-multiarch-v26.7.0}
user: root user: root
ports: ports:
- 19286:19286 - 19286:19286
@@ -249,15 +249,6 @@ x-upstreams:
# UNAVAILABLE and failing live requests ("Source was empty"). Head tracking # UNAVAILABLE and failing live requests ("Source was empty"). Head tracking
# still governs health with validation off. 2026-07-10, dRPC incident. # still governs health with validation off. 2026-07-10, dRPC incident.
disable-validation: true disable-validation: true
# dshackle runs internal lower-bound detectors against each upstream.
# For a nimbus beacon endpoint the epoch detector calls POST /eth/v1/beacon/rewards/attestations/{epoch}
# every ~5 minutes with a hardcoded 5-second internal timeout, while nimbus needs 16-22 seconds
# to replay that historical state. The probe therefore always times out, retries, and
# re-issues the same historical request forever, which pins the node in constant
# historical state replay and has repeatedly degraded the mainnet ethereum node.
# The code path is GenericUpstream.upstreamStart(): if (!getOptions().disableBoundValidation)
# { detectLowerBlock() }. The YAML key is read by ChainOptionsReader as disable-bound-validation.
disable-bound-validation: true
methods: methods:
disabled: disabled:
- name: GET#/eth/v2/debug/beacon/states/* - name: GET#/eth/v2/debug/beacon/states/*
@@ -30,7 +30,7 @@ x-logging-defaults: &logging-defaults
services: services:
ethereum-mainnet-reth-pruned: ethereum-mainnet-reth-pruned:
image: ${ETHEREUM_RETH_IMAGE:-ghcr.io/paradigmxyz/reth}:${ETHEREUM_MAINNET_RETH_VERSION:-v2.5.2} image: ${ETHEREUM_RETH_IMAGE:-ghcr.io/paradigmxyz/reth}:${ETHEREUM_MAINNET_RETH_VERSION:-v2.4.1}
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
@@ -110,7 +110,7 @@ services:
shm_size: 2gb shm_size: 2gb
ethereum-mainnet-reth-pruned-node: ethereum-mainnet-reth-pruned-node:
image: ${ETHEREUM_LIGHTHOUSE_IMAGE:-sigp/lighthouse}:${ETHEREUM_MAINNET_LIGHTHOUSE_VERSION:-v8.2.2} image: ${ETHEREUM_LIGHTHOUSE_IMAGE:-sigp/lighthouse}:${ETHEREUM_MAINNET_LIGHTHOUSE_VERSION:-v8.2.1}
ports: ports:
- 15150:15150 - 15150:15150
- 15150:15150/udp - 15150:15150/udp
@@ -30,7 +30,7 @@ x-logging-defaults: &logging-defaults
services: services:
ethereum-mainnet-reth-pruned: ethereum-mainnet-reth-pruned:
image: ${ETHEREUM_RETH_IMAGE:-ghcr.io/paradigmxyz/reth}:${ETHEREUM_MAINNET_RETH_VERSION:-v2.5.2} image: ${ETHEREUM_RETH_IMAGE:-ghcr.io/paradigmxyz/reth}:${ETHEREUM_MAINNET_RETH_VERSION:-v2.4.1}
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
@@ -110,7 +110,7 @@ services:
shm_size: 2gb shm_size: 2gb
ethereum-mainnet-reth-pruned-node: ethereum-mainnet-reth-pruned-node:
image: ${ETHEREUM_NIMBUS_IMAGE:-statusim/nimbus-eth2}:${ETHEREUM_MAINNET_NIMBUS_VERSION:-multiarch-v26.8.0} image: ${ETHEREUM_NIMBUS_IMAGE:-statusim/nimbus-eth2}:${ETHEREUM_MAINNET_NIMBUS_VERSION:-multiarch-v26.7.0}
user: root user: root
ports: ports:
- 15150:15150 - 15150:15150
@@ -191,15 +191,6 @@ x-upstreams:
# UNAVAILABLE and failing live requests ("Source was empty"). Head tracking # UNAVAILABLE and failing live requests ("Source was empty"). Head tracking
# still governs health with validation off. 2026-07-10, dRPC incident. # still governs health with validation off. 2026-07-10, dRPC incident.
disable-validation: true disable-validation: true
# dshackle runs internal lower-bound detectors against each upstream.
# For a nimbus beacon endpoint the epoch detector calls POST /eth/v1/beacon/rewards/attestations/{epoch}
# every ~5 minutes with a hardcoded 5-second internal timeout, while nimbus needs 16-22 seconds
# to replay that historical state. The probe therefore always times out, retries, and
# re-issues the same historical request forever, which pins the node in constant
# historical state replay and has repeatedly degraded the mainnet ethereum node.
# The code path is GenericUpstream.upstreamStart(): if (!getOptions().disableBoundValidation)
# { detectLowerBlock() }. The YAML key is read by ChainOptionsReader as disable-bound-validation.
disable-bound-validation: true
methods: methods:
disabled: disabled:
- name: GET#/eth/v2/debug/beacon/states/* - name: GET#/eth/v2/debug/beacon/states/*
@@ -30,7 +30,7 @@ x-logging-defaults: &logging-defaults
services: services:
ethereum-mainnet-reth-pruned: ethereum-mainnet-reth-pruned:
image: ${ETHEREUM_RETH_IMAGE:-ghcr.io/paradigmxyz/reth}:${ETHEREUM_MAINNET_RETH_VERSION:-v2.5.2} image: ${ETHEREUM_RETH_IMAGE:-ghcr.io/paradigmxyz/reth}:${ETHEREUM_MAINNET_RETH_VERSION:-v2.4.1}
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
@@ -110,7 +110,7 @@ services:
shm_size: 2gb shm_size: 2gb
ethereum-mainnet-reth-pruned-node: ethereum-mainnet-reth-pruned-node:
image: ${ETHEREUM_PRYSM_IMAGE:-prysmaticlabs/prysm-beacon-chain}:${ETHEREUM_MAINNET_PRYSM_VERSION:-v7.1.8} image: ${ETHEREUM_PRYSM_IMAGE:-prysmaticlabs/prysm-beacon-chain}:${ETHEREUM_MAINNET_PRYSM_VERSION:-v7.1.7}
ports: ports:
- 15150:15150 - 15150:15150
- 15150:15150/udp - 15150:15150/udp
@@ -30,7 +30,7 @@ x-logging-defaults: &logging-defaults
services: services:
ethereum-sepolia-reth: ethereum-sepolia-reth:
image: ${ETHEREUM_RETH_IMAGE:-ghcr.io/paradigmxyz/reth}:${ETHEREUM_SEPOLIA_RETH_VERSION:-v2.5.2} image: ${ETHEREUM_RETH_IMAGE:-ghcr.io/paradigmxyz/reth}:${ETHEREUM_SEPOLIA_RETH_VERSION:-v2.4.1}
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
@@ -109,7 +109,7 @@ services:
shm_size: 2gb shm_size: 2gb
ethereum-sepolia-reth-node: ethereum-sepolia-reth-node:
image: ${ETHEREUM_NIMBUS_IMAGE:-statusim/nimbus-eth2}:${ETHEREUM_SEPOLIA_NIMBUS_VERSION:-multiarch-v26.8.0} image: ${ETHEREUM_NIMBUS_IMAGE:-statusim/nimbus-eth2}:${ETHEREUM_SEPOLIA_NIMBUS_VERSION:-multiarch-v26.7.0}
user: root user: root
ports: ports:
- 19330:19330 - 19330:19330
@@ -190,15 +190,6 @@ x-upstreams:
# UNAVAILABLE and failing live requests ("Source was empty"). Head tracking # UNAVAILABLE and failing live requests ("Source was empty"). Head tracking
# still governs health with validation off. 2026-07-10, dRPC incident. # still governs health with validation off. 2026-07-10, dRPC incident.
disable-validation: true disable-validation: true
# dshackle runs internal lower-bound detectors against each upstream.
# For a nimbus beacon endpoint the epoch detector calls POST /eth/v1/beacon/rewards/attestations/{epoch}
# every ~5 minutes with a hardcoded 5-second internal timeout, while nimbus needs 16-22 seconds
# to replay that historical state. The probe therefore always times out, retries, and
# re-issues the same historical request forever, which pins the node in constant
# historical state replay and has repeatedly degraded the mainnet ethereum node.
# The code path is GenericUpstream.upstreamStart(): if (!getOptions().disableBoundValidation)
# { detectLowerBlock() }. The YAML key is read by ChainOptionsReader as disable-bound-validation.
disable-bound-validation: true
methods: methods:
disabled: disabled:
- name: GET#/eth/v2/debug/beacon/states/* - name: GET#/eth/v2/debug/beacon/states/*
@@ -30,7 +30,7 @@ x-logging-defaults: &logging-defaults
services: services:
ethereum-sepolia-reth: ethereum-sepolia-reth:
image: ${ETHEREUM_RETH_IMAGE:-ghcr.io/paradigmxyz/reth}:${ETHEREUM_SEPOLIA_RETH_VERSION:-v2.5.2} image: ${ETHEREUM_RETH_IMAGE:-ghcr.io/paradigmxyz/reth}:${ETHEREUM_SEPOLIA_RETH_VERSION:-v2.4.1}
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
@@ -109,7 +109,7 @@ services:
shm_size: 2gb shm_size: 2gb
ethereum-sepolia-reth-node: ethereum-sepolia-reth-node:
image: ${ETHEREUM_PRYSM_IMAGE:-prysmaticlabs/prysm-beacon-chain}:${ETHEREUM_SEPOLIA_PRYSM_VERSION:-v7.1.8} image: ${ETHEREUM_PRYSM_IMAGE:-prysmaticlabs/prysm-beacon-chain}:${ETHEREUM_SEPOLIA_PRYSM_VERSION:-v7.1.7}
ports: ports:
- 19330:19330 - 19330:19330
- 19330:19330/udp - 19330:19330/udp
@@ -30,7 +30,7 @@ x-logging-defaults: &logging-defaults
services: services:
ethereum-sepolia-reth-pruned: ethereum-sepolia-reth-pruned:
image: ${ETHEREUM_RETH_IMAGE:-ghcr.io/paradigmxyz/reth}:${ETHEREUM_SEPOLIA_RETH_VERSION:-v2.5.2} image: ${ETHEREUM_RETH_IMAGE:-ghcr.io/paradigmxyz/reth}:${ETHEREUM_SEPOLIA_RETH_VERSION:-v2.4.1}
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
@@ -110,7 +110,7 @@ services:
shm_size: 2gb shm_size: 2gb
ethereum-sepolia-reth-pruned-node: ethereum-sepolia-reth-pruned-node:
image: ${ETHEREUM_NIMBUS_IMAGE:-statusim/nimbus-eth2}:${ETHEREUM_SEPOLIA_NIMBUS_VERSION:-multiarch-v26.8.0} image: ${ETHEREUM_NIMBUS_IMAGE:-statusim/nimbus-eth2}:${ETHEREUM_SEPOLIA_NIMBUS_VERSION:-multiarch-v26.7.0}
user: root user: root
ports: ports:
- 17150:17150 - 17150:17150
@@ -191,15 +191,6 @@ x-upstreams:
# UNAVAILABLE and failing live requests ("Source was empty"). Head tracking # UNAVAILABLE and failing live requests ("Source was empty"). Head tracking
# still governs health with validation off. 2026-07-10, dRPC incident. # still governs health with validation off. 2026-07-10, dRPC incident.
disable-validation: true disable-validation: true
# dshackle runs internal lower-bound detectors against each upstream.
# For a nimbus beacon endpoint the epoch detector calls POST /eth/v1/beacon/rewards/attestations/{epoch}
# every ~5 minutes with a hardcoded 5-second internal timeout, while nimbus needs 16-22 seconds
# to replay that historical state. The probe therefore always times out, retries, and
# re-issues the same historical request forever, which pins the node in constant
# historical state replay and has repeatedly degraded the mainnet ethereum node.
# The code path is GenericUpstream.upstreamStart(): if (!getOptions().disableBoundValidation)
# { detectLowerBlock() }. The YAML key is read by ChainOptionsReader as disable-bound-validation.
disable-bound-validation: true
methods: methods:
disabled: disabled:
- name: GET#/eth/v2/debug/beacon/states/* - name: GET#/eth/v2/debug/beacon/states/*
@@ -30,7 +30,7 @@ x-logging-defaults: &logging-defaults
services: services:
ethereum-sepolia-reth-pruned: ethereum-sepolia-reth-pruned:
image: ${ETHEREUM_RETH_IMAGE:-ghcr.io/paradigmxyz/reth}:${ETHEREUM_SEPOLIA_RETH_VERSION:-v2.5.2} image: ${ETHEREUM_RETH_IMAGE:-ghcr.io/paradigmxyz/reth}:${ETHEREUM_SEPOLIA_RETH_VERSION:-v2.4.1}
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
@@ -110,7 +110,7 @@ services:
shm_size: 2gb shm_size: 2gb
ethereum-sepolia-reth-pruned-node: ethereum-sepolia-reth-pruned-node:
image: ${ETHEREUM_PRYSM_IMAGE:-prysmaticlabs/prysm-beacon-chain}:${ETHEREUM_SEPOLIA_PRYSM_VERSION:-v7.1.8} image: ${ETHEREUM_PRYSM_IMAGE:-prysmaticlabs/prysm-beacon-chain}:${ETHEREUM_SEPOLIA_PRYSM_VERSION:-v7.1.7}
ports: ports:
- 17150:17150 - 17150:17150
- 17150:17150/udp - 17150:17150/udp
@@ -65,7 +65,6 @@ services:
- --beacon.api.cors.allow-origins=* - --beacon.api.cors.allow-origins=*
- --beacon.api.port=5555 - --beacon.api.port=5555
- --beacon.api=beacon,builder,debug,lighthouse,node,validator,config - --beacon.api=beacon,builder,debug,lighthouse,node,validator,config
- --caplin.checkpoint-sync-url=https://checkpoint.chiadochain.net
- --caplin.discovery.addr=0.0.0.0 - --caplin.discovery.addr=0.0.0.0
- --caplin.discovery.port=16986 - --caplin.discovery.port=16986
- --caplin.discovery.tcpport=16986 - --caplin.discovery.tcpport=16986
@@ -89,7 +88,6 @@ services:
- --rpc.overlay.getlogstimeout=${GNOSIS_CHIADO_ERIGON3_ARCHIVE_TRACE_GETLOGSTIMEOUT:-5m0s} - --rpc.overlay.getlogstimeout=${GNOSIS_CHIADO_ERIGON3_ARCHIVE_TRACE_GETLOGSTIMEOUT:-5m0s}
- --rpc.overlay.replayblocktimeout=${GNOSIS_CHIADO_ERIGON3_ARCHIVE_TRACE_REPLAYBLOCKTIMEOUT:-10s} - --rpc.overlay.replayblocktimeout=${GNOSIS_CHIADO_ERIGON3_ARCHIVE_TRACE_REPLAYBLOCKTIMEOUT:-10s}
- --rpc.returndata.limit=10000000 - --rpc.returndata.limit=10000000
- --sentinel.staticpeers=/ip4/134.65.192.121/tcp/19000/p2p/16Uiu2HAm1TwYCeKTdwYayAr8Vru7Ku9HKHH7MiWS6G5QuVsVqUy2
- --torrent.download.rate=${GNOSIS_CHIADO_ERIGON3_ARCHIVE_TRACE_MAX_DOWNLOAD_RATE:-1000mb} - --torrent.download.rate=${GNOSIS_CHIADO_ERIGON3_ARCHIVE_TRACE_MAX_DOWNLOAD_RATE:-1000mb}
- --torrent.port=26986 - --torrent.port=26986
- --ws - --ws
@@ -65,7 +65,6 @@ services:
- --beacon.api.cors.allow-origins=* - --beacon.api.cors.allow-origins=*
- --beacon.api.port=5555 - --beacon.api.port=5555
- --beacon.api=beacon,builder,debug,lighthouse,node,validator,config - --beacon.api=beacon,builder,debug,lighthouse,node,validator,config
- --caplin.checkpoint-sync-url=https://checkpoint.chiadochain.net
- --caplin.discovery.addr=0.0.0.0 - --caplin.discovery.addr=0.0.0.0
- --caplin.discovery.port=16010 - --caplin.discovery.port=16010
- --caplin.discovery.tcpport=16010 - --caplin.discovery.tcpport=16010
@@ -90,7 +89,6 @@ services:
- --rpc.overlay.getlogstimeout=${GNOSIS_CHIADO_ERIGON3_MINIMAL_TRACE_GETLOGSTIMEOUT:-5m0s} - --rpc.overlay.getlogstimeout=${GNOSIS_CHIADO_ERIGON3_MINIMAL_TRACE_GETLOGSTIMEOUT:-5m0s}
- --rpc.overlay.replayblocktimeout=${GNOSIS_CHIADO_ERIGON3_MINIMAL_TRACE_REPLAYBLOCKTIMEOUT:-10s} - --rpc.overlay.replayblocktimeout=${GNOSIS_CHIADO_ERIGON3_MINIMAL_TRACE_REPLAYBLOCKTIMEOUT:-10s}
- --rpc.returndata.limit=10000000 - --rpc.returndata.limit=10000000
- --sentinel.staticpeers=/ip4/134.65.192.121/tcp/19000/p2p/16Uiu2HAm1TwYCeKTdwYayAr8Vru7Ku9HKHH7MiWS6G5QuVsVqUy2
- --torrent.download.rate=${GNOSIS_CHIADO_ERIGON3_MINIMAL_TRACE_MAX_DOWNLOAD_RATE:-1000mb} - --torrent.download.rate=${GNOSIS_CHIADO_ERIGON3_MINIMAL_TRACE_MAX_DOWNLOAD_RATE:-1000mb}
- --torrent.port=26010 - --torrent.port=26010
- --ws - --ws
@@ -65,7 +65,6 @@ services:
- --beacon.api.cors.allow-origins=* - --beacon.api.cors.allow-origins=*
- --beacon.api.port=5555 - --beacon.api.port=5555
- --beacon.api=beacon,builder,debug,lighthouse,node,validator,config - --beacon.api=beacon,builder,debug,lighthouse,node,validator,config
- --caplin.checkpoint-sync-url=https://checkpoint.chiadochain.net
- --caplin.discovery.addr=0.0.0.0 - --caplin.discovery.addr=0.0.0.0
- --caplin.discovery.port=16886 - --caplin.discovery.port=16886
- --caplin.discovery.tcpport=16886 - --caplin.discovery.tcpport=16886
@@ -90,7 +89,6 @@ services:
- --rpc.overlay.getlogstimeout=${GNOSIS_CHIADO_ERIGON3_PRUNED_TRACE_GETLOGSTIMEOUT:-5m0s} - --rpc.overlay.getlogstimeout=${GNOSIS_CHIADO_ERIGON3_PRUNED_TRACE_GETLOGSTIMEOUT:-5m0s}
- --rpc.overlay.replayblocktimeout=${GNOSIS_CHIADO_ERIGON3_PRUNED_TRACE_REPLAYBLOCKTIMEOUT:-10s} - --rpc.overlay.replayblocktimeout=${GNOSIS_CHIADO_ERIGON3_PRUNED_TRACE_REPLAYBLOCKTIMEOUT:-10s}
- --rpc.returndata.limit=10000000 - --rpc.returndata.limit=10000000
- --sentinel.staticpeers=/ip4/134.65.192.121/tcp/19000/p2p/16Uiu2HAm1TwYCeKTdwYayAr8Vru7Ku9HKHH7MiWS6G5QuVsVqUy2
- --torrent.download.rate=${GNOSIS_CHIADO_ERIGON3_PRUNED_TRACE_MAX_DOWNLOAD_RATE:-1000mb} - --torrent.download.rate=${GNOSIS_CHIADO_ERIGON3_PRUNED_TRACE_MAX_DOWNLOAD_RATE:-1000mb}
- --torrent.port=26886 - --torrent.port=26886
- --ws - --ws
@@ -177,15 +177,6 @@ x-upstreams:
# UNAVAILABLE and failing live requests ("Source was empty"). Head tracking # UNAVAILABLE and failing live requests ("Source was empty"). Head tracking
# still governs health with validation off. 2026-07-10, dRPC incident. # still governs health with validation off. 2026-07-10, dRPC incident.
disable-validation: true disable-validation: true
# dshackle runs internal lower-bound detectors against each upstream.
# For a nimbus beacon endpoint the epoch detector calls POST /eth/v1/beacon/rewards/attestations/{epoch}
# every ~5 minutes with a hardcoded 5-second internal timeout, while nimbus needs 16-22 seconds
# to replay that historical state. The probe therefore always times out, retries, and
# re-issues the same historical request forever, which pins the node in constant
# historical state replay and has repeatedly degraded the mainnet ethereum node.
# The code path is GenericUpstream.upstreamStart(): if (!getOptions().disableBoundValidation)
# { detectLowerBlock() }. The YAML key is read by ChainOptionsReader as disable-bound-validation.
disable-bound-validation: true
methods: methods:
disabled: disabled:
- name: GET#/eth/v2/debug/beacon/states/* - name: GET#/eth/v2/debug/beacon/states/*
@@ -180,15 +180,6 @@ x-upstreams:
# UNAVAILABLE and failing live requests ("Source was empty"). Head tracking # UNAVAILABLE and failing live requests ("Source was empty"). Head tracking
# still governs health with validation off. 2026-07-10, dRPC incident. # still governs health with validation off. 2026-07-10, dRPC incident.
disable-validation: true disable-validation: true
# dshackle runs internal lower-bound detectors against each upstream.
# For a nimbus beacon endpoint the epoch detector calls POST /eth/v1/beacon/rewards/attestations/{epoch}
# every ~5 minutes with a hardcoded 5-second internal timeout, while nimbus needs 16-22 seconds
# to replay that historical state. The probe therefore always times out, retries, and
# re-issues the same historical request forever, which pins the node in constant
# historical state replay and has repeatedly degraded the mainnet ethereum node.
# The code path is GenericUpstream.upstreamStart(): if (!getOptions().disableBoundValidation)
# { detectLowerBlock() }. The YAML key is read by ChainOptionsReader as disable-bound-validation.
disable-bound-validation: true
methods: methods:
disabled: disabled:
- name: GET#/eth/v2/debug/beacon/states/* - name: GET#/eth/v2/debug/beacon/states/*
@@ -175,15 +175,6 @@ x-upstreams:
# UNAVAILABLE and failing live requests ("Source was empty"). Head tracking # UNAVAILABLE and failing live requests ("Source was empty"). Head tracking
# still governs health with validation off. 2026-07-10, dRPC incident. # still governs health with validation off. 2026-07-10, dRPC incident.
disable-validation: true disable-validation: true
# dshackle runs internal lower-bound detectors against each upstream.
# For a nimbus beacon endpoint the epoch detector calls POST /eth/v1/beacon/rewards/attestations/{epoch}
# every ~5 minutes with a hardcoded 5-second internal timeout, while nimbus needs 16-22 seconds
# to replay that historical state. The probe therefore always times out, retries, and
# re-issues the same historical request forever, which pins the node in constant
# historical state replay and has repeatedly degraded the mainnet ethereum node.
# The code path is GenericUpstream.upstreamStart(): if (!getOptions().disableBoundValidation)
# { detectLowerBlock() }. The YAML key is read by ChainOptionsReader as disable-bound-validation.
disable-bound-validation: true
methods: methods:
disabled: disabled:
- name: GET#/eth/v2/debug/beacon/states/* - name: GET#/eth/v2/debug/beacon/states/*
@@ -177,15 +177,6 @@ x-upstreams:
# UNAVAILABLE and failing live requests ("Source was empty"). Head tracking # UNAVAILABLE and failing live requests ("Source was empty"). Head tracking
# still governs health with validation off. 2026-07-10, dRPC incident. # still governs health with validation off. 2026-07-10, dRPC incident.
disable-validation: true disable-validation: true
# dshackle runs internal lower-bound detectors against each upstream.
# For a nimbus beacon endpoint the epoch detector calls POST /eth/v1/beacon/rewards/attestations/{epoch}
# every ~5 minutes with a hardcoded 5-second internal timeout, while nimbus needs 16-22 seconds
# to replay that historical state. The probe therefore always times out, retries, and
# re-issues the same historical request forever, which pins the node in constant
# historical state replay and has repeatedly degraded the mainnet ethereum node.
# The code path is GenericUpstream.upstreamStart(): if (!getOptions().disableBoundValidation)
# { detectLowerBlock() }. The YAML key is read by ChainOptionsReader as disable-bound-validation.
disable-bound-validation: true
methods: methods:
disabled: disabled:
- name: GET#/eth/v2/debug/beacon/states/* - name: GET#/eth/v2/debug/beacon/states/*
@@ -180,15 +180,6 @@ x-upstreams:
# UNAVAILABLE and failing live requests ("Source was empty"). Head tracking # UNAVAILABLE and failing live requests ("Source was empty"). Head tracking
# still governs health with validation off. 2026-07-10, dRPC incident. # still governs health with validation off. 2026-07-10, dRPC incident.
disable-validation: true disable-validation: true
# dshackle runs internal lower-bound detectors against each upstream.
# For a nimbus beacon endpoint the epoch detector calls POST /eth/v1/beacon/rewards/attestations/{epoch}
# every ~5 minutes with a hardcoded 5-second internal timeout, while nimbus needs 16-22 seconds
# to replay that historical state. The probe therefore always times out, retries, and
# re-issues the same historical request forever, which pins the node in constant
# historical state replay and has repeatedly degraded the mainnet ethereum node.
# The code path is GenericUpstream.upstreamStart(): if (!getOptions().disableBoundValidation)
# { detectLowerBlock() }. The YAML key is read by ChainOptionsReader as disable-bound-validation.
disable-bound-validation: true
methods: methods:
disabled: disabled:
- name: GET#/eth/v2/debug/beacon/states/* - name: GET#/eth/v2/debug/beacon/states/*
@@ -175,15 +175,6 @@ x-upstreams:
# UNAVAILABLE and failing live requests ("Source was empty"). Head tracking # UNAVAILABLE and failing live requests ("Source was empty"). Head tracking
# still governs health with validation off. 2026-07-10, dRPC incident. # still governs health with validation off. 2026-07-10, dRPC incident.
disable-validation: true disable-validation: true
# dshackle runs internal lower-bound detectors against each upstream.
# For a nimbus beacon endpoint the epoch detector calls POST /eth/v1/beacon/rewards/attestations/{epoch}
# every ~5 minutes with a hardcoded 5-second internal timeout, while nimbus needs 16-22 seconds
# to replay that historical state. The probe therefore always times out, retries, and
# re-issues the same historical request forever, which pins the node in constant
# historical state replay and has repeatedly degraded the mainnet ethereum node.
# The code path is GenericUpstream.upstreamStart(): if (!getOptions().disableBoundValidation)
# { detectLowerBlock() }. The YAML key is read by ChainOptionsReader as disable-bound-validation.
disable-bound-validation: true
methods: methods:
disabled: disabled:
- name: GET#/eth/v2/debug/beacon/states/* - name: GET#/eth/v2/debug/beacon/states/*
@@ -189,15 +189,6 @@ x-upstreams:
# UNAVAILABLE and failing live requests ("Source was empty"). Head tracking # UNAVAILABLE and failing live requests ("Source was empty"). Head tracking
# still governs health with validation off. 2026-07-10, dRPC incident. # still governs health with validation off. 2026-07-10, dRPC incident.
disable-validation: true disable-validation: true
# dshackle runs internal lower-bound detectors against each upstream.
# For a nimbus beacon endpoint the epoch detector calls POST /eth/v1/beacon/rewards/attestations/{epoch}
# every ~5 minutes with a hardcoded 5-second internal timeout, while nimbus needs 16-22 seconds
# to replay that historical state. The probe therefore always times out, retries, and
# re-issues the same historical request forever, which pins the node in constant
# historical state replay and has repeatedly degraded the mainnet ethereum node.
# The code path is GenericUpstream.upstreamStart(): if (!getOptions().disableBoundValidation)
# { detectLowerBlock() }. The YAML key is read by ChainOptionsReader as disable-bound-validation.
disable-bound-validation: true
methods: methods:
disabled: disabled:
- name: GET#/eth/v2/debug/beacon/states/* - name: GET#/eth/v2/debug/beacon/states/*
@@ -190,15 +190,6 @@ x-upstreams:
# UNAVAILABLE and failing live requests ("Source was empty"). Head tracking # UNAVAILABLE and failing live requests ("Source was empty"). Head tracking
# still governs health with validation off. 2026-07-10, dRPC incident. # still governs health with validation off. 2026-07-10, dRPC incident.
disable-validation: true disable-validation: true
# dshackle runs internal lower-bound detectors against each upstream.
# For a nimbus beacon endpoint the epoch detector calls POST /eth/v1/beacon/rewards/attestations/{epoch}
# every ~5 minutes with a hardcoded 5-second internal timeout, while nimbus needs 16-22 seconds
# to replay that historical state. The probe therefore always times out, retries, and
# re-issues the same historical request forever, which pins the node in constant
# historical state replay and has repeatedly degraded the mainnet ethereum node.
# The code path is GenericUpstream.upstreamStart(): if (!getOptions().disableBoundValidation)
# { detectLowerBlock() }. The YAML key is read by ChainOptionsReader as disable-bound-validation.
disable-bound-validation: true
methods: methods:
disabled: disabled:
- name: GET#/eth/v2/debug/beacon/states/* - name: GET#/eth/v2/debug/beacon/states/*
@@ -189,15 +189,6 @@ x-upstreams:
# UNAVAILABLE and failing live requests ("Source was empty"). Head tracking # UNAVAILABLE and failing live requests ("Source was empty"). Head tracking
# still governs health with validation off. 2026-07-10, dRPC incident. # still governs health with validation off. 2026-07-10, dRPC incident.
disable-validation: true disable-validation: true
# dshackle runs internal lower-bound detectors against each upstream.
# For a nimbus beacon endpoint the epoch detector calls POST /eth/v1/beacon/rewards/attestations/{epoch}
# every ~5 minutes with a hardcoded 5-second internal timeout, while nimbus needs 16-22 seconds
# to replay that historical state. The probe therefore always times out, retries, and
# re-issues the same historical request forever, which pins the node in constant
# historical state replay and has repeatedly degraded the mainnet ethereum node.
# The code path is GenericUpstream.upstreamStart(): if (!getOptions().disableBoundValidation)
# { detectLowerBlock() }. The YAML key is read by ChainOptionsReader as disable-bound-validation.
disable-bound-validation: true
methods: methods:
disabled: disabled:
- name: GET#/eth/v2/debug/beacon/states/* - name: GET#/eth/v2/debug/beacon/states/*
@@ -190,15 +190,6 @@ x-upstreams:
# UNAVAILABLE and failing live requests ("Source was empty"). Head tracking # UNAVAILABLE and failing live requests ("Source was empty"). Head tracking
# still governs health with validation off. 2026-07-10, dRPC incident. # still governs health with validation off. 2026-07-10, dRPC incident.
disable-validation: true disable-validation: true
# dshackle runs internal lower-bound detectors against each upstream.
# For a nimbus beacon endpoint the epoch detector calls POST /eth/v1/beacon/rewards/attestations/{epoch}
# every ~5 minutes with a hardcoded 5-second internal timeout, while nimbus needs 16-22 seconds
# to replay that historical state. The probe therefore always times out, retries, and
# re-issues the same historical request forever, which pins the node in constant
# historical state replay and has repeatedly degraded the mainnet ethereum node.
# The code path is GenericUpstream.upstreamStart(): if (!getOptions().disableBoundValidation)
# { detectLowerBlock() }. The YAML key is read by ChainOptionsReader as disable-bound-validation.
disable-bound-validation: true
methods: methods:
disabled: disabled:
- name: GET#/eth/v2/debug/beacon/states/* - name: GET#/eth/v2/debug/beacon/states/*
@@ -30,7 +30,7 @@ x-logging-defaults: &logging-defaults
services: services:
linea-sepolia: linea-sepolia:
image: ${LINEA_BESU_IMAGE:-consensys/linea-besu-package}:${LINEA_SEPOLIA_BESU_VERSION:-2.3.0-20260923-8d01643} image: ${LINEA_BESU_IMAGE:-consensys/linea-besu-package}:${LINEA_SEPOLIA_BESU_VERSION:-2.2.0-20260821-8bb72b4}
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
@@ -120,7 +120,7 @@ services:
logging: *logging-defaults logging: *logging-defaults
morph-mainnet-archive-node: morph-mainnet-archive-node:
image: ${MORPH_MORPH_IMAGE:-ghcr.io/morph-l2/node}:${MORPH_MAINNET_MORPH_VERSION:-0.6.3} image: ${MORPH_MORPH_IMAGE:-ghcr.io/morph-l2/node}:${MORPH_MAINNET_MORPH_VERSION:-0.6.0}
ports: ports:
- 16860:26656 - 16860:26656
- 16860:26656/udp - 16860:26656/udp
-1
View File
@@ -4,7 +4,6 @@
# geth clones, erigon and sonic # geth clones, erigon and sonic
**/nodekey **/nodekey
/caplin-nodekey
# besu # besu
key key
+1 -2
View File
@@ -27,8 +27,7 @@
"eip1559Elasticity": 6, "eip1559Elasticity": 6,
"eip1559Denominator": 50, "eip1559Denominator": 50,
"eip1559DenominatorCanyon": 250 "eip1559DenominatorCanyon": 250
}, }
"taigaTime": 1746612311
}, },
"nonce": "0x0", "nonce": "0x0",
"timestamp": "0x65da5e57", "timestamp": "0x65da5e57",
+1 -2
View File
@@ -29,6 +29,5 @@
"batch_inbox_address": "0xff00000000000000000000000000000000081457", "batch_inbox_address": "0xff00000000000000000000000000000000081457",
"deposit_contract_address": "0x0ec68c5b10f21effb74f2a5c61dfe6b08c0db6cb", "deposit_contract_address": "0x0ec68c5b10f21effb74f2a5c61dfe6b08c0db6cb",
"l1_system_config_address": "0x5531dcff39ec1ec727c4c5d2fc49835368f805a9", "l1_system_config_address": "0x5531dcff39ec1ec727c4c5d2fc49835368f805a9",
"protocol_versions_address": "0x0000000000000000000000000000000000000000", "protocol_versions_address": "0x0000000000000000000000000000000000000000"
"taiga_time": 1746612311
} }
+1 -3
View File
@@ -25,9 +25,7 @@
"eip1559Elasticity": 6, "eip1559Elasticity": 6,
"eip1559Denominator": 50, "eip1559Denominator": 50,
"eip1559DenominatorCanyon": 250 "eip1559DenominatorCanyon": 250
}, }
"ecotoneTime": 1713999600,
"taigaTime": 1745589600
}, },
"nonce": "0x0", "nonce": "0x0",
"timestamp": "0x659b7460", "timestamp": "0x659b7460",
+1 -1
View File
@@ -32,4 +32,4 @@
"deposit_contract_address": "0x2757e4430e694f27b73ec9c02257cab3a498c8c5", "deposit_contract_address": "0x2757e4430e694f27b73ec9c02257cab3a498c8c5",
"l1_system_config_address": "0x329faf078c364a316e08bf6a17b7eee6ae75a613", "l1_system_config_address": "0x329faf078c364a316e08bf6a17b7eee6ae75a613",
"protocol_versions_address": "0x0000000000000000000000000000000000000000" "protocol_versions_address": "0x0000000000000000000000000000000000000000"
} }
+15081 -15081
View File
File diff suppressed because one or more lines are too long
+1 -2
View File
@@ -40,6 +40,5 @@
"eip1559Elasticity": 6, "eip1559Elasticity": 6,
"eip1559Denominator": 50, "eip1559Denominator": 50,
"eip1559DenominatorCanyon": 250 "eip1559DenominatorCanyon": 250
}, }
"karst_time": 1788364801
} }
+1 -2
View File
@@ -48,6 +48,5 @@
"l2_chain_id": 97477, "l2_chain_id": 97477,
"max_sequencer_drift": 600, "max_sequencer_drift": 600,
"regolith_time": 0, "regolith_time": 0,
"seq_window_size": 3600, "seq_window_size": 3600
"karst_time": 1787673601
} }
+2 -3
View File
@@ -51,6 +51,5 @@
"da_challenge_contract_address": "0x0000000000000000000000000000000000000000", "da_challenge_contract_address": "0x0000000000000000000000000000000000000000",
"da_challenge_window": 1, "da_challenge_window": 1,
"da_resolve_window": 1 "da_resolve_window": 1
}, }
"karst_time": 1787068801 }
}
@@ -106,7 +106,7 @@ services:
shm_size: 2gb shm_size: 2gb
base-sepolia-op-erigon-node: base-sepolia-op-erigon-node:
image: ${BASE_NODE_IMAGE:-ghcr.io/base/node-reth}:${BASE_SEPOLIA_NODE_VERSION:-v1.2.0} image: ${BASE_NODE_IMAGE:-ghcr.io/base/node-reth}:${BASE_SEPOLIA_NODE_VERSION:-v1.1.0}
ports: ports:
- 18487:18487 - 18487:18487
- 18487:18487/udp - 18487:18487/udp
@@ -108,7 +108,7 @@ services:
shm_size: 2gb shm_size: 2gb
bob-mainnet-op-erigon-node: bob-mainnet-op-erigon-node:
image: ${BOB_KONA_IMAGE:-us-docker.pkg.dev/oplabs-tools-artifacts/images/kona-node}:${BOB_MAINNET_KONA_VERSION:-v1.7.0} image: ${BOB_KONA_IMAGE:-us-docker.pkg.dev/oplabs-tools-artifacts/images/kona-node}:${BOB_MAINNET_KONA_VERSION:-v1.6.2}
ports: ports:
- 16071:16071 - 16071:16071
- 16071:16071/udp - 16071:16071/udp
@@ -108,7 +108,7 @@ services:
shm_size: 2gb shm_size: 2gb
bob-mainnet-op-erigon-node: bob-mainnet-op-erigon-node:
image: ${BOB_NODE_IMAGE:-us-docker.pkg.dev/oplabs-tools-artifacts/images/op-node}:${BOB_MAINNET_NODE_VERSION:-v1.19.6} image: ${BOB_NODE_IMAGE:-us-docker.pkg.dev/oplabs-tools-artifacts/images/op-node}:${BOB_MAINNET_NODE_VERSION:-v1.19.2}
ports: ports:
- 16071:16071 - 16071:16071
- 16071:16071/udp - 16071:16071/udp
@@ -109,7 +109,7 @@ services:
shm_size: 2gb shm_size: 2gb
hashkeychain-mainnet-op-erigon-node: hashkeychain-mainnet-op-erigon-node:
image: ${HASHKEYCHAIN_KONA_IMAGE:-us-docker.pkg.dev/oplabs-tools-artifacts/images/kona-node}:${HASHKEYCHAIN_MAINNET_KONA_VERSION:-v1.7.0} image: ${HASHKEYCHAIN_KONA_IMAGE:-us-docker.pkg.dev/oplabs-tools-artifacts/images/kona-node}:${HASHKEYCHAIN_MAINNET_KONA_VERSION:-v1.6.2}
ports: ports:
- 16378:16378 - 16378:16378
- 16378:16378/udp - 16378:16378/udp
@@ -109,7 +109,7 @@ services:
shm_size: 2gb shm_size: 2gb
hashkeychain-mainnet-op-erigon-node: hashkeychain-mainnet-op-erigon-node:
image: ${HASHKEYCHAIN_NODE_IMAGE:-us-docker.pkg.dev/oplabs-tools-artifacts/images/op-node}:${HASHKEYCHAIN_MAINNET_NODE_VERSION:-v1.19.6} image: ${HASHKEYCHAIN_NODE_IMAGE:-us-docker.pkg.dev/oplabs-tools-artifacts/images/op-node}:${HASHKEYCHAIN_MAINNET_NODE_VERSION:-v1.19.2}
ports: ports:
- 16378:16378 - 16378:16378
- 16378:16378/udp - 16378:16378/udp
@@ -106,7 +106,7 @@ services:
shm_size: 2gb shm_size: 2gb
ink-sepolia-op-erigon-node: ink-sepolia-op-erigon-node:
image: ${INK_KONA_IMAGE:-us-docker.pkg.dev/oplabs-tools-artifacts/images/kona-node}:${INK_SEPOLIA_KONA_VERSION:-v1.7.0} image: ${INK_KONA_IMAGE:-us-docker.pkg.dev/oplabs-tools-artifacts/images/kona-node}:${INK_SEPOLIA_KONA_VERSION:-v1.6.2}
ports: ports:
- 19826:19826 - 19826:19826
- 19826:19826/udp - 19826:19826/udp
@@ -106,7 +106,7 @@ services:
shm_size: 2gb shm_size: 2gb
ink-sepolia-op-erigon-node: ink-sepolia-op-erigon-node:
image: ${INK_NODE_IMAGE:-us-docker.pkg.dev/oplabs-tools-artifacts/images/op-node}:${INK_SEPOLIA_NODE_VERSION:-v1.19.6} image: ${INK_NODE_IMAGE:-us-docker.pkg.dev/oplabs-tools-artifacts/images/op-node}:${INK_SEPOLIA_NODE_VERSION:-v1.19.2}
ports: ports:
- 19826:19826 - 19826:19826
- 19826:19826/udp - 19826:19826/udp
@@ -109,7 +109,7 @@ services:
shm_size: 2gb shm_size: 2gb
lisk-mainnet-op-erigon-node: lisk-mainnet-op-erigon-node:
image: ${LISK_KONA_IMAGE:-us-docker.pkg.dev/oplabs-tools-artifacts/images/kona-node}:${LISK_MAINNET_KONA_VERSION:-v1.7.0} image: ${LISK_KONA_IMAGE:-us-docker.pkg.dev/oplabs-tools-artifacts/images/kona-node}:${LISK_MAINNET_KONA_VERSION:-v1.6.2}
ports: ports:
- 19831:19831 - 19831:19831
- 19831:19831/udp - 19831:19831/udp
@@ -109,7 +109,7 @@ services:
shm_size: 2gb shm_size: 2gb
lisk-mainnet-op-erigon-node: lisk-mainnet-op-erigon-node:
image: ${LISK_NODE_IMAGE:-us-docker.pkg.dev/oplabs-tools-artifacts/images/op-node}:${LISK_MAINNET_NODE_VERSION:-v1.19.6} image: ${LISK_NODE_IMAGE:-us-docker.pkg.dev/oplabs-tools-artifacts/images/op-node}:${LISK_MAINNET_NODE_VERSION:-v1.19.3}
ports: ports:
- 19831:19831 - 19831:19831
- 19831:19831/udp - 19831:19831/udp
@@ -107,7 +107,7 @@ services:
shm_size: 2gb shm_size: 2gb
mode-mainnet-op-erigon-node: mode-mainnet-op-erigon-node:
image: ${MODE_KONA_IMAGE:-us-docker.pkg.dev/oplabs-tools-artifacts/images/kona-node}:${MODE_MAINNET_KONA_VERSION:-v1.7.0} image: ${MODE_KONA_IMAGE:-us-docker.pkg.dev/oplabs-tools-artifacts/images/kona-node}:${MODE_MAINNET_KONA_VERSION:-v1.6.2}
ports: ports:
- 17509:17509 - 17509:17509
- 17509:17509/udp - 17509:17509/udp
@@ -107,7 +107,7 @@ services:
shm_size: 2gb shm_size: 2gb
mode-mainnet-op-erigon-node: mode-mainnet-op-erigon-node:
image: ${MODE_NODE_IMAGE:-us-docker.pkg.dev/oplabs-tools-artifacts/images/op-node}:${MODE_MAINNET_NODE_VERSION:-v1.19.6} image: ${MODE_NODE_IMAGE:-us-docker.pkg.dev/oplabs-tools-artifacts/images/op-node}:${MODE_MAINNET_NODE_VERSION:-v1.19.2}
ports: ports:
- 17509:17509 - 17509:17509
- 17509:17509/udp - 17509:17509/udp
@@ -106,7 +106,7 @@ services:
shm_size: 2gb shm_size: 2gb
mode-sepolia-op-erigon-node: mode-sepolia-op-erigon-node:
image: ${MODE_KONA_IMAGE:-us-docker.pkg.dev/oplabs-tools-artifacts/images/kona-node}:${MODE_SEPOLIA_KONA_VERSION:-v1.7.0} image: ${MODE_KONA_IMAGE:-us-docker.pkg.dev/oplabs-tools-artifacts/images/kona-node}:${MODE_SEPOLIA_KONA_VERSION:-v1.6.2}
ports: ports:
- 18212:18212 - 18212:18212
- 18212:18212/udp - 18212:18212/udp
@@ -106,7 +106,7 @@ services:
shm_size: 2gb shm_size: 2gb
mode-sepolia-op-erigon-node: mode-sepolia-op-erigon-node:
image: ${MODE_NODE_IMAGE:-us-docker.pkg.dev/oplabs-tools-artifacts/images/op-node}:${MODE_SEPOLIA_NODE_VERSION:-v1.19.6} image: ${MODE_NODE_IMAGE:-us-docker.pkg.dev/oplabs-tools-artifacts/images/op-node}:${MODE_SEPOLIA_NODE_VERSION:-v1.19.2}
ports: ports:
- 18212:18212 - 18212:18212
- 18212:18212/udp - 18212:18212/udp
@@ -109,7 +109,7 @@ services:
shm_size: 2gb shm_size: 2gb
op-mainnet-op-erigon-node: op-mainnet-op-erigon-node:
image: ${OP_KONA_IMAGE:-us-docker.pkg.dev/oplabs-tools-artifacts/images/kona-node}:${OP_MAINNET_KONA_VERSION:-v1.7.0} image: ${OP_KONA_IMAGE:-us-docker.pkg.dev/oplabs-tools-artifacts/images/kona-node}:${OP_MAINNET_KONA_VERSION:-v1.6.2}
ports: ports:
- 17509:17509 - 17509:17509
- 17509:17509/udp - 17509:17509/udp
@@ -109,7 +109,7 @@ services:
shm_size: 2gb shm_size: 2gb
op-mainnet-op-erigon-node: op-mainnet-op-erigon-node:
image: ${OP_NODE_IMAGE:-us-docker.pkg.dev/oplabs-tools-artifacts/images/op-node}:${OP_MAINNET_NODE_VERSION:-v1.19.6} image: ${OP_NODE_IMAGE:-us-docker.pkg.dev/oplabs-tools-artifacts/images/op-node}:${OP_MAINNET_NODE_VERSION:-v1.19.2}
ports: ports:
- 17509:17509 - 17509:17509
- 17509:17509/udp - 17509:17509/udp
@@ -106,7 +106,7 @@ services:
shm_size: 2gb shm_size: 2gb
op-sepolia-op-erigon-node: op-sepolia-op-erigon-node:
image: ${OP_NODE_IMAGE:-us-docker.pkg.dev/oplabs-tools-artifacts/images/op-node}:${OP_SEPOLIA_NODE_VERSION:-v1.19.6} image: ${OP_NODE_IMAGE:-us-docker.pkg.dev/oplabs-tools-artifacts/images/op-node}:${OP_SEPOLIA_NODE_VERSION:-v1.19.2}
ports: ports:
- 15373:15373 - 15373:15373
- 15373:15373/udp - 15373:15373/udp
@@ -106,7 +106,7 @@ services:
shm_size: 2gb shm_size: 2gb
soneium-mainnet-op-erigon-node: soneium-mainnet-op-erigon-node:
image: ${SONEIUM_KONA_IMAGE:-us-docker.pkg.dev/oplabs-tools-artifacts/images/kona-node}:${SONEIUM_MAINNET_KONA_VERSION:-v1.7.0} image: ${SONEIUM_KONA_IMAGE:-us-docker.pkg.dev/oplabs-tools-artifacts/images/kona-node}:${SONEIUM_MAINNET_KONA_VERSION:-v1.6.2}
ports: ports:
- 18689:18689 - 18689:18689
- 18689:18689/udp - 18689:18689/udp
@@ -106,7 +106,7 @@ services:
shm_size: 2gb shm_size: 2gb
swell-mainnet-op-erigon-node: swell-mainnet-op-erigon-node:
image: ${SWELL_KONA_IMAGE:-us-docker.pkg.dev/oplabs-tools-artifacts/images/kona-node}:${SWELL_MAINNET_KONA_VERSION:-v1.7.0} image: ${SWELL_KONA_IMAGE:-us-docker.pkg.dev/oplabs-tools-artifacts/images/kona-node}:${SWELL_MAINNET_KONA_VERSION:-v1.6.2}
ports: ports:
- 15810:15810 - 15810:15810
- 15810:15810/udp - 15810:15810/udp
@@ -106,7 +106,7 @@ services:
shm_size: 2gb shm_size: 2gb
swell-mainnet-op-erigon-node: swell-mainnet-op-erigon-node:
image: ${SWELL_NODE_IMAGE:-us-docker.pkg.dev/oplabs-tools-artifacts/images/op-node}:${SWELL_MAINNET_NODE_VERSION:-v1.19.6} image: ${SWELL_NODE_IMAGE:-us-docker.pkg.dev/oplabs-tools-artifacts/images/op-node}:${SWELL_MAINNET_NODE_VERSION:-v1.19.2}
ports: ports:
- 15810:15810 - 15810:15810
- 15810:15810/udp - 15810:15810/udp
@@ -106,7 +106,7 @@ services:
shm_size: 2gb shm_size: 2gb
unichain-mainnet-op-erigon-node: unichain-mainnet-op-erigon-node:
image: ${UNICHAIN_KONA_IMAGE:-us-docker.pkg.dev/oplabs-tools-artifacts/images/kona-node}:${UNICHAIN_MAINNET_KONA_VERSION:-v1.7.0} image: ${UNICHAIN_KONA_IMAGE:-us-docker.pkg.dev/oplabs-tools-artifacts/images/kona-node}:${UNICHAIN_MAINNET_KONA_VERSION:-v1.6.2}
ports: ports:
- 16415:16415 - 16415:16415
- 16415:16415/udp - 16415:16415/udp
@@ -106,7 +106,7 @@ services:
shm_size: 2gb shm_size: 2gb
unichain-mainnet-op-erigon-node: unichain-mainnet-op-erigon-node:
image: ${UNICHAIN_NODE_IMAGE:-us-docker.pkg.dev/oplabs-tools-artifacts/images/op-node}:${UNICHAIN_MAINNET_NODE_VERSION:-v1.19.6} image: ${UNICHAIN_NODE_IMAGE:-us-docker.pkg.dev/oplabs-tools-artifacts/images/op-node}:${UNICHAIN_MAINNET_NODE_VERSION:-v1.19.2}
ports: ports:
- 16415:16415 - 16415:16415
- 16415:16415/udp - 16415:16415/udp
@@ -106,7 +106,7 @@ services:
shm_size: 2gb shm_size: 2gb
unichain-sepolia-op-erigon-node: unichain-sepolia-op-erigon-node:
image: ${UNICHAIN_NODE_IMAGE:-us-docker.pkg.dev/oplabs-tools-artifacts/images/op-node}:${UNICHAIN_SEPOLIA_NODE_VERSION:-v1.19.6} image: ${UNICHAIN_NODE_IMAGE:-us-docker.pkg.dev/oplabs-tools-artifacts/images/op-node}:${UNICHAIN_SEPOLIA_NODE_VERSION:-v1.19.2}
ports: ports:
- 18196:18196 - 18196:18196
- 18196:18196/udp - 18196:18196/udp
@@ -107,7 +107,7 @@ services:
shm_size: 2gb shm_size: 2gb
zora-mainnet-op-erigon-node: zora-mainnet-op-erigon-node:
image: ${ZORA_KONA_IMAGE:-us-docker.pkg.dev/oplabs-tools-artifacts/images/kona-node}:${ZORA_MAINNET_KONA_VERSION:-v1.7.0} image: ${ZORA_KONA_IMAGE:-us-docker.pkg.dev/oplabs-tools-artifacts/images/kona-node}:${ZORA_MAINNET_KONA_VERSION:-v1.6.2}
ports: ports:
- 19360:19360 - 19360:19360
- 19360:19360/udp - 19360:19360/udp
@@ -107,7 +107,7 @@ services:
shm_size: 2gb shm_size: 2gb
zora-mainnet-op-erigon-node: zora-mainnet-op-erigon-node:
image: ${ZORA_NODE_IMAGE:-us-docker.pkg.dev/oplabs-tools-artifacts/images/op-node}:${ZORA_MAINNET_NODE_VERSION:-v1.19.6} image: ${ZORA_NODE_IMAGE:-us-docker.pkg.dev/oplabs-tools-artifacts/images/op-node}:${ZORA_MAINNET_NODE_VERSION:-v1.19.2}
ports: ports:
- 19360:19360 - 19360:19360
- 19360:19360/udp - 19360:19360/udp
@@ -107,7 +107,7 @@ services:
shm_size: 2gb shm_size: 2gb
zora-sepolia-op-erigon-node: zora-sepolia-op-erigon-node:
image: ${ZORA_KONA_IMAGE:-us-docker.pkg.dev/oplabs-tools-artifacts/images/kona-node}:${ZORA_SEPOLIA_KONA_VERSION:-v1.7.0} image: ${ZORA_KONA_IMAGE:-us-docker.pkg.dev/oplabs-tools-artifacts/images/kona-node}:${ZORA_SEPOLIA_KONA_VERSION:-v1.6.2}
ports: ports:
- 18839:18839 - 18839:18839
- 18839:18839/udp - 18839:18839/udp
@@ -107,7 +107,7 @@ services:
shm_size: 2gb shm_size: 2gb
zora-sepolia-op-erigon-node: zora-sepolia-op-erigon-node:
image: ${ZORA_NODE_IMAGE:-us-docker.pkg.dev/oplabs-tools-artifacts/images/op-node}:${ZORA_SEPOLIA_NODE_VERSION:-v1.19.6} image: ${ZORA_NODE_IMAGE:-us-docker.pkg.dev/oplabs-tools-artifacts/images/op-node}:${ZORA_SEPOLIA_NODE_VERSION:-v1.19.2}
ports: ports:
- 18839:18839 - 18839:18839
- 18839:18839/udp - 18839:18839/udp
@@ -107,7 +107,7 @@ services:
- traefik.http.routers.base-sepolia-op-geth-archive-leveldb-hash.middlewares=base-sepolia-op-geth-archive-leveldb-hash-stripprefix, ipallowlist - traefik.http.routers.base-sepolia-op-geth-archive-leveldb-hash.middlewares=base-sepolia-op-geth-archive-leveldb-hash-stripprefix, ipallowlist
base-sepolia-archive-node: base-sepolia-archive-node:
image: ${BASE_NODE_IMAGE:-ghcr.io/base/node-reth}:${BASE_SEPOLIA_NODE_VERSION:-v1.2.0} image: ${BASE_NODE_IMAGE:-ghcr.io/base/node-reth}:${BASE_SEPOLIA_NODE_VERSION:-v1.1.0}
ports: ports:
- 15910:15910 - 15910:15910
- 15910:15910/udp - 15910:15910/udp
@@ -107,7 +107,7 @@ services:
- traefik.http.routers.base-sepolia-op-geth-pruned-pebble-path.middlewares=base-sepolia-op-geth-pruned-pebble-path-stripprefix, ipallowlist - traefik.http.routers.base-sepolia-op-geth-pruned-pebble-path.middlewares=base-sepolia-op-geth-pruned-pebble-path-stripprefix, ipallowlist
base-sepolia-node: base-sepolia-node:
image: ${BASE_NODE_IMAGE:-ghcr.io/base/node-reth}:${BASE_SEPOLIA_NODE_VERSION:-v1.2.0} image: ${BASE_NODE_IMAGE:-ghcr.io/base/node-reth}:${BASE_SEPOLIA_NODE_VERSION:-v1.1.0}
ports: ports:
- 17022:17022 - 17022:17022
- 17022:17022/udp - 17022:17022/udp
@@ -109,7 +109,7 @@ services:
- traefik.http.routers.bob-mainnet-op-geth-archive-leveldb-hash.middlewares=bob-mainnet-op-geth-archive-leveldb-hash-stripprefix, ipallowlist - traefik.http.routers.bob-mainnet-op-geth-archive-leveldb-hash.middlewares=bob-mainnet-op-geth-archive-leveldb-hash-stripprefix, ipallowlist
bob-mainnet-archive-node: bob-mainnet-archive-node:
image: ${BOB_KONA_IMAGE:-us-docker.pkg.dev/oplabs-tools-artifacts/images/kona-node}:${BOB_MAINNET_KONA_VERSION:-v1.7.0} image: ${BOB_KONA_IMAGE:-us-docker.pkg.dev/oplabs-tools-artifacts/images/kona-node}:${BOB_MAINNET_KONA_VERSION:-v1.6.2}
ports: ports:
- 19046:19046 - 19046:19046
- 19046:19046/udp - 19046:19046/udp
@@ -109,7 +109,7 @@ services:
- traefik.http.routers.bob-mainnet-op-geth-archive-leveldb-hash.middlewares=bob-mainnet-op-geth-archive-leveldb-hash-stripprefix, ipallowlist - traefik.http.routers.bob-mainnet-op-geth-archive-leveldb-hash.middlewares=bob-mainnet-op-geth-archive-leveldb-hash-stripprefix, ipallowlist
bob-mainnet-archive-node: bob-mainnet-archive-node:
image: ${BOB_NODE_IMAGE:-us-docker.pkg.dev/oplabs-tools-artifacts/images/op-node}:${BOB_MAINNET_NODE_VERSION:-v1.19.6} image: ${BOB_NODE_IMAGE:-us-docker.pkg.dev/oplabs-tools-artifacts/images/op-node}:${BOB_MAINNET_NODE_VERSION:-v1.19.2}
ports: ports:
- 19046:19046 - 19046:19046
- 19046:19046/udp - 19046:19046/udp
@@ -109,7 +109,7 @@ services:
- traefik.http.routers.bob-mainnet-op-geth-archive-pebble-hash.middlewares=bob-mainnet-op-geth-archive-pebble-hash-stripprefix, ipallowlist - traefik.http.routers.bob-mainnet-op-geth-archive-pebble-hash.middlewares=bob-mainnet-op-geth-archive-pebble-hash-stripprefix, ipallowlist
bob-mainnet-archive-node: bob-mainnet-archive-node:
image: ${BOB_KONA_IMAGE:-us-docker.pkg.dev/oplabs-tools-artifacts/images/kona-node}:${BOB_MAINNET_KONA_VERSION:-v1.7.0} image: ${BOB_KONA_IMAGE:-us-docker.pkg.dev/oplabs-tools-artifacts/images/kona-node}:${BOB_MAINNET_KONA_VERSION:-v1.6.2}
ports: ports:
- 17223:17223 - 17223:17223
- 17223:17223/udp - 17223:17223/udp
@@ -109,7 +109,7 @@ services:
- traefik.http.routers.bob-mainnet-op-geth-archive-pebble-hash.middlewares=bob-mainnet-op-geth-archive-pebble-hash-stripprefix, ipallowlist - traefik.http.routers.bob-mainnet-op-geth-archive-pebble-hash.middlewares=bob-mainnet-op-geth-archive-pebble-hash-stripprefix, ipallowlist
bob-mainnet-archive-node: bob-mainnet-archive-node:
image: ${BOB_NODE_IMAGE:-us-docker.pkg.dev/oplabs-tools-artifacts/images/op-node}:${BOB_MAINNET_NODE_VERSION:-v1.19.6} image: ${BOB_NODE_IMAGE:-us-docker.pkg.dev/oplabs-tools-artifacts/images/op-node}:${BOB_MAINNET_NODE_VERSION:-v1.19.2}
ports: ports:
- 17223:17223 - 17223:17223
- 17223:17223/udp - 17223:17223/udp
@@ -109,7 +109,7 @@ services:
- traefik.http.routers.bob-mainnet-op-geth-pruned-pebble-hash.middlewares=bob-mainnet-op-geth-pruned-pebble-hash-stripprefix, ipallowlist - traefik.http.routers.bob-mainnet-op-geth-pruned-pebble-hash.middlewares=bob-mainnet-op-geth-pruned-pebble-hash-stripprefix, ipallowlist
bob-mainnet-node: bob-mainnet-node:
image: ${BOB_KONA_IMAGE:-us-docker.pkg.dev/oplabs-tools-artifacts/images/kona-node}:${BOB_MAINNET_KONA_VERSION:-v1.7.0} image: ${BOB_KONA_IMAGE:-us-docker.pkg.dev/oplabs-tools-artifacts/images/kona-node}:${BOB_MAINNET_KONA_VERSION:-v1.6.2}
ports: ports:
- 16363:16363 - 16363:16363
- 16363:16363/udp - 16363:16363/udp
@@ -109,7 +109,7 @@ services:
- traefik.http.routers.bob-mainnet-op-geth-pruned-pebble-hash.middlewares=bob-mainnet-op-geth-pruned-pebble-hash-stripprefix, ipallowlist - traefik.http.routers.bob-mainnet-op-geth-pruned-pebble-hash.middlewares=bob-mainnet-op-geth-pruned-pebble-hash-stripprefix, ipallowlist
bob-mainnet-node: bob-mainnet-node:
image: ${BOB_NODE_IMAGE:-us-docker.pkg.dev/oplabs-tools-artifacts/images/op-node}:${BOB_MAINNET_NODE_VERSION:-v1.19.6} image: ${BOB_NODE_IMAGE:-us-docker.pkg.dev/oplabs-tools-artifacts/images/op-node}:${BOB_MAINNET_NODE_VERSION:-v1.19.2}
ports: ports:
- 16363:16363 - 16363:16363
- 16363:16363/udp - 16363:16363/udp
@@ -109,7 +109,7 @@ services:
- traefik.http.routers.bob-mainnet-op-geth-pruned-pebble-path.middlewares=bob-mainnet-op-geth-pruned-pebble-path-stripprefix, ipallowlist - traefik.http.routers.bob-mainnet-op-geth-pruned-pebble-path.middlewares=bob-mainnet-op-geth-pruned-pebble-path-stripprefix, ipallowlist
bob-mainnet-node: bob-mainnet-node:
image: ${BOB_KONA_IMAGE:-us-docker.pkg.dev/oplabs-tools-artifacts/images/kona-node}:${BOB_MAINNET_KONA_VERSION:-v1.7.0} image: ${BOB_KONA_IMAGE:-us-docker.pkg.dev/oplabs-tools-artifacts/images/kona-node}:${BOB_MAINNET_KONA_VERSION:-v1.6.2}
ports: ports:
- 18347:18347 - 18347:18347
- 18347:18347/udp - 18347:18347/udp
@@ -109,7 +109,7 @@ services:
- traefik.http.routers.bob-mainnet-op-geth-pruned-pebble-path.middlewares=bob-mainnet-op-geth-pruned-pebble-path-stripprefix, ipallowlist - traefik.http.routers.bob-mainnet-op-geth-pruned-pebble-path.middlewares=bob-mainnet-op-geth-pruned-pebble-path-stripprefix, ipallowlist
bob-mainnet-node: bob-mainnet-node:
image: ${BOB_NODE_IMAGE:-us-docker.pkg.dev/oplabs-tools-artifacts/images/op-node}:${BOB_MAINNET_NODE_VERSION:-v1.19.6} image: ${BOB_NODE_IMAGE:-us-docker.pkg.dev/oplabs-tools-artifacts/images/op-node}:${BOB_MAINNET_NODE_VERSION:-v1.19.2}
ports: ports:
- 18347:18347 - 18347:18347
- 18347:18347/udp - 18347:18347/udp
@@ -104,7 +104,7 @@ services:
- traefik.http.routers.bob-sepolia-op-geth-archive-leveldb-hash.middlewares=bob-sepolia-op-geth-archive-leveldb-hash-stripprefix, ipallowlist - traefik.http.routers.bob-sepolia-op-geth-archive-leveldb-hash.middlewares=bob-sepolia-op-geth-archive-leveldb-hash-stripprefix, ipallowlist
bob-sepolia-archive-node: bob-sepolia-archive-node:
image: ${BOB_NODE_IMAGE:-us-docker.pkg.dev/oplabs-tools-artifacts/images/op-node}:${BOB_SEPOLIA_NODE_VERSION:-v1.19.6} image: ${BOB_NODE_IMAGE:-us-docker.pkg.dev/oplabs-tools-artifacts/images/op-node}:${BOB_SEPOLIA_NODE_VERSION:-v1.19.2}
ports: ports:
- 15225:15225 - 15225:15225
- 15225:15225/udp - 15225:15225/udp
@@ -104,7 +104,7 @@ services:
- traefik.http.routers.bob-sepolia-op-geth-archive-pebble-hash.middlewares=bob-sepolia-op-geth-archive-pebble-hash-stripprefix, ipallowlist - traefik.http.routers.bob-sepolia-op-geth-archive-pebble-hash.middlewares=bob-sepolia-op-geth-archive-pebble-hash-stripprefix, ipallowlist
bob-sepolia-archive-node: bob-sepolia-archive-node:
image: ${BOB_NODE_IMAGE:-us-docker.pkg.dev/oplabs-tools-artifacts/images/op-node}:${BOB_SEPOLIA_NODE_VERSION:-v1.19.6} image: ${BOB_NODE_IMAGE:-us-docker.pkg.dev/oplabs-tools-artifacts/images/op-node}:${BOB_SEPOLIA_NODE_VERSION:-v1.19.2}
ports: ports:
- 17678:17678 - 17678:17678
- 17678:17678/udp - 17678:17678/udp
@@ -104,7 +104,7 @@ services:
- traefik.http.routers.bob-sepolia-op-geth-pruned-pebble-hash.middlewares=bob-sepolia-op-geth-pruned-pebble-hash-stripprefix, ipallowlist - traefik.http.routers.bob-sepolia-op-geth-pruned-pebble-hash.middlewares=bob-sepolia-op-geth-pruned-pebble-hash-stripprefix, ipallowlist
bob-sepolia-node: bob-sepolia-node:
image: ${BOB_NODE_IMAGE:-us-docker.pkg.dev/oplabs-tools-artifacts/images/op-node}:${BOB_SEPOLIA_NODE_VERSION:-v1.19.6} image: ${BOB_NODE_IMAGE:-us-docker.pkg.dev/oplabs-tools-artifacts/images/op-node}:${BOB_SEPOLIA_NODE_VERSION:-v1.19.2}
ports: ports:
- 17885:17885 - 17885:17885
- 17885:17885/udp - 17885:17885/udp
@@ -104,7 +104,7 @@ services:
- traefik.http.routers.bob-sepolia-op-geth-pruned-pebble-path.middlewares=bob-sepolia-op-geth-pruned-pebble-path-stripprefix, ipallowlist - traefik.http.routers.bob-sepolia-op-geth-pruned-pebble-path.middlewares=bob-sepolia-op-geth-pruned-pebble-path-stripprefix, ipallowlist
bob-sepolia-node: bob-sepolia-node:
image: ${BOB_NODE_IMAGE:-us-docker.pkg.dev/oplabs-tools-artifacts/images/op-node}:${BOB_SEPOLIA_NODE_VERSION:-v1.19.6} image: ${BOB_NODE_IMAGE:-us-docker.pkg.dev/oplabs-tools-artifacts/images/op-node}:${BOB_SEPOLIA_NODE_VERSION:-v1.19.2}
ports: ports:
- 18979:18979 - 18979:18979
- 18979:18979/udp - 18979:18979/udp
@@ -123,7 +123,7 @@ services:
- traefik.http.routers.doma-mainnet-op-geth-pruned-pebble-path.middlewares=doma-mainnet-op-geth-pruned-pebble-path-stripprefix, ipallowlist - traefik.http.routers.doma-mainnet-op-geth-pruned-pebble-path.middlewares=doma-mainnet-op-geth-pruned-pebble-path-stripprefix, ipallowlist
doma-mainnet-node: doma-mainnet-node:
image: ${DOMA_NODE_IMAGE:-us-docker.pkg.dev/oplabs-tools-artifacts/images/op-node}:${DOMA_MAINNET_NODE_VERSION:-v1.19.6} image: ${DOMA_NODE_IMAGE:-us-docker.pkg.dev/oplabs-tools-artifacts/images/op-node}:${DOMA_MAINNET_NODE_VERSION:-v1.19.2}
ports: ports:
- 15977:15977 - 15977:15977
- 15977:15977/udp - 15977:15977/udp
@@ -113,7 +113,7 @@ services:
- traefik.http.routers.hashkeychain-mainnet-op-geth-archive-leveldb-hash.middlewares=hashkeychain-mainnet-op-geth-archive-leveldb-hash-stripprefix, ipallowlist - traefik.http.routers.hashkeychain-mainnet-op-geth-archive-leveldb-hash.middlewares=hashkeychain-mainnet-op-geth-archive-leveldb-hash-stripprefix, ipallowlist
hashkeychain-mainnet-archive-node: hashkeychain-mainnet-archive-node:
image: ${HASHKEYCHAIN_KONA_IMAGE:-us-docker.pkg.dev/oplabs-tools-artifacts/images/kona-node}:${HASHKEYCHAIN_MAINNET_KONA_VERSION:-v1.7.0} image: ${HASHKEYCHAIN_KONA_IMAGE:-us-docker.pkg.dev/oplabs-tools-artifacts/images/kona-node}:${HASHKEYCHAIN_MAINNET_KONA_VERSION:-v1.6.2}
ports: ports:
- 19113:19113 - 19113:19113
- 19113:19113/udp - 19113:19113/udp

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