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>
56 lines
1.7 KiB
Plaintext
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 |