Skip to main content
Gnosis Chain is moving to Gnosis EEZ

These guides cover running a node and a validator on Gnosis Chain as it runs today, and stay valid until the fork. At activation the validator set retires and nodes keep only an execution client. See the move to Gnosis EEZ.

Managing an existing validator? Go to Validator withdrawals or Voluntary exit.

Erigon

Formerly TurboGeth, Erigon is an Ethereum client built to enable performance optimizations. Erigon is written in Go and licensed under the GNU LGPLv3.

Repository: https://github.com/erigontech/erigon

There are 2 main options for running Erigon:

Option 1: Using Docker​

1. Folder Structure​

Create your folder structure:

mkdir -p /home/$USER/gnosis/{jwtsecret,execution}
chown -R 1000:1000 /home/$USER/gnosis/execution
/home/$USER/gnosis/
|── execution/
└── jwtsecret/

2. Docker Compose​

Create a Compose file with your favorite text editor in /home/$USER/gnosis/docker-compose.yml:

/home/$USER/gnosis/docker-compose.yml
version: "3"
services:
execution:
container_name: execution
image: erigontech/erigon:latest
restart: unless-stopped
volumes:
- /home/$USER/gnosis/execution:/home/erigon/.local/share/erigon
- /home/$USER/gnosis/jwtsecret/jwt.hex:/jwt:ro
networks:
- gnosis_net
ports:
- 30303:30303
- 30303:30303/udp
- 30304:30304
- 30304:30304/udp
- 42069:42069
- 42069:42069/udp
- 4000:4000/udp
- 4001:4001
expose:
- 8545
- 8551
command: |
--chain=gnosis
--http
--http.api=eth,debug,net,trace,web3,erigon
--ws
--metrics
--metrics.addr=0.0.0.0
--pprof
--pprof.addr=0.0.0.0
--pprof.port=6070
--authrpc.addr=0.0.0.0
--authrpc.jwtsecret=/jwt
--authrpc.vhosts=*
--prune.mode=minimal
--torrent.download.rate=16mb
--torrent.upload.rate=16mb
user: 1000:1000

networks:
gnosis_net:
name: gnosis_net
Note

By default, metrics and pprof use the same port, 6060. If both are enabled, configure separate ports.

3. JWT Secret​

The JWT secret is a token that allows the EL client to communicate with the CL client, and is required for Erigon to operate post-merge. We use rand to create a random string, and store the jwt.hex file in /home/$USER/gnosis/jwtsecret/.

Check create JWT section in Step 1: Configure Server.

4. Start Container​

Start the Execution layer client listed in the compose file:

cd /home/$USER/gnosis
docker compose up -d

5. Monitor Logs​

Check your logs with:

docker logs -f --tail 500 execution

6. Updating your Node​

To update, just pull the new image, then stop and restart your services:

cd /home/$USER/gnosis
docker compose pull
docker compose stop
docker compose up -d

Option 2: Using system process​

Refer to Erigon Guide.

Erigon Archive Node​

Erigon uses --prune.mode=full by default. If you need an archive node, set --prune.mode=archive before first start.

If you want lower disk usage for a validator setup, use --prune.mode=minimal.

Always check the latest system requirements before choosing a pruning mode.