Gnosis compatible Reth client. Not a fork, but an extension with the NodeBuilder API.
Refer to the Reth's documentation to run a node: https://reth.rs/
- Pre-merge POSDAO / AuRa
- EIP-4844-pectra
- EIP-1559 modifications
- Post-merge POSDAO
- Gnosis withdrawals
Reth differs from other clients, you need to import a post-merge state since we don't support the pre-merge yet. All file downloads are handled internally in the setup script. You can run the node using two methods: Docker or building from source.
You can run the node using Docker. You can pull the image from the Docker Hub by running the following command:
docker pull ghcr.io/gnosischain/reth_gnosis:masterYou might want to create a directory where you want all data files (reth's database, configs, etc.) to be stored, and to mount it as a volume to the image. For example, let's create ./reth_data in the current folder.
Note that a temporary directory will be created (to download the post-merge state) where reth is executed, and this directory will be removed after the initialization is done.
mkdir ./reth_dataBefore running the node, move your jwtsecret file to the ./reth_data directory. You can run it by running the following command:
cp /path/to/jwtsecret ./reth_data/jwtsecretdocker run \
-v ./reth_data:/data \
ghcr.io/gnosischain/reth_gnosis:master node \
--chain chiado \
--datadir /data \
--authrpc.jwtsecret=/data/jwtsecretThis runs Chiado, and you can use --chain gnosis for Gnosis Chain mainnet. A full command (along with network and config) would look like this:
docker run --network host \
-v $DATA_DIR:/data \
ghcr.io/gnosischain/reth_gnosis:master 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=8546 \
--authrpc.jwtsecret=/data/jwtsecret \
--authrpc.addr=0.0.0.0 \
--discovery.port=30303 \
--discovery.addr=0.0.0.0Currently the recommended way of running reth is by building it from source. To do so, you need to have Rust installed. You can install it by following the instructions on the official website.
After installing Rust, you can clone the repository and build the project by running the following commands:
git clone https://github.com/gnosischain/reth_gnosis.git
cd reth_gnosis
git checkout master
cargo build --releaseThis will build the project in debug mode.
You might want to create a directory where you want all data files (reth's database, configs, etc.) to be stored. For example, let's create ./reth_data in the current folder.
Note that a temporary directory will be created (to download the post-merge state) where reth is executed, and this directory will be removed after the initialization is done.
mkdir ./reth_dataBefore running the node, move your jwtsecret file to the ./reth_data directory. Now you can run it by running the following command:
cp /path/to/jwtsecret ./reth_data/jwtsecret./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=8546 \
--authrpc.jwtsecret=./reth_data/jwtsecret \
--authrpc.addr=0.0.0.0 \
--discovery.port=30303 \
--discovery.addr=0.0.0.0This runs Chiado, and you can use --chain gnosis for Gnosis Chain.
Providing a --datadir is optional, but recommended. If you don't provide it, the database will be created in the OS specific default location:
- Linux:
$XDG_DATA_HOME/reth/or$HOME/.local/share/reth/ - Windows:
{FOLDERID_RoamingAppData}/reth/ - macOS:
$HOME/Library/Application Support/reth/