Skip to content

Reth v0.1.0-alpha.1

Compare
Choose a tag to compare
@github-actions github-actions released this 20 Jun 15:13
· 5659 commits to main since this release
b245193

image

Summary

Read the announcement post for a full overview of Reth's alpha release

Last year we set out to build Reth, a modular, contributor-friendly and blazing fast implementation of the Ethereum protocol, in Rust.

Today, we're excited to announce that Reth is entering its alpha with version 0.1.0 under the permissive Apache/MIT license. We are inviting node operators and users to run nodes and use Reth's crates to build exciting EVM-centric infrastructure.

This release includes:

  • A new Ethereum execution layer
  • A new SDK for building EVM-centric infrastructure

What's included?

Reth can sync any Ethereum-like network (mainnet, Sepolia, Goerli etc.), up to Shanghai. Reth includes a new performant implementation of the debug_ and trace_ JSON-RPC namespaces.

Reth achieves state of the art archive node performance on the most important areas when evaluating a node:

  • Storage: <2TB database size at block 17.4M.
  • Syncing Speed: Bootstrapping the chain from genesis to block 17.4M in 50 hours.
  • Robustness: Reliably tracks the tip without falling behind under heavy RPC load.
  • Querying the chain: State of the art RPC throughput and latency.

image

Compared Erigon v2.43.0 vs Reth v0.1.0-alpha.1 on Latitude c3.large.x86 on RAID0'd drives.

Reth as a library

Reth is an ecosystem of high-quality abstractions for building EVM infrastructure. You can think of Reth as an SDK, with the node just being the first application.

We provide performant and documented modules and abstractions for complex operations like block building, transaction simulation, mempools, chain indexing, P2P networking, the RPC, and more. All packages are licensed under the Apache/MIT dual-license, for free, permissive use by everyone.

You can imprt Reth's various components as a library by adding the following to your Cargo.toml (replacing reth-db with your favorite package):

reth-db = { git = "https://github.com/paradigmxyz/reth" }

See a complete list of our packages here.

We are looking to improve documentation, build examples, and gather feedback for additional use cases for Reth as a library. If you experience pain points, or have other feedback, please open up an issue on our issue tracker.

What's next?

While this is still early days, Reth already shows promising performance characteristics, which we're excited to further improve in the future. We would also like to make our benchmarking methodology more robust and reproducible by third parties.

The core Reth team is going to be focusing on:

  1. Shipping the Ethereum roadmap, with Cancun & EIP-4844 as our top priority, and contributing to the Core Development process.
  2. Improving stability of the existing feature set.
  3. Shipping key node quality of life features, like non-archive sync and snapshots.

We will continue expanding documentation and testing of the codebase, to improve robustness and make integrations easier.

We invite developers and node operators to try out Reth and let us know what they think. Like with Foundry, our culture remains developer-first, devoted to tight feedback loops with a high bar.

We cannot wait to see what you will build with Reth!

All Changes

  • Initial release.

Binaries

See pre-built binaries documentation.

The binaries are signed with the PGP key: A3AE 097C 8909 3A12 4049 DF1F 5391 A3C4 1005 30B4

System Architecture Binary PGP Signature
x86_64 reth-v0.1.0-alpha.1-x86_64-unknown-linux-gnu.tar.gz PGP Signature
aarch64 reth-v0.1.0-alpha.1-aarch64-unknown-linux-gnu.tar.gz PGP Signature
x86_64 reth-v0.1.0-alpha.1-x86_64-pc-windows-gnu.tar.gz PGP Signature
x86_64 reth-v0.1.0-alpha.1-x86_64-apple-darwin.tar.gz PGP Signature
aarch64 reth-v0.1.0-alpha.1-aarch64-apple-darwin.tar.gz PGP Signature
System Option - Resource
Docker v0.1.0-alpha.1 paradigmxyz/reth