Hanzo
Hanzo Skills Reference

Hanzo EVM - Rust Execution Engine for Post-Quantum Web3

Hanzo EVM is a Rust-based EVM execution engine — fork of paradigmxyz/reth v1.11.0, rebranded for the Hanzo ecosystem.

Overview

Hanzo EVM is a Rust-based EVM execution engine — fork of paradigmxyz/reth v1.11.0, rebranded for the Hanzo ecosystem. Designed as a modular toolkit for building post-quantum Web3 infrastructure, L2/L3 app chains, and high-performance blockchain nodes.

Why Hanzo EVM?

  • Modular architecture: Plug-and-play components for custom chains
  • Post-quantum ready: Integration with Hanzo PQC (ML-KEM, ML-DSA)
  • High performance: Parallel EVM execution, optimized storage
  • Clean abstractions: Neutral naming, beautiful API surface
  • Full reth compatibility: All upstream features + Hanzo extensions

OSS Base

Fork of paradigmxyz/reth v1.11.0. Rust edition 2024, MSRV 1.93.

NOTE: Crate rename is in progress. The binary is hanzo-evm and bin/hanzo-evm/ exists, but most workspace dependency names still reference reth-* internally. The naming convention below describes the target state.

When to use

  • Building blockchain nodes with EVM execution
  • L2/L3 app chain development on Lux or standalone
  • Post-quantum Web3 infrastructure
  • High-performance transaction processing
  • Custom consensus + EVM combinations

Hard requirements

  1. Rust 1.93+ (edition 2024)
  2. ~1300+ source files across workspace
  3. Build: cargo build --release (~15-30 min first build)

Quick reference

ItemValue
Binaryhanzo-evm
Repogithub.com/hanzoai/evm
Upstreamparadigmxyz/reth v1.11.0
Rust edition2024
MSRV1.93
Buildcargo build --release
Testcargo test
LicenseMIT OR Apache-2.0

Naming Convention

LayerConventionExample
Crate nameshanzo-evm-*hanzo-evm-execution
Module importshanzo_evm_*hanzo_evm_execution
Internal modulesclean/neutralmod evm;
Typesclean Evm*EvmApi, EvmRpcModule
Env varsEVM_*neutral, no hanzo prefix
Config/dataneutralevm.toml, evm/, evm.ipc
Binaryhanzo-evmsingle binary

Key Renames from reth

rethHanzo EVMRationale
reth (binary)hanzo-evmBrand identity
reth-evmhanzo-evm-executionAvoid hanzo-evm-evm
reth-evm-ethereumhanzo-evm-eth-executionClean naming
reth-ethereumhanzo-evm-ethereumUmbrella crate
reth-nippy-jarhanzo-evm-nippy-jarLib name = hanzo_evm_nippy_jar
reth-primitiveshanzo-evm-primitivesCore types
reth-dbhanzo-evm-dbStorage layer
reth-rpchanzo-evm-rpcJSON-RPC
reth-networkhanzo-evm-networkP2P networking
reth-consensushanzo-evm-consensusConsensus interface
reth-payload-builderhanzo-evm-payload-builderBlock building
reth-transaction-poolhanzo-evm-transaction-poolMempool

Workspace Crates (Key)

Core

CratePurpose
hanzo-evmMain binary + CLI
hanzo-evm-primitivesCore types (Block, Transaction, Receipt)
hanzo-evm-executionEVM execution engine
hanzo-evm-ethereumEthereum umbrella (mainnet, sepolia, holesky)
hanzo-evm-eth-executionEthereum-specific EVM rules

Storage

CratePurpose
hanzo-evm-dbDatabase abstraction (MDBX)
hanzo-evm-db-apiDatabase trait interfaces
hanzo-evm-db-commonShared DB utilities
hanzo-evm-nippy-jarCompressed static file storage
hanzo-evm-stagesSync pipeline stages
hanzo-evm-static-file-typesStatic file type definitions

