From c02d23c0cd7abc1f6798bfdde037a199a298f5b8 Mon Sep 17 00:00:00 2001 From: "seidroid[bot]" <257742136+seidroid[bot]@users.noreply.github.com> Date: Thu, 20 Aug 2026 00:06:50 +0000 Subject: [PATCH 1/3] docs: Adds a new p2p config field `accept-interval` that paces inbound connection acceptance and changes the default accept rate from 1/s to 100/s to prevent nodes silently failing to acquire inbound peers. (sei-protocol/sei-chain#3939) --- node/technical-reference.mdx | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/node/technical-reference.mdx b/node/technical-reference.mdx index f8c9c2d..a6984de 100644 --- a/node/technical-reference.mdx +++ b/node/technical-reference.mdx @@ -272,6 +272,13 @@ max-outbound-connections = 20 max-packet-msg-payload-size = 10240 handshake-timeout = "20s" dial-timeout = "3s" +# How often the node accepts a new inbound connection. The default is "10ms" +# (a sustained accept rate of ~100 connections/s), raised so the accept loop +# drains the kernel listen backlog fast enough; an interval too large lets +# arriving peers wait past handshake-timeout, silently stopping the node from +# acquiring inbound peers. A value of 0 disables the limiter. Negative values +# are rejected during config validation. +accept-interval = "10ms" # RPC Configuration [rpc] From ef09d4013d718773cc4b2831a8e2650694baaf87 Mon Sep 17 00:00:00 2001 From: "seidroid[bot]" <257742136+seidroid[bot]@users.noreply.github.com> Date: Thu, 20 Aug 2026 00:07:51 +0000 Subject: [PATCH 2/3] docs: seid init now auto-populates bootstrap-peers with Sei Labs seed nodes for known public networks (pacific-1, atlantic-2), and the --chain-id flag is now documented as required. (sei-protocol/sei-chain#3954) --- node/index.mdx | 9 ++++++++- node/technical-reference.mdx | 7 +++++++ node/validators.mdx | 6 ++++++ 3 files changed, 21 insertions(+), 1 deletion(-) diff --git a/node/index.mdx b/node/index.mdx index 323bd87..f4c25b6 100644 --- a/node/index.mdx +++ b/node/index.mdx @@ -222,12 +222,19 @@ Peers can be found here - ```bash # Initialize node (default mode is full: RPC/P2P bind to all interfaces) +# --chain-id is required, e.g. pacific-1 or atlantic-2 # For validator nodes, use: seid init --chain-id --mode validator seid init --chain-id # Genesis is written automatically for known networks (mainnet and testnets); no download needed. -# Configure peers in config.toml. +# For known public networks (pacific-1, atlantic-2), seid init also pre-populates +# bootstrap-peers in config.toml with the built-in Sei Labs seed nodes, so peer +# discovery works with no manual configuration. Devnets (arctic-1) and +# unknown/private chains get none, and any bootstrap-peers value you already set +# is never overwritten. + +# Optionally configure additional persistent peers in config.toml. PEERS="" #Set persistent peers in config.toml diff --git a/node/technical-reference.mdx b/node/technical-reference.mdx index a6984de..6cc7fe0 100644 --- a/node/technical-reference.mdx +++ b/node/technical-reference.mdx @@ -264,6 +264,13 @@ The config.toml file controls the core consensus engine and networking: [p2p] laddr = "tcp://0.0.0.0:26656" external-address = "" +# bootstrap-peers holds seed/peer addresses (NodeID@host:port, comma-separated) +# dialled to populate the address book via PEX. As of v6.6.2 (#), `seid init` +# auto-populates this field with the built-in Sei Labs seed nodes for +# well-known public networks (pacific-1, atlantic-2). Devnets (arctic-1) and +# unknown/private chains get none, and an existing bootstrap-peers value is +# never overwritten. The example below reflects a fresh init on an +# unrecognised chain. bootstrap-peers = "" persistent-peers = "" upnp = false diff --git a/node/validators.mdx b/node/validators.mdx index 28ffa9b..8482e0f 100644 --- a/node/validators.mdx +++ b/node/validators.mdx @@ -27,6 +27,12 @@ seid init --chain-id --mode validator The default init mode is **full**, which binds RPC and P2P to all interfaces (`0.0.0.0`). For validator (and seed) nodes, use `--mode validator` or `--mode seed` so that RPC and P2P listen on localhost only. Genesis is written automatically for known networks; no separate download is required. + +`--chain-id` is required — pass a value such as `pacific-1` or `atlantic-2`. + +For recognized public networks (`pacific-1`, `atlantic-2`), `seid init` automatically writes the Sei Labs seed nodes into the `bootstrap-peers` field of `config.toml`, so a freshly initialized node bootstraps peer discovery with no additional configuration. Devnets (`arctic-1`) and unknown or private chains receive no seeds, and any pre-existing `bootstrap-peers` value is never overwritten. + + ### Key Management The security of your validator begins with proper key management. Your validator requires several distinct keys: From a030db1ddb4a3c8353a076d4c0ee32c41949381c Mon Sep 17 00:00:00 2001 From: monty-sei Date: Mon, 31 Aug 2026 14:17:53 +1000 Subject: [PATCH 3/3] docs: correct accept-interval direction and stale handshake-timeout Review fixes on the v6.6.2 catch-up: - Drop the empty `(#)` PR-link placeholder from the bootstrap-peers comment. It was a generator artifact and the only such occurrence in the docs. - The accept-interval comment stated the change backwards. sei-chain#3939 moved the default accept rate from ~1/s to ~100/s, which *lowered* the interval to 10ms; "raised" read as the interval growing. Reworded to match the upstream template in sei-tendermint/config/toml.go, which describes the mechanism rather than the delta. - handshake-timeout default is 10s (DefaultP2PConfig in sei-tendermint/config/config.go), not 20s. node-operators.mdx already showed 10s, and the new accept-interval note reasons about this value. --- node/technical-reference.mdx | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/node/technical-reference.mdx b/node/technical-reference.mdx index 6cc7fe0..0807dc4 100644 --- a/node/technical-reference.mdx +++ b/node/technical-reference.mdx @@ -265,7 +265,7 @@ The config.toml file controls the core consensus engine and networking: laddr = "tcp://0.0.0.0:26656" external-address = "" # bootstrap-peers holds seed/peer addresses (NodeID@host:port, comma-separated) -# dialled to populate the address book via PEX. As of v6.6.2 (#), `seid init` +# dialled to populate the address book via PEX. As of v6.6.2, `seid init` # auto-populates this field with the built-in Sei Labs seed nodes for # well-known public networks (pacific-1, atlantic-2). Devnets (arctic-1) and # unknown/private chains get none, and an existing bootstrap-peers value is @@ -277,14 +277,14 @@ upnp = false max-connections = 100 max-outbound-connections = 20 max-packet-msg-payload-size = 10240 -handshake-timeout = "20s" +handshake-timeout = "10s" dial-timeout = "3s" -# How often the node accepts a new inbound connection. The default is "10ms" -# (a sustained accept rate of ~100 connections/s), raised so the accept loop -# drains the kernel listen backlog fast enough; an interval too large lets -# arriving peers wait past handshake-timeout, silently stopping the node from -# acquiring inbound peers. A value of 0 disables the limiter. Negative values -# are rejected during config validation. +# How often the node accepts a new inbound connection. A larger interval paces +# the accept loop more slowly; if the kernel accept backlog outpaces it, arriving +# peers wait past handshake-timeout and the node silently stops acquiring inbound +# peers. In v6.6.2 this became configurable and the default accept rate rose from +# ~1/s to ~100/s (a "10ms" interval). A value of 0 disables the limiter; negative +# values are rejected during config validation. accept-interval = "10ms" # RPC Configuration