In the go-ethereum docs there is reference to a bootnode command:

Creating the rendezvous point

With all nodes that you want to run initialized to the desired genesis state, you'll need to start a bootstrap node that others can use to find each other in your network and/or over the internet. The clean way is to configure and run a dedicated bootnode:

$ bootnode --genkey=boot.key

$ bootnode --nodekey=boot.key

With the bootnode online, it will display an enode URL that other nodes can use to connect to it and exchange peer information. Make sure to replace the displayed IP address information (most probably [::]) with your externally accessible IP to get the actual enode URL.

Note: You could also use a full fledged Geth node as a bootnode, but it's the less recommended way.

Is this command part of go-ethereum or a separate program?

My computer fails to find the command.

I have tried install via apt-get install bootnode gives "no such package"

I'm also unsure what the boot object is (with key attribute).

Is anyone able to clarify this?

Why is it not recommended to have the bootnode be a full node?


I think it had previously been a part of the "Geth and Tools" release package, but it's gone missing... An issue was raised a couple of days ago: #3703

With regards to what it does, further up the page you linked to there's a description of each of the standalone tools (yes, they're separate executables):


Stripped down version of our Ethereum client implementation that only takes part in the network node discovery protocol, but does not run any of the higher level application protocols. It can be used as a lightweight bootstrap node to aid in finding peers in private networks.

  • 1
    thanks, I'm guessing genkey is generate key pair and then nodekey assigns public key to enodeURL? – atomh33ls Feb 25 '17 at 21:06
  • 2
    Almost - I think the enode is derived from the key itself, and nodekey is just a quick way of assigning an enode to your private node each time it starts. Have a look at github.com/ethereum/go-ethereum/wiki/… – Richard Horrocks Feb 26 '17 at 15:24

bootnode is back in main source of go-ethereum (as of today). If you build from source, it will be available under build and for make you used; make all

A network is initialized to a genesis state. All the nodes connected to same bootnode are in fact connected to the same genesis state. In other words as referred from ethereum official docs,

Ethereum - Private Network

Your Answer

