Reth

Installing Reth for extreme performance and sync speed.

Reth

Reth (Rust Ethereum) is a modular execution client written in Rust. It is developed by Paradigm and is famous for its incredible sync speed and low storage requirements.


🛡️ Role: Reth is the Performance Choice. It can fully sync a mainnet archive node in days (not weeks) and uses significantly less storage than Geth or Erigon.

Note: By default, Reth runs as an Archive Node. If you want a standard Full Node (to save space), you must add the --full flag.


1. Install Dependencies

Reth is distributed as a pre-built binary. We only need basic tools to download and extract it.

# Update repositories
sudo apt update

# Install utilities
sudo apt install -y curl tar

💡 Note: The libclang-dev, build-essential, and pkg-config packages are only needed if you are building Reth from source. When using the pre-built binary (as in this guide), they are not required.


2. Download & Install

We will download the latest pre-built binary from the official Paradigm repository.

A. Create the Application Directory

B. Set Permissions

Ensure the ethereum user owns the directory and the binary is executable.


3. Configure Systemd Service

We will configure Reth to run as a background service.

💾 Storage Mode:

  • Archive Node (Default): Stores everything. ~2.5TB. (No flag needed).

  • Full Node: Prunes historical data. ~1.2TB. (Add --full flag).

Create the service file:

Paste the following configuration:

🔍 Flag Explanation:

  • --full: Runs as a Full Node (Pruned). Remove this line if you want an Archive Node.

  • --http.api: Reth supports advanced debug and trace APIs out of the box with very low overhead.


4. Start the Service

Reload the systemd daemon and start the node.


5. Verify Status

Check the logs. Reth has a very clean log output.

Expected Output:

  • Pipeline: You will see "Stages" similar to Erigon (Headers, Bodies, Sender Recovery, Execution).

  • Speed: Reth prints its sync speed (e.g., 12.5 Mgas/s).

  • Waiting: It will eventually wait for the Consensus Client.

Last updated