Start Besu
Nodes can connect to Ethereum Mainnet and public testnets.
Use the besu
command with the required command line options to start a node.
Prerequisites
Local block data
When connecting to a network other than the network previously connected to, you must either delete the local block data or use the --data-path
option to specify a different data directory.
To delete the local block data, delete the database
directory in the besu/build/distribution/besu-<version>
directory.
Genesis configuration
Besu specifies the genesis configuration, and sets the network ID and bootnodes when connecting to Goerli, Sepolia, and Mainnet.
The Ropsten, Rinkeby, and Kiln testnets are deprecated.
When you specify --network=dev
, Besu uses the development mode genesis configuration with a fixed low difficulty. A node started with --network=dev
has an empty bootnodes list by default.
The genesis files defining the genesis configurations are in the Besu source files.
To define a genesis configuration, create a genesis file (for example, genesis.json
) and specify the file using the --genesis-file
option.
Syncing and storage
By default, Besu syncs to the current state of the blockchain using fast sync in:
- Networks specified using
--network
except for thedev
development network. - Ethereum Mainnet.
We recommend using snap sync for a faster sync, by starting Besu with --sync-mode=X_SNAP
.
By default, Besu stores data in the Forest of Tries format. We recommend using Bonsai Tries for lower storage requirements, by starting Besu with --data-storage-format=BONSAI
.