Awesome Ethereum Rust repos
- Consensus
- Execution
- EVM - Ethereum Virtual Machine
- Core
- Light Clients
- Scaling
- PBS - Proposer-Builder Separation
- Account Abstraction
- ZKP and zkEVM
- Statelessness
- Layer 2
- dApp Development
- Smart Contracts
- Data Analytics
- Lighthouse. Ethereum consensus client.
- ethereum-consensus. A library for interacting with Ethereum consensus objects.
- beacon-api-client. A client for the Ethereum beacon node APIs.
- discv5. Rust implementation of Discovery v5.
- libp2p. The Rust implementation of the libp2p networking stack.
- Reth. Ethereum execution client.
- Akula. Ethereum execution client - deprecated.
- ranger. Ranger is an ethereum p2p client capable of interacting with peers without a full node.
- ethrex. Lambda Ethereum Rust Execution client.
- Revm. Rust Ethereum virtual machine (revm) Is EVM written in rust that is focused on speed and simplicity.
- jitevm. Convert evm bytecode to native machine code and go vroom.
- evm-disassembler. Rust library to disassemble evm bytecode.
- create2crunch. A Rust program for finding salts that create gas-efficient Ethereum addresses via CREATE2.
- balls. A DSL for generating optimal EVM bytecode.
- evm-inspectors. EVM Execution Hooks for revm.
- revmc. JIT and AOT compiler for the Ethereum Virtual Machine, built on Revm.
- evm_mlir. An EVM written with MLIR.
- pevm. Blazingly fast Parallel EVM in Rust.
- alloy. Alloy connects applications to blockchains. Transports, Middleware, and Networks for the Alloy project. Rewrite of ethers-rs.
- alloy core. High-performance, well-tested & documented core libraries for Ethereum.
- chains. Canonical type definitions for EIP-155 chains.
- ethers-rs. Complete Ethereum library and wallet implementation.
- Reth. Modular, contributor-friendly and blazing-fast implementation of the Ethereum protocol.
- ethers-reth. An ether-rs middleware to access reth's db directly, bypassing JSON-RPC.
- rust-web3. Ethereum JSON-RPC multi-transport client. Rust implementation of web3 library.
- ssz-rs. Implementation of Ethereum's ssz.
- ethereum_ssz. SimpleSerialize (SSZ) implementation optimised for speed and security.
- ssz_types. List, vector and bitfield types for SSZ.
- rlp. Fast implementation of Ethereum RLP serialization.
- enr. This crate contains an implementation of an Ethereum Node Record (ENR) as specified by EIP-778.
- Rust Crypto. Dozens of popular crates which provide pure Rust implementations of cryptographic algorithms.
- uint. Rust Uint crate using const-generics.
- Trin. An Ethereum portal client: a json-rpc server with nearly instant sync, and low CPU & storage usage.
- Helios. A fast, secure, and portable light client for Ethereum.
- Ethereum zk light client. Ethereum zk light client leveraging Sphinx (fork of SP1).
- sp1-helios. On-chain Ethereum light client built with SP1.
- proto-danksharding-crypto.
- kzg. A library for KZG commitments over BLS12-381 in Rust. Proto-Danksharding Cryptography.
- c-kzg-4844. Minimal 4844 version of c-kzg (bindings for Rust).
- KZG Ceremony Sequencer. This implements KZG Ceremony Specification.
- kateth. Ethereum KZG.
- mev-rs. A gateway to a network of block builders.
- evangelion. A prototype Ethereum block builder.
- ethers-flashbots. An Ethers middleware for submitting Flashbots bundles.
- Artemis. A simple, modular, and fast framework for writing MEV bots.
- Hindsight. Retroactively estimate Uniswap-ish MEV on Flashbots MEV-Share by simulating backrun-arbitrages.
- mev-share-rs. Rust client library for Flashbots MEV-share.
- mev-inspect-rs. Discover historic Miner Extractable Value (MEV) opportunities.
- suave-andromeda-revm. Andromeda revm execution service - EVM with precompiles used internally by SUAVE for key management and boostrapping kettles.
- rbuilder. rbuilder is a blazingly fast, state of the art Ethereum MEV-Boost block builder written in Rust.
- Brontes. A blazingly fast general purpose blockchain analytics engine specialized in systematic mev detection.
- Silius. ERC-4337 (Account Abstraction) - modular and efficient bundler implementation.
- Rundler. An ERC-4337 Bundler in Rust - high-performance, modular implementation of an ERC-4337 bundler.
- ethers-userop. An ether-rs middleware to craft user operations.
- UoIndexer. User operation indexer for ERC-4337.
- Zeth. A "Type 0" zkEVM. Prove validity of Ethereum blocks using RISC Zero's zkVM.
- zkevm-circuits. Circuits for zkEVM.
- halo2. Implementation of halo2 zkSNARK proof system.
- chiquito. DSL for Halo2 circuits.
- lambdaworks. The library for kids who wanna learn how to do SNARKs and learn other cryptographic stuff too.
- noir-lang. Noir is a domain specific language for zero knowledge proofs.
- sp1. A performant, 100% open-source, contributor-friendly zkVM.
- sp1-reth. A performant, type-1 zkEVM written in Rust & SP1.
- rsp. A minimal implementation of ZKPs of Ethereum block execution using Reth.
- rust-verkle. This is a proof of concept implementation of Verkle Tries.
- verkle-block-sample. Example of a block root with a Verkle state root.
- Stylus. Rust Smart Contracts on Arbitrum.
- op-reth. Optimism + Reth.
- Reth AlphaNet. Reth AlphaNet is a testnet OP Stack-compatible rollup aimed at enabling experimentation of bleeding edge Ethereum Research.
- Magi. A blazing fast OP Stack rollup client.
- op-revm. Optimism + Revm.
- cannon-rs. An alternative implementation of the OP Stack's Cannon, a MIPS emulator for the EVM.
- optimism-rs. Scaling Ethereum, but this time in rust.
- op-up. Composable OP Stack Orchestration.
- durin. A Rust library for creating solvers in the OP Stack's dispute protocol.
- op-alloy. Optimism alloy types.
- kona.
A suite of
no_std
components for the OP Stack state transition function. - op-succinct. Standalone repo to use Kona & SP1 to verify OP Stack blocks.
- odyssey. A testnet open-source Layer 2 from the future, co-designed with the developer tools stack.
- plonky2. Plonky2, a SNARK implementation based on techniques from PLONK and FRI.
- scroll-prover. Scroll's zkEVM rust crates.
- Starknet Foundry. Blazing fast toolkit for developing Starknet contracts.
- Madara. Madara is a blazing fast Starknet sequencer, based on substrate.
- Papyrus. Papyrus is a Starknet full node written.
- starknet-rs. Complete Starknet library.
- Cairo. Cairo is the first Turing-complete language for creating provable programs for general computation.
- cairo-vm. cairo-vm is a Rust implementation of the Cairo VM.
- starknet_in_rust. A Rust implementation of Starknet execution logic.
- types-rs. Starknet Rust types.
- Stone Prover. Stone prover - this repository contains a prover and a verifier for STARKs, and in particular for the CPU AIR underlying the CairoZero programming language.
- cairo_native. A compiler to convert Cairo's intermediate representation "Sierra" code to MLIR.
- zksync-era. zkSync era.
- era-sync_vm. Circuit Implementation of zkVM for zkSync Era.
- era_vm. EraVM implementation.
- raiko. Multi-proofs for Taiko. SNARKS, STARKS and Trusted Execution Enclave.
- Sway. Sway is a language developed for the Fuel blockchain. It is heavily inspired by Rust and aims to bring modern language development and performance to the blockchain ecosystem.
- fuel-core. Rust full node implementation of the Fuel v2 protocol.
- fuels-rs. Rust SDK for Fuel.
- aztec-nr. Aztec-nr is a Noir framework for smart contracts on Aztec.
- zenith-rs. Rust types and services for Zenith (next-gen rollup system).
- Foundry. Foundry is a blazing fast, portable and modular toolkit for Ethereum application development.
- Rivet. Developer Wallet & DevTools for Anvil.
- solar. Blazingly fast, modular and contributor friendly Solidity compiler, written in Rust.
- Heimdall. Heimdall is an advanced EVM smart contract toolkit specializing in bytecode analysis.
- ethabi. Encode and decode smart contract invocations.
- Pyrometer. A tool for analyzing the security and parameters of a solidity smart contract.
- Fe. Emerging smart contract language for the Ethereum blockchain.
- svm-rs. Solidity-Compiler Version Manager.
- huff-rs. A low-level assembly language for the Ethereum Virtual Machine built in blazing-fast pure rust.
- cryo. cryo is the easiest way to extract blockchain data to parquet, csv, json, or python dataframes.
- block-explorers. Bindings for the etherscan API and other block explorers.