Private PoS network: should a Reth bootnode be reth p2p bootnode or a full reth node seed?
#25784
Replies: 1 comment
-
|
Use The command is explicitly a "discovery only bootnode": it starts discv4 and optionally discv5 and logs discovered peers. A normal So the pattern you saw is expected: UDP discovery can go to the bootnode while the TCP/RLPx peer is another full Reth node. For a classroom private PoS network, a dedicated bootnode is fine for discovery, but keep at least one always-on full node as a seed/trusted peer if you want deterministic peer counts and easier debugging. Also avoid mixing very old and new Reth builds unless you are deliberately testing version skew. |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
Question
I am trying to set up reliable bootnode-based discovery for a private Ethereum PoS network using Reth.
I need to understand the intended Reth architecture for private-network bootnodes:
reth p2p bootnode, orreth nodewhose enode is used as the bootnode?Environment
Dedicated bootnode host:
reth-ethereum-cli v1.6.0reth p2p bootnode<BOOTNODE_PORT>extip:<BOOTNODE_EXTERNAL_IP><BOOTNODE_ENODE>Execution nodes:
v1.11.1genesis.json--bootnodesGoal
I want this behavior:
--bootnodes <BOOTNODE_ENODE>.This is for a classroom/lab network where many student nodes may join and leave.
Current dedicated bootnode command
On my
v1.6.0bootnode binary, the flag is--node-key:Current execution-node command shape
What I observed
With packet tracing:
net_peerCount = 0x1reth p2p bootnodeitselfI also see occasional RLPx handshake decode errors from unsuitable peers, which makes me wonder whether the standalone
reth p2p bootnodeis chain-blind and can return unsuitable discovery records.Main questions
Is
reth p2p bootnodeintended to be sufficient as the only seed for a private Reth network?Or is the recommended production/lab setup to run a normal full
reth nodeon the seed port and use that node’s enode as the bootnode?Does
reth p2p bootnodeperform only discovery, or should clients ever establish TCP/RLPx sessions with it?Should the bootnode enode point to the dedicated bootnode port, or should private networks prefer a full Reth node’s normal P2P port?
Should a private PoS network use discv4 only, or should discv5 also be enabled?
Is
--bootnodesalone supposed to let nodes discover each other, or should private networks also configure--trusted-peers,--trusted-only,--peers-file, or static full-node seeds?Does version skew matter here? My dedicated bootnode is
v1.6.0, while the Reth execution nodes arev1.11.1.Is matching
--chain ./genesis.jsonenough on the Reth side for private PoS EL peering, or is there another network identifier/fork config setting I should explicitly verify?What is the recommended minimal command set for:
Possible fix I am considering
I am considering replacing the standalone discovery bootnode with a full Reth seed node on the same seed port and same node key:
The idea is that this seed would provide both UDP discovery and real TCP/RLPx peering, instead of being a discovery-only service.
Is this the recommended approach for a robust private Reth network?
Beta Was this translation helpful? Give feedback.
All reactions