Networking

CratePurpose
hanzo-evm-networkP2P networking (devp2p)
hanzo-evm-network-apiNetwork trait interfaces
hanzo-evm-discv4Node discovery v4
hanzo-evm-discv5Node discovery v5
hanzo-evm-dns-discoveryDNS-based discovery
hanzo-evm-eth-wireEthereum wire protocol

RPC

CratePurpose
hanzo-evm-rpcJSON-RPC server
hanzo-evm-rpc-apiRPC trait interfaces
hanzo-evm-rpc-eth-apieth_* namespace
hanzo-evm-rpc-engine-apiEngine API (consensus layer)

Consensus

CratePurpose
hanzo-evm-consensusConsensus trait + validators
hanzo-evm-auto-sealDev mode auto-sealing
hanzo-evm-beacon-consensusBeacon chain consensus

Block Building

CratePurpose
hanzo-evm-payload-builderBlock payload construction
hanzo-evm-transaction-poolTransaction mempool
hanzo-evm-basic-payload-builderDefault payload builder

One-file quickstart

# Build from source
git clone https://github.com/hanzoai/evm.git
cd evm
cargo build --release

# Run mainnet node
./target/release/hanzo-evm node --chain mainnet

# Run with HTTP + WS RPC
./target/release/hanzo-evm node \
  --chain mainnet \
  --http \
  --http.port 8545 \
  --http.api eth,net,web3,debug,trace \
  --ws \
  --ws.port 8546

# Run dev mode (auto-sealing)
./target/release/hanzo-evm node --dev

# Custom data directory
EVM_DATA_DIR=/data/evm ./target/release/hanzo-evm node --chain mainnet

CLI Commands

hanzo-evm node                    # Run full node
hanzo-evm node --dev              # Development mode
hanzo-evm init                    # Initialize database
hanzo-evm import <file>           # Import blocks from file
hanzo-evm db stats                # Database statistics
hanzo-evm db diff                 # Compare DB states
hanzo-evm p2p header <hash>       # Fetch header via P2P
hanzo-evm p2p body <hash>         # Fetch body via P2P
hanzo-evm stage run --stage <n>   # Run specific sync stage
hanzo-evm recover storage-tries   # Recover storage tries

Configuration (evm.toml)

[node]
chain = "mainnet"
datadir = "/data/evm"
instance = 1

[rpc]
http = true
http_addr = "0.0.0.0"
http_port = 8545
ws = true
ws_port = 8546

[network]
port = 30303
max_peers = 100

[stages.sync]
pipeline_batch_size = 10000

Design Principles

  1. Crate names: hanzo-evm-* (required for publishing)
  2. Internal code: FREE of hanzo branding unless necessary
  3. No compound words: Evm not HanzoEvm
  4. Neutral env/config: EVM_* not HANZO_EVM_*
  5. Clean, beautiful, simple to build a Hanzo node with

Architecture Vision

  • Hanzo EVM = execution engine / toolkit for Post-Quantum Web3
  • L2/L3 app chains on Lux consensus for verticals (commerce, AI compute)
  • Eventual L1 capability; toolkit supports all layers
  • Commerce chain: blockchain backend for Hanzo Commerce
  • Fork alloy + revm for full post-quantum ZK EVM stack

Troubleshooting

IssueCauseSolution
Build failsRust too oldInstall Rust 1.93+
MDBX errorMax readersIncrease EVM_DB_MAX_READERS
Sync stallsNetwork issuesCheck peers with hanzo-evm p2p info
OOM on buildLow memoryUse cargo build -j 2 to limit parallelism
  • hanzo/hanzo-node.md - Distributed AI node (uses EVM plugin)
  • hanzo/rust-sdk.md - Rust SDK (PQC crypto for EVM)
  • hanzo/hanzo-contracts.md - Smart contracts deployed on EVM

How is this guide?

Last updated on

On this page