The Rust ethereum execution client.
Use with some consensus client, such as lighthouse to participate in the ethereum network.
It installs the "reth" command line tool and a reth-daemon service.
The snap will not open HTTP/WS ports by default. You can change this by adding the --http, --ws flags, respectively and using the --http.api and --ws.api flags to enable various JSON-RPC APIs.
The snap only accepts --datadir paths: "/mnt /media /run/media" or $SNAP_COMMON/datadir (default)
- Reth full node requires at least 1.2TB of disk space on mainnet (2024-jul-10)
- Reth archive node requires at least 2.3TB of disk space on mainnet (2024-jul-10)
See current stats at this public grafana dashboard: https://reth.paradigm.xyz/d/2k8BXz24x/reth?orgId=1&viewPanel=218&refresh=30s
This example assumes reth and lighthouse are both on localhost.
- Reth --datadir path: /mnt/reth/datadir
Start by installing reth:
sudo snap install reth
(Optionally) Set the snap to not restart after an automatic upgrade. You need to restart the reth-daemon yourself if set.
sudo snap set reth endure=true
Install and use with "lighthouse" to participate in the ethereum network.
sudo snap install lighthouse
Check and change the configuration of reth and/or lighthouse to your liking:
snap get lighthouse
snap get reth
Connect the snap removable-media interface. This allows the snap to access external filsystems/dirs (see: snap interface removable-media)
sudo snap connect reth:removable-media
Configure your startup parameters (written to /var/snap/reth/common/service-arguments). Hint: remove '--full' to run as an archive node.
sudo snap set reth service-args='node --full --datadir /mnt/reth/datadir'
Start reth.
sudo snap start reth
Copy the jwt.hex from where you set the reth --datadir -> lighthouse
sudo cp /mnt/reth/datadir/jwt.hex /var/snap/lighthouse/common/
You might come across this error in the reth logs
Invalid JWT: provided signature is invalid
Delete the previous jwt.hex file and generate a new one
sudo openssl rand -hex 32 > /mnt/reth/datadir/jwt.hex
Pass the path to this file in the service-args
sudo snap set reth service-args='node --datadir /mnt/reth/datadir --metrics=0.0.0.0:9001 --authrpc.jwtsecret /mnt/reth/datadir/jwtsecret'
Start lighthouse:
sudo snap start lighthouse
Check logs:
sudo snap logs reth -f
sudo snap logs lighthouse -f
sudo snap start reth
sudo reth db stats
Stop the reth-daemon:
sudo snap stop reth
Prune:
sudo reth prune --chain mainnet
Download snapshot from https://snapshots.merkle.io/
Follow steps in the site and make sure the snapshot which are db and static_files are in mnt/reth/datadir