xlayer: archive-only reth on OKX xlayer/op-reth image + snapshot reth.toml

X Layer mainnet/testnet op-reth now use the OKX xlayer/op-reth:v0.0.4.1 fork
(generic op-reth can't read the X Layer DB format), the image's built-in
xlayer-<network> chain spec, --rpc.legacy-url for post-snapshot history gap-fill,
and the OKX archive-compatible reth.toml (light pruning only: merkle_changesets
distance=10064). Switched the reth profile from full_trace to archive_trace and
deleted the pruned variants — a "pruned" compose over archive snapshot data
crash-loops on a block-height mismatch. Requires the official OKX reth snapshot
pre-loaded into the volume; do NOT sync from scratch.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-06-16 04:35:28 +00:00
parent fd283122f5
commit 677a98d9bd
13 changed files with 236 additions and 471 deletions

View File

@@ -4,6 +4,11 @@ x-logging-defaults: &logging-defaults
options:
max-size: "10m"
max-file: "3"
# X Layer mainnet/testnet require the official OKX reth snapshot — do NOT sync from scratch.
# Generic op-reth can't read the X Layer DB format (xlayerdb), so this uses xlayer/op-reth
# (pinned in context.yml) with the image's built-in xlayer-<network> chain spec and the OKX
# archive reth.toml. --rpc.legacy-url (the public X Layer RPC) gap-fills history after the
# snapshot loads. node_sync=true already gives op-node consensus-layer + reth --disable-discovery.
# Usage:
#
@@ -46,7 +51,7 @@ services:
logging: *logging-defaults
xlayer-mainnet-op-reth:
image: ${XLAYER_RETH_IMAGE:-us-docker.pkg.dev/oplabs-tools-artifacts/images/op-reth}:${XLAYER_MAINNET_RETH_VERSION:-v2.3.1}
image: ${XLAYER_RETH_IMAGE:-xlayer/op-reth}:${XLAYER_MAINNET_RETH_VERSION:-v0.0.4.1}
sysctls:
# TCP Performance
net.ipv4.tcp_slow_start_after_idle: 0 # Disable slow start after idle
@@ -70,7 +75,7 @@ services:
- GENESIS_URL=https://okg-pub-hk.oss-cn-hongkong.aliyuncs.com/cdn/chain/xlayer/snapshot/merged.genesis.json.mainnet.tar.gz
entrypoint: [op-reth, node]
command:
- --chain=/config/genesis.json
- --chain=xlayer-mainnet
- --config=/config/reth/reth.toml
- --datadir=/root/.local/share/reth
- --disable-discovery
@@ -82,6 +87,7 @@ services:
- --rpc-cache.max-blocks=10000
- --rpc-cache.max-concurrent-db-requests=2048
- --rpc.gascap=600000000
- --rpc.legacy-url=https://rpc.xlayer.tech
- --rpc.max-blocks-per-filter=0
- --rpc.max-connections=50000
- --rpc.max-logs-per-response=0
@@ -135,7 +141,7 @@ services:
- OP_NODE_CONDUCTOR_ENABLED=false
- OP_NODE_L1_BEACON=${ETHEREUM_MAINNET_BEACON_REST}
- OP_NODE_L1_BEACON_ARCHIVER=${ETHEREUM_MAINNET_BEACON_ARCHIVER}
- OP_NODE_L1_ETH_RPC=${ETHEREUM_MAINNET_EXECUTION_RPC}
- OP_NODE_L1_ETH_RPC=${XLAYER_MAINNET_L1_EXECUTION_RPC:-${ETHEREUM_MAINNET_EXECUTION_RPC}}
- OP_NODE_L1_RPC_KIND=${ETHEREUM_MAINNET_EXECUTION_KIND:-standard}
- OP_NODE_L1_TRUST_RPC=${ETHEREUM_MAINNET_EXECUTION_TRUST:-false}
- OP_NODE_L2_ENGINE_AUTH=/jwtsecret