Files
ethereum-rpc-docker/linea/mainnet/maru/config.toml.template
rob bd6083231f Fix Linea maru: disable payload-validation-enabled to match official config
When payload-validation-enabled is true, maru validates every block against
Besu before sending fork choice updates. If Besu is in an inconsistent state
(e.g., stuck in SNAP sync), this causes maru to stop sending fork choice
updates entirely, preventing Besu from ever syncing.

The official Linea configuration uses payload-validation-enabled = false,
which allows maru to continue sending fork choice updates regardless of
Besu's current state.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-17 04:37:19 +00:00

56 lines
1.7 KiB
Plaintext

# Uncomment the below [linea] section for finalized L2 block tag
[linea]
contract-address = "0xd19d4B5d358258f05D7B411E21A1460D11B0876F"
l1-eth-api = { endpoint = "${L1_RPC}" }
l1-polling-interval = "6 seconds"
l1-highest-block-tag = "finalized"
l2-eth-api-endpoint = { endpoint = "${SEQUENCER}" }
[persistence]
data-path = "/opt/maru/data"
private-key-path = "/opt/maru/private-key"
[p2p]
port = ${P2P_PORT} # Default port (can be same as discovery)
ip-address = "0.0.0.0"
static-peers = [
"/ip4/18.223.198.165/tcp/31005/p2p/16Uiu2HAmSJSpgBxVoMcRZ4u8CQbTgfPrbw6u7xH1BnMgwAQZAm91",
"/ip4/18.190.136.59/tcp/31006/p2p/16Uiu2HAm5DpcTYVLzZf45unDDrY9wYVbqeFnPo4CrpnF3tyXV3o8",
"/ip4/13.50.94.193/tcp/31003/p2p/16Uiu2HAmVcX8oB9KxmJdVAGybMyxuqtbY959i6uaew1agDBv9wk3",
"/ip4/3.1.142.64/tcp/31000/p2p/16Uiu2HAkuaxfz8ftqSSfG6hKG7B7MCUD9boXvawxKXz9eq7R6Tmi",
"/ip4/52.77.66.99/tcp/31001/p2p/16Uiu2HAmGNP9fqUnfCb5v8VAWczW12qmsEnYhNUw2v652Px9Kz5V"
]
reconnect-delay = "500ms"
[p2p.discovery]
port = ${P2P_PORT}
advertise-ip = ${IP}
refresh-interval = "3s"
[payload-validator]
# Besu and Geth node as execution layer client
engine-api-endpoint = { endpoint = "http://${EL_HOST}:8551", jwt-secret-path = "/jwtsecret" }
eth-api-endpoint = { endpoint = "http://${EL_HOST}:8545" }
payload-validation-enabled = false
[observability]
port = 9090
jvm-metrics-enabled = true
prometheus-metrics-enabled = true
[api]
port = 8080
[syncing]
peer-chain-height-polling-interval = "5s"
el-sync-status-refresh-interval = "5s"
sync-target-selection = "Highest"
desync-tolerance = 0
[syncing.download]
block-range-request-timeout = "10s"
blocks-batch-size = 10
blocks-parallelism = 10
max-retries = 5
backoff-delay = "1s"
use-unconditional-random-download-peer = false