From 30ab400bb2c0000a3f0b8ade0c23723603fdd681 Mon Sep 17 00:00:00 2001 From: Lucas Simpson Date: Wed, 5 Aug 2026 10:28:51 -0400 Subject: [PATCH] fix: refresh op-node P2P bootstrap and static peers The configured mainnet and sepolia P2P endpoints point at hosts that no longer accept connections. Each network had a single static peer, and on mainnet the bootnode ENR and the static peer resolved to the same address, so there was no fallback once it stopped answering. Nodes using these values cannot join the gossip mesh and never receive unsafe payloads. They still derive the safe chain from L1, so they appear to sync while permanently trailing the network by the batch posting interval. Replace both with the current published endpoints: 6 bootnodes and 3 static peers on mainnet, 5 and 3 on sepolia. All six static peers were verified reachable on TCP 9003. Also record the execution-layer peers for the planned op-reth migration, and correct the static-peer troubleshooting entry, which advised that an advancing current_l1 meant the node was still making progress. That value is unaffected by peer count, so it cannot distinguish a healthy node from one with no peers at all; point at opp2p_peerStats instead. Fixes #85 --- README.md | 44 ++++++++++++++++++++++++++++++++---- envs/ink-mainnet/op-node.env | 4 ++-- envs/ink-sepolia/op-node.env | 4 ++-- 3 files changed, 44 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index b121613..9352333 100644 --- a/README.md +++ b/README.md @@ -307,6 +307,41 @@ then retry the script after the local block height starts moving. If you do not want to install `cast`, use the RPC and metrics checks above instead. +## P2P endpoints + +The `op-node` bootstrap and static peers for each network are already set in +`envs//op-node.env`, so a clean checkout needs no manual peering setup. + +The values below are execution-layer peers and are **not** used by the current +stack: `op-geth` runs with `--maxpeers=0 --nodiscover`, because `op-node` runs +`--syncmode=consensus-layer` and payloads arrive over the Engine API. They are +recorded here as the reference for the `op-reth` migration described in +[Current Status](#current-status). + +`op-reth` `--bootnodes`, both networks: + +``` +enode://ca2774c3c401325850b2477fd7d0f27911efbf79b1e8b335066516e2bd8c4c9e0ba9696a94b1cb030a88eac582305ff55e905e64fb77fe0edcd70a4e5296d3ec@34.65.175.185:30305?discport=30305 +enode://dd751a9ef8912be1bfa7a5e34e2c3785cc5253110bd929f385e07ba7ac19929fb0e0c5d93f77827291f4da02b2232240fbc47ea7ce04c46e333e452f8656b667@34.65.107.0:30305?discport=30305 +enode://c5d289b56a77b6a2342ca29956dfd07aadf45364dde8ab20d1dc4efd4d1bc6b4655d902501daea308f4d8950737a4e93a4dfedd17b49cd5760ffd127837ca965@34.65.202.239:30305?discport=30305 +``` + +`op-reth` `--trusted-peers`, mainnet: + +``` +enode://61164c944eba34a2d4f50682fd71fa966df42ffcf32bd962810c004acf47f574efd6d0d293bd7c6ffe964524468a98f1cd9427dca2bf54dcfa375d34e5a25fc7@34.178.90.179:30304?discport=30303 +enode://3812d9e130a2f45761431935f0e2ad4a12e9389772a96e4e83e48a38722b44f02af7df32204a7a6f6fa91c38f7ba12a03178a7c6d5624dc45f87a79d076a95cb@34.6.15.128:30304?discport=30303 +enode://b708474c6db25e99320daebd2d9a8b29139a676fad976e134eb6ca6271d7525510a361efe1b0828e9288b3d33cb8edcb602d8aea335fab086ad6e38251775f91@34.178.42.30:30304?discport=30303 +``` + +`op-reth` `--trusted-peers`, sepolia: + +``` +enode://9978a50acf8f7c30c8cbd657a653c2faaf4033c62c9f288a2ae88b31ac121cf5c419788d4f0b45cc5fd75d05e29bd05f59c0c5339b6726c9ea41bca4108f4bcc@34.6.8.218:30304?discport=30303 +enode://8e23c7c584b7b0808269dc74f825d68daa0df2a331c92b0c4c638b951607affa4ea614098f98791b68c73922ebbe146a5ae1e40a8d158babb372e11433091499@34.141.131.99:30304?discport=30303 +enode://c2dd4ad2f3f5dd2e3d6c77acbb4f96a73d692f3172181caf457863bd9ac0645c4b709b98e8c2fa6e6d218135268635d85224b2623480290ac4dad22f0cb31b4b@35.204.224.2:30304?discport=30303 +``` + ## Troubleshooting ### `bedrock-init` exits quickly on a full node @@ -395,10 +430,11 @@ docker compose up -d --build ### `error dialing static peer` appears in `op-node` logs That can happen during early bootstrap if a configured static peer is -temporarily unavailable. If `optimism_syncStatus.current_l1` keeps advancing, -the node is still making progress. If those errors continue and `current_l1` -stops moving, inspect `envs//op-node.env` and your outbound network -access. +temporarily unavailable. If those errors continue against every configured peer, +inspect `envs//op-node.env` and your outbound network access; stale peer +endpoints are the usual cause. Note that `current_l1` can keep advancing with +zero peers, since the node still derives the safe chain from L1 — check +`opp2p_peerStats.connected` to confirm P2P health. ### `Walking back L1Block` appears in the logs diff --git a/envs/ink-mainnet/op-node.env b/envs/ink-mainnet/op-node.env index 1f0c418..522d0f3 100644 --- a/envs/ink-mainnet/op-node.env +++ b/envs/ink-mainnet/op-node.env @@ -1,3 +1,3 @@ -OP_NODE_P2P_BOOTNODES="enr:-Iu4QCqTQZVBnbPWXcdUxcakGoCCzCFr5vVzDfNTOr-Pi3KaOJZMXlnqTR9r9p4EemXS8fS59EdQaX8qrkyE01nvsNcBgmlkgnY0gmlwhCIgwYaJc2VjcDI1NmsxoQMW3w0F1AibYelKqJUKaie5RuKc7S9sPfWvH4lSJw4Fo4N0Y3CCIyuDdWRwgiMs" -OP_NODE_P2P_STATIC="/ip4/34.32.193.134/tcp/9003/p2p/16Uiu2HAmECGb1vmBKhgxVHzX2aYkPcmV8CZjpPxrNkRiFA1wa3CN" +OP_NODE_P2P_BOOTNODES="enode://92534205dd72a8787df902c89a775d9a45882739a973a7030d4d338c9b65387cfb77629907f9b6afb4e2bd98d9e6d2ccfde02d8a968b4fbccb68f0f4db5f4d83@34.13.199.202:30305?discport=30305,enode://26b0306725a78a8d193c2074bfd9e71233dbd3b75ab74be0ab555f72865fd88a285774526243f36653844eb95d62108c35f8c2723656b2c9568716ee2463f8d7@34.7.48.80:30305?discport=30305,enode://0c7bbb6bca9ce80952d8d8f8ba966e6b9e80faf75a165f320a53722f32b51c4b1da16ba59ab14f5194e51095a2755d8d3086a0220e34d88729cc8f4cc5499116@35.204.27.165:30305?discport=30305,enode://869d07b5932f17e8490990f75a3f94195e9504ddb6b85f7189e5a9c0a8fff8b00aecf6f3ac450ecba6cdabdb5858788a94bde2b613e0f2d82e9b395355f76d1a@34.65.67.101:30305?discport=30305,enode://2d4e7e9d48f4dd4efe9342706dd1b0024681bd4c3300d021f86fc75eab7865d4e0cbec6fbc883f011cfd6a57423e7e2f6e104baad2b744c3cafaec6bc7dc92c1@34.65.43.171:30305?discport=30305,enode://9d7a3efefe442351217e73b3a593bcb8efffb55b4807699972145324eab5e6b382152f8d24f6301baebbfb5ecd4127bd3faab2842c04cd432bdf50ba092f6645@34.65.109.126:30305?discport=30305" +OP_NODE_P2P_STATIC="/ip4/34.6.118.237/tcp/9003/p2p/16Uiu2HAmKjbznKezrhsXMXVT3tSwviv8jojmfLeY9Zd53VvLmGsn,/ip4/34.178.43.233/tcp/9003/p2p/16Uiu2HAm27U7EgvM6C7N2Y3152ysiEd7K3YGXVzZ2ypsnu5ZE4cY,/ip4/34.6.162.247/tcp/9003/p2p/16Uiu2HAmDhreSpDkx8F78jiJPRV9Npm6VoNB2trgNBNWBreLsBmH" OP_NODE_ROLLUP_LOAD_PROTOCOL_VERSIONS=true diff --git a/envs/ink-sepolia/op-node.env b/envs/ink-sepolia/op-node.env index cf747ea..6714314 100644 --- a/envs/ink-sepolia/op-node.env +++ b/envs/ink-sepolia/op-node.env @@ -1,3 +1,3 @@ -OP_NODE_P2P_BOOTNODES="enr:-Iu4QN7Ohk84lCZMSAbuPbU1vSMF93J7FUUab2_JBNX8q6wSPBeWrGu85ENsL-s2fcf9gvYc_Eiw8ZzdBzP5i05g9DwBgmlkgnY0gmlwhCP2ulGJc2VjcDI1NmsxoQLqBVn4RC7vvLvOB95odV2bp6zKCQHPw7j60wBG68qGJYN0Y3CCIyuDdWRwgiMs" -OP_NODE_P2P_STATIC="/ip4/35.246.186.81/tcp/9003/p2p/16Uiu2HAmBBC7aADaA9cfMeuHLZLYAdLNwEahKh7kc9WyUrcvPqXz" +OP_NODE_P2P_BOOTNODES="enode://410e7729ff4edd1b913efee100a20fed51a2bf0b5b1e0dde4dd66506d0f5cd1dd8a4bef566219d1fe4577174acc656c47186bed389991de629efa8664d0e1150@34.7.113.144:30305?discport=30305,enode://dbbcefd1b8c57c402cf4db35005b1125a42293457f67965d3c0f8370350f3667c8c9d840f820b37abebc2b17bba3cb46ae80d4306e2020cdac417dcc5ca653bd@34.158.168.67:30305?discport=30305,enode://42445d7a71c2519492bd355ab08859c9e24b52dcc330a2672561cce944714ecb94c15861a31a8624808011651662d46a5d82f0d932f2fce96c94615b2259020f@34.178.218.241:30305?discport=30305,enode://869d07b5932f17e8490990f75a3f94195e9504ddb6b85f7189e5a9c0a8fff8b00aecf6f3ac450ecba6cdabdb5858788a94bde2b613e0f2d82e9b395355f76d1a@34.65.67.101:30305?discport=30305,enode://2d4e7e9d48f4dd4efe9342706dd1b0024681bd4c3300d021f86fc75eab7865d4e0cbec6fbc883f011cfd6a57423e7e2f6e104baad2b744c3cafaec6bc7dc92c1@34.65.43.171:30305?discport=30305" +OP_NODE_P2P_STATIC="/ip4/34.90.221.85/tcp/9003/p2p/16Uiu2HAmMLp2HvyuJt3eWgGRvsxAiT2ThP6CvyyNscjm7xAgL1xH,/ip4/34.178.231.114/tcp/9003/p2p/16Uiu2HAmL2D9SnbBxd9v5ATrchRp5cbJvAvK4JBwbm86sCs5TB15,/ip4/34.13.232.240/tcp/9003/p2p/16Uiu2HAm4QD8iwJPt2KCMy2LkkXcvNiBm4RrkUNwNyMNumdKaYL4" OP_NODE_ROLLUP_LOAD_PROTOCOL_VERSIONS=true