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.
Reth
Gnosis‑compatible Reth client — not a fork, but an extension built with the NodeBuilder API.
Repository: gnosischain/reth_gnosis
Installation
Reth differs from other clients: you must import a post‑merge state.
All file downloads are handled internally in the setup script.
You can run the node in two ways:
- Docker – zero‑build, quick start
- Build from source – recommended for development / custom builds
Option 1 – Using Docker
Pull the image:
docker pull ghcr.io/gnosischain/reth_gnosis:v1.0.3
Running Reth for Gnosis
Create a data directory (DB, configs, etc.):
mkdir ./reth_data
A temporary directory is created during initialisation to download the post‑merge snapshot and is removed automatically afterwards.
Copy your Engine API jwtsecret into that folder:
cp /path/to/jwtsecret ./reth_data/jwtsecret
Quick Chiado run
docker run \
-v ./reth_data:/data \
ghcr.io/gnosischain/reth_gnosis:v1.0.3 node \
--chain chiado \
--datadir /data \
--authrpc.port=8551 \
--authrpc.jwtsecret=/data/jwtsecret
Full Gnosis Chain example
docker run --network host \
-v $PWD/reth_data:/data \
ghcr.io/gnosischain/reth_gnosis:v1.0.3 node \
-vvvv \
--chain gnosis \
--datadir /data \
--http \
--http.port=8545 \
--http.addr=0.0.0.0 \
--http.corsdomain='*' \
--http.api=admin,net,eth,web3,debug,trace \
--authrpc.port=8551 \
--authrpc.addr=0.0.0.0 \
--authrpc.jwtsecret=/data/jwtsecret \
--discovery.port=30303 \
--discovery.addr=0.0.0.0
Option 2 – Build from Source
Prerequisites
- Stable Rust toolchain
- Typical C tool‑chain dependencies (
clang,cmake,pkg-config, …)
Clone & build
git clone https://github.com/gnosischain/reth_gnosis.git
cd reth_gnosis
git checkout master
cargo build --release
Note: The original instructions state “This will build the project in debug mode.”
Using--releaseactually produces an optimised binary at./target/release/reth.
Node setup
mkdir ./reth_data # persistent DB/config folder
cp /path/to/jwtsecret ./reth_data/jwtsecret
Quick Chiado run
./target/release/reth node \
-vvvv \
--chain chiado \
--datadir ./reth_data \
--http \
--http.port=8545 \
--http.addr=0.0.0.0 \
--http.corsdomain='*' \
--http.api=admin,net,eth,web3,debug,trace \
--authrpc.port=8551 \
--authrpc.addr=0.0.0.0 \
--authrpc.jwtsecret=./reth_data/jwtsecret \
--discovery.port=30303 \
--discovery.addr=0.0.0.0
Replace --chain chiado with --chain gnosis for Gnosis mainnet.
Data directory defaults
If --datadir is omitted, Reth falls back to the OS‑specific default path:
| OS | Default path |
|---|---|
| Linux | $XDG_DATA_HOME/reth/ or $HOME/.local/share/reth/ |
| macOS | $HOME/Library/Application Support/reth/ |
| Windows | %APPDATA%\reth\ |