I saw this -

"The first time a node connects to the network it uses one of the predefined bootnodes. Through these bootnodes a node can join the network and find other nodes."

At https://github.com/ethereum/go-ethereum/wiki/Private-network

It says the bootnode enables the nodes to join. Has anyone more details about bootnodes and exactly what they actually do? They must enable joining somehow. They must be some mechanism to enable joining the network. Why not just enable all nodes to allow joining? Are bootnodes all full nodes?


A bootnode is simply any node that is already connected to the network, and whose address you know, so you can use it when you first connect to the network.

To join the network, you need to know the address of at least one other node on the network. Once you're connected to one node, that node can tell you the addresses of other nodes that it is connected to, so you can reach the rest of the network. So a node comes with some pre-determined node addresses. There's nothing particularly special about those nodes, except that they are selected to mostly stay online and not change very often.

  • So a bootnode is defined by a node connecting to it? If no node connects to it then the same node is not a bootnode? – Trevor Lee Oakley Mar 30 '18 at 6:43
  • Yes, or rather technically I guess a bootnode is a node that's set up with the intention that nodes will use it as their way of initially joining the network. So you could have a bootnode that nobody has connected to yet. – Edmund Edgar Mar 30 '18 at 6:47

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.