Skip to content

0xBloctopus/arbitrum-reth

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

638 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Arbitrum Reth

license lint test build codecov DeepWiki

A modular, Rust-native execution client for Arbitrum, built on reth.

What is Arbitrum Reth?

Arbitrum Reth is a ground-up Rust implementation of Arbitrum Nitro's execution layer. It replaces Nitro's embedded Geth fork with reth, delivering the same state-transition logic through a modular crate architecture designed for extensibility.

Each component (ArbOS state management, L1/L2 pricing, precompiles, Stylus WASM execution) lives in its own crate and builds on reth's trait system (BlockExecutor, StateProvider, EvmConfig). This makes Arbitrum Reth usable both as a full node and as an SDK for building Arbitrum-compatible tooling and infrastructure.

Supported networks: Arbitrum Sepolia (421614)

Quick Start

Docker (recommended)

cp .env.example .env
# Set PARENT_CHAIN_RPC_URL and PARENT_CHAIN_BEACON_URL
docker compose up -d

Build from Source

Requirements: Rust 1.93+, clang, cmake

cargo build --release -p arb-reth

Run the node:

./target/release/arb-reth node \
  --chain=genesis/arbitrum-sepolia.json \
  --datadir=/path/to/data \
  --http \
  --http.addr=0.0.0.0 \
  --http.api=eth,web3,net,debug \
  --authrpc.addr=0.0.0.0 \
  --authrpc.jwtsecret=/path/to/jwt.hex
Port Service
8545 JSON-RPC (HTTP)
8551 Engine API (JWT auth)

See .env.example for all configuration options.

Architecture

Arbitrum Reth is organized as a Cargo workspace of focused, independently consumable crates:

crates/
├── arbos/             Core ArbOS state machine, pricing models, retryables
├── arb-evm/           Block executor, custom opcodes, EVM integration
├── arb-precompiles/   Arbitrum precompile contracts (0x64+)
├── arb-stylus/        Stylus WASM runtime and host functions
├── arb-primitives/    Transaction types, receipts, gas types
├── arb-chainspec/     Chain spec and ArbOS version constants
├── arb-storage/       Storage-backed types over reth's StateProvider
├── arb-node/          Node builder plugin for reth
├── arb-rpc/           Custom JSON-RPC methods
├── arb-payload/       Payload building primitives
└── arb-txpool/        Transaction pool validation

bin/
├── arb-reth/          Node binary
└── gen-genesis/       Genesis state generator

All crates integrate with the reth ecosystem through its standard traits and can be consumed individually as libraries for custom tooling, indexers, or alternative node configurations.

Contributing

git clone https://github.com/0xBloctopus/arbitrum-reth.git
cd arbitrum-reth
cargo check
cargo test

Please open an issue before starting work on larger changes.

License

Licensed under the Business Source License 1.1, consistent with the Arbitrum Nitro license. See LICENSE.md and NOTICE for full terms and third-party attributions.

Acknowledgements

Arbitrum Reth builds on the work of several projects:

  • reth by Paradigm, the modular Ethereum execution client that provides the node framework, trait system, and database infrastructure that Arbitrum Reth extends.
  • Arbitrum Nitro by Offchain Labs, the Arbitrum node implementation that Arbitrum Reth is derived from.
  • revm, the Rust EVM that powers transaction execution.
  • alloy, Rust types and primitives for the Ethereum ecosystem.

About

A modular, Rust-native execution client for Arbitrum, built on reth

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages