Skip to main content

Help update this page

🌏

There’s a new version of this page but it’s only in English right now. Help us translate the latest version.

Translate page
See English

No bugs here!πŸ›

This page is not being translated. We've intentionally left this page in English for now.

Introduction to Ethereum Bootnodes

Last edit: , Invalid DateTime
Edit page

When a new node joins the Ethereum network it needs to connect to nodes that are already on the network in order to then discover new peers. These entry points into the Ethereum network are called bootnodes. Clients usually have a list of bootnodes hardcoded into them. These bootnodes are typically run by the Ethereum Foundation's devops team or client teams themselves. Note that bootnodes are not the same as static nodes. Static nodes are called over and over again, whereas bootnodes are only called upon if there are not enough peers to connect to and a node needs to bootstrap some new connections.

Connect to a bootnode

Most clients have a list of bootnodes build in, but you might also want to run your own bootnode, or use one that is not part of the client's hardcoded list. In this case, you can specify them when starting your client, as follows (example is for Geth, please check your client's documentation):

1geth --bootnodes "enode://<node ID>@<IP address>:<port>"
2

Run a bootnode

Bootnodes are full nodes that are not behind a NAT (Network Address Translation). Every full node can act as a bootnode as long as it is publicly available.

When you start up a node it should log your enode, which is a public identifier that others can use to connect to your node.

The enode is usually regenerated on every restart, so make sure to look at your client's documentation on how to generate a persistent enode for your bootnode.

In order to be a good bootnode it's a good idea to increase the maximum number of peers that can connect to it. Running a bootnode with many peers will increase the bandwith requirement significantly.

Available bootnodes

A list of builtin bootnodes within go-ethereum can be found here. These bootnodes are maintained by the Ethereum Foundation and the go-ethereum team.

There are other lists of bootnodes maintained by volunteers available. Please make sure to always include at least one official bootnode, otherwise you could be eclipse attacked.

Was this article helpful?

Website last updated: February 3, 2023

Use Ethereum

  • Find wallet
  • Get ETH
  • Decentralized applications (dapps)
  • Layer 2
  • Run a node
  • Stablecoins
  • Stake ETH

Ecosystem

  • Community hub
  • Ethereum Foundation
  • Ethereum Foundation Blog
  • Ecosystem Support Program
  • Ethereum bug bounty program
  • Ecosystem Grant Programs
  • Ethereum brand assets
  • Devcon