Reth

Overview

Reth - short for Rust Ethereum, is an Ethereum full node implementation that is focused on being user-friendly, highly modular, as well as being fast and efficient.

1. Create service account and data directory

Create a service user for the execution service, create data directory and assign ownership.

sudo adduser --system --no-create-home --group execution
sudo mkdir -p /var/lib/reth
sudo chown -R execution:execution /var/lib/reth

Install dependencies.

sudo apt-get update
sudo apt install -y ccze jq curl

2. Install binaries

  • Downloading binaries is often faster and more convenient.

  • Building from source code can offer better compatibility and is more aligned with the spirit of FOSS (free open source software).

Option 1 - Download binaries

Install the binaries and display the version.

Option 2 - Build from source code

Install rust dependency

When prompted, enter '1' to proceed with the default install.

Update your environment variables.

Install rust dependencies.

Build the binaries.

In case of compilation errors, run the following sequence.

Verify Reth was built properly by checking the version number.

Install the binary.

3. Setup and configure systemd

Create a systemd unit file to define your execution.service configuration.

Paste the following configuration into the file.

To exit and save, press Ctrl + X, then Y, then Enter.

Run the following to enable auto-start at boot time.

Finally, start your execution layer client and check it's status.

Press Ctrl + C to exit the status.

4. Helpful execution client commands

A properly functioning Reth execution client will indicate "Block added to canonical chain". For example,

Now that your execution client is configured and started, proceed to the next step on setting up your consensus client.