Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Getting started

Ethrex is a minimalist, stable, modular and fast implementation of the Ethereum protocol in Rust. The client supports running in two different modes:

  • As a regular Ethereum execution client
  • As a multi-prover ZK-Rollup (supporting SP1, RISC Zero and TEEs), where block execution is proven and the proof sent to an L1 network for verification, thus inheriting the L1's security. Support for based sequencing is currently in the works.

We call the first one "ethrex L1" and the second one "ethrex L2".

Quickstart

L1: Run an Ethereum Node

Follow these steps to quickly launch an Ethereum L1 (mainnet) node using Docker. For advanced details, see the links at the end.

Supported Networks

  • mainnet
  • sepolia
  • holesky
  • hoodi

By default, the command below runs a node on mainnet. To use a different network, change the ETHREX_NETWORK environment variable with one of the networks above.

curl -LO https://raw.githubusercontent.com/lambdaclass/ethrex/refs/heads/main/docker-compose.yaml
ETHREX_NETWORK=mainnet docker compose up

This will start an ethrex node along with a Lighthouse consensus client that syncs with the Ethereum network.

L2: Run an L2 Node

Follow these steps to quickly launch an L2 node using Docker. For advanced details, see the links at the end.

docker run -p 1729:1729 ghcr.io/lambdaclass/ethrex:main l2 --dev

This will start a local L1 and L2 network.

Where to Start