XLayer geth.toml: remove obsolete [Eth.GPO.XLayer] section after OP Stack migration #3

Closed
opened 2026-02-20 17:47:19 +00:00 by claude · 0 comments
Collaborator

Problem

All XLayer nodes (mainnet and testnet) were crash-looping with the following fatal error on startup:

Fatal: /config/geth.toml, line 12: field 'XLayer' is not defined in gasprice.Config

Root Cause

XLayer migrated from Polygon CDK (zkEVM) to OP Stack on Oct 27, 2025 (Jovian fork). The geth.toml config files in op/xlayer/{mainnet,testnet}/ still contained the old [Eth.GPO.XLayer] section with Kafka-based gas price oracle settings from the CDK era:

[Eth.GPO.XLayer]
Type = "follower"
UpdatePeriod = 100000000000
Default = "100000000"
KafkaURL = "localhost:9092"
Topic = "middle_coinPrice_push"
GroupID = "geth-consumer"
L1CoinId = 15756
L2CoinId = 7184
DefaultL1CoinPrice = 2000.0
DefaultL2CoinPrice = 0.5
Factor = 0.1

This section was explicitly removed in op-geth v0.1.4 (okx/op-geth PR #168, Feb 9, 2026), which deleted the entire gas price controller. The current xlayer/op-geth:v0.1.4 binary no longer recognizes these fields, causing the fatal crash.

Affected Hosts

  • rpc-de-27: xlayer-mainnet, xlayer-testnet
  • rpc-us-32: xlayer-mainnet

Fix

Removed the entire [Eth.GPO.XLayer] section from both op/xlayer/mainnet/geth.toml and op/xlayer/testnet/geth.toml. Added MinSuggestedPriorityFee = 1 to [Eth.GPO] per the official XLayer toolkit reference config.

Updated config:

[Node.P2P]
DiscoveryV5 = true

[Eth.GPO]
Blocks = 20
Percentile = 60
MaxHeaderHistory = 1024
MaxBlockHistory = 1024
MaxPrice = "5000000000000000000000"
IgnorePrice = "2000000000000000000"
MinSuggestedPriorityFee = 1

Resolution

  • Commit: 2f841387
  • All three nodes confirmed syncing after deploying the fix via run-rpc-update + Compose up
## Problem All XLayer nodes (mainnet and testnet) were crash-looping with the following fatal error on startup: ``` Fatal: /config/geth.toml, line 12: field 'XLayer' is not defined in gasprice.Config ``` ### Root Cause XLayer migrated from **Polygon CDK (zkEVM)** to **OP Stack** on Oct 27, 2025 (Jovian fork). The `geth.toml` config files in `op/xlayer/{mainnet,testnet}/` still contained the old `[Eth.GPO.XLayer]` section with Kafka-based gas price oracle settings from the CDK era: ```toml [Eth.GPO.XLayer] Type = "follower" UpdatePeriod = 100000000000 Default = "100000000" KafkaURL = "localhost:9092" Topic = "middle_coinPrice_push" GroupID = "geth-consumer" L1CoinId = 15756 L2CoinId = 7184 DefaultL1CoinPrice = 2000.0 DefaultL2CoinPrice = 0.5 Factor = 0.1 ``` This section was explicitly removed in **op-geth v0.1.4** ([okx/op-geth PR #168](https://github.com/okx/op-geth/pull/168), Feb 9, 2026), which deleted the entire gas price controller. The current `xlayer/op-geth:v0.1.4` binary no longer recognizes these fields, causing the fatal crash. ### Affected Hosts - rpc-de-27: xlayer-mainnet, xlayer-testnet - rpc-us-32: xlayer-mainnet ## Fix Removed the entire `[Eth.GPO.XLayer]` section from both `op/xlayer/mainnet/geth.toml` and `op/xlayer/testnet/geth.toml`. Added `MinSuggestedPriorityFee = 1` to `[Eth.GPO]` per the official XLayer toolkit reference config. Updated config: ```toml [Node.P2P] DiscoveryV5 = true [Eth.GPO] Blocks = 20 Percentile = 60 MaxHeaderHistory = 1024 MaxBlockHistory = 1024 MaxPrice = "5000000000000000000000" IgnorePrice = "2000000000000000000" MinSuggestedPriorityFee = 1 ``` ### Resolution - Commit: 2f841387 - All three nodes confirmed syncing after deploying the fix via `run-rpc-update` + `Compose up`
Sign in to join this conversation.
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: StakeSquid/ethereum-rpc-docker#3