Page cover image

How to run an Ethereum node

System Requirements

Follow the Prerequisites:

DO NOT USE HDD: Hard Disk Drives (HDD) are not recommended for running Erigon, as it may cause the node to stay N blocks behind the chain tip and lead to performance issues.

USE SSD or NVMe: Solid State Drives (SSD) or Non-Volatile Memory Express (NVMe) drives are recommended for optimal performance. These storage devices provide faster read/write speeds and can handle the demanding requirements of an Erigon node.

Install Erigon​

For MacOS and Linux, run the following commands to build the latest Erigon version from source:

git clone --branch v2.61.3 --single-branch https://github.com/erigontech/erigon.git
cd erigon
make erigon

This should create the binary at ./build/bin/erigon.

If you are using Windows follow first the dedicated installation guide or use Docker.

Start Erigon​

Alongside Erigon you must use a Consensus Layer like Prysm or Lighthouse. This will also allow you to access the Ethereum blockchain directly and give you the possibility to stake your GNO and do block production.

Start Erigon

./build/bin/erigon

Install and run Prysm:

Prysm installation instructions

Prysm must fully synchronize before Erigon can start syncing, since Erigon requires an existing target head to sync to. The quickest way to get Prysm synced is to use a public checkpoint synchronization endpoint from the list at https://eth-clients.github.io/checkpoint-sync-endpoints.

In order to communicate with Erigon the execution endpoint <erigon address>:8551 must be specified, where <erigon address> is either //localhost or the IP address of the device running Erigon.

Prysm must point to the JWT secret automatically created by Erigon in the datadir directory (in the below example the default data directory is used).

./prysm.sh beacon-chain --execution-endpoint=http://localhost:8551 --mainnet --jwt-secret=/home/admin/.local/share/erigon/jwt.hex --checkpoint-sync-url=https://beaconstate.info --genesis-beacon-api-url=https://beaconstate.info

If your Prysm is on a different device, add --authrpc.addr 0.0.0.0 (Engine API listens on localhost by default) as well as --authrpc.vhosts <CL host>.

Basic Configuration​

  • If you want to store Erigon files in a non-default location, add flag --datadir=<your_data_dir>

    • Default data directory is /home/admin/.local/share/erigon.

  • --prune=hrtc to run a full node with latest 90'000 blocks instead of an archive node. If you change your mind remember to delete the --datadir folder content.

  • Default chain is --chain=mainnet, add the flag:

    • --chain=sepolia for Sepolia testnet;

    • --chain=holesky for Holesky testnet.

  • --http.addr="0.0.0.0" --http.api=eth,web3,net,debug,trace,txpool to use RPC and e.g. be able to connect your wallet.

  • To increase download speed add --torrent.download.rate=512mb (default is 16mb)

To stop the Erigon node you can use the CTRL+C command. Additional flags can be added to configure the node with several options.

Last updated

Was this helpful?