Reth Logo

Reth

Reth is a robust Ethereum node implementation designed for high efficiency, modularity, and optimal resource management in blockchain networks.

Reth is a modern Ethereum full node implementation written in Rust, focusing on user-friendliness, modularity, and performance. It serves as an Execution Layer (EL) client compatible with all Ethereum Consensus Layer (CL) implementations supporting the Engine API.

Core Features

  • Modularity: Every component of Reth is built to be used as a library: well-tested, heavily documented, and benchmarked. This design allows developers to import the node's crates, mix and match, and innovate on top of them. Examples include spinning up standalone P2P networks, interacting directly with the node's database, or unbundling the node into the components needed. To achieve this, Reth is licensed under the Apache/MIT permissive license.
  • Performance: Reth aims to be fast, utilizing Rust and the Erigon staged-sync node architecture. It also leverages Ethereum libraries like Alloy and revm, which have been battle-tested and optimized via Foundry. As of June 2024, Reth can sync an archive node in less than 50 hours from genesis, with a mainnet archive node size of only 2.1TB.
  • Client Diversity: The Ethereum protocol becomes more resilient when no single node implementation dominates. By building a new client, Reth contributes to Ethereum's antifragility, ensuring that if there's a software bug, the network does not finalize a bad block.
  • Configurability: Reth is designed to be configurable, catering to node operators who prioritize fast historical queries and hobbyists with limited hardware resources. It supports both syncing from genesis and via "fast sync," providing configurable profiles for various trade-offs.
  • Free and Open Source: Reth is free open-source software, built for the community, by the community. By licensing the software under the Apache/MIT license, developers can use it without being bound by business licenses or concerns associated with GPL-like licenses.

Installation and Setup

Reth runs on Linux and macOS, with Windows support being tracked. There are three core methods to obtain Reth:

  • Pre-built binaries
  • Docker images
  • Building from source

For users with Docker installed, it's recommended to use the Docker Compose configuration that will get Reth, Lighthouse (Consensus Client), Prometheus, and Grafana running and syncing with just one command.

Hardware Requirements

The hardware requirements for running Reth depend on the node configuration and can change over time as the network grows or new features are implemented. The most important requirement is the disk, whereas CPU and RAM requirements are relatively flexible.

  • Archive Node: At least 2.2TB (TLC NVMe recommended)
  • Full Node: At least 1.2TB (TLC NVMe recommended)
  • Memory: 8GB+
  • CPU: Higher clock speed over core count
  • Bandwidth: Stable 24Mbps+

It's crucial to understand the difference between QLC and TLC NVMe drives when considering the disk requirement. TLC (Triple-Level Cell) NVMe drives offer faster performance and higher endurance compared to QLC (Quad-Level Cell) drives, making them more suitable for demanding tasks such as data-intensive applications.

Developer and Community Engagement

Reth is built by a Paradigm-funded core team, along with over 90 other contributors. The project emphasizes creating a high-quality implementation that is both secure and efficient, as well as being easy to use on consumer hardware. It also focuses on building a strong community of contributors who can help support and improve the software.

As of June 2024, Reth is production-ready and suitable for usage in mission-critical environments such as staking or high-uptime services. Professional node operators are actively recommended to switch to Reth in production for performance and cost reasons in use cases where high performance with great margins is required, such as RPC, MEV, Indexing, Simulations, and P2P activities.

Visit Reth