04.16.2024|Georgios Konstantopoulos
Today, we are excited to open source Reth AlphaNet, an OP Stack-compatible testnet rollup aimed at maximizing Reth performance and enabling experimentation of bleeding edge Ethereum Research.
With this post, we hope to get developers excited to contribute and build on AlphaNet with experiments, performance optimizations, and push the frontier of Ethereum systems research, engineering and tooling with us.
Reth AlphaNet is an OP Reth Rollup with the following characteristics:
Zooming in:
The whole codebase is <1500 lines of Rust code (LoC), including tests:
AlphaNet is now open sourced under the Apache/MIT permissive license, for anyone to fork, modify or launch.
AlphaNet is built on top of Reth, rather than forking it.
Our original vision of Reth describes it as not just a node, but a Software Development Kit (SDK), as legos for building EVM-centric infrastructure.
Forking nodes is extremely brittle, it's harder to propagate updates across the ecosystem and rebasing large feature branches is hard. It also means lack of principle around where code changes happen.
The Reth SDK is a new paradigm for building nodes, specifically built for customization and for the rollup-centric roadmap.
AlphaNet implements traits provided by the Reth SDK's Reth node builder API, allowing extreme customization without forking the node. This relates closely to the original Erigon architecture of a node that separates concerns and allows running components like the transaction pool or the RPC as separate processes. The Reth SDK takes it even further using Rust's advanced type system and clean abstractions.
Here are some example modifications you can do on the node:
We intend to share more information about how to use the Reth SDK (or Reth Core) in the coming months, as we drive it to feature completeness. We could not be more excited about this. For now, the examples and the NodeBuilder
are the best things to look for in the codebase.
We called it AlphaNet because it is “alpha” software for experimentation, but also “alpha” because it provides edge to developers that learn how to use its “developer preview” features.
AlphaNet's goals are:
EVMBuilder
API (PRs) which enables developers to extend the EVM with custom opcodes, instructions, gas tokens and more.Our short-term roadmap for AlphaNet is as follows:
foundryup --alphanet
command, so that any Foundry developer can access tooling for the node’s extensions.We're particulary excited for EIP-3074 on AlphaNet with Foundry and Rivet, and recommend the entire ecosystem to prepare for its upcoming deployment in Ethereum L1 as of the All Core Devs meeting on April 11th 2024. If you want to work on EIP-3074 Invokers, help clean up our Foundry integration, or contribute to Rivet, please reach out.
Medium-term:
We hope that Reth will be a fundamental building block for every Layer 2's scaling strategy.
Our long-term goal is to scale Ethereum and its L2 ecosystem together with the community. We will use AlphaNet as a feedback loop for pushing the frontier and deploying the best technology in production L1s and L2s. We invite the community to share with us what they'd like us to try out, or write code with us.
AlphaNet will be launched soon after Reth 1.0, before the end of Q2.
The Reth SDK provides very powerful abstractions for building modified performant nodes, and we think this is just the beginning. In the coming weeks we will be sharing everything we have been building with the Reth SDK. We will also share optimizations and architecture improvements for breaking through the performance and feature barriers required to reach web scale cryptocurrency.
We are looking for feedback and invite developers to contribute to the codebase on Github. Please reach out to georgios@paradigm.xyz if this sounds exciting.
Copyright © 2024 Paradigm Operations LP All rights reserved. “Paradigm” is a trademark, and the triangular mobius symbol is a registered trademark of Paradigm Operations LP