# Awesome Revm

A curated list of excellent Revm-related resources. Feel free to contribute to this list!

#### Repositories
- [**Main Repo:** Revm Repository](https://github.com/bluealloy/revm) - The central code repository for Revm.
- [**Book:** ](https://bluealloy.github.io/revm/) - Comprehensive user documentation for Revm.

#### Audits
- [**Community driven Audit done by Guido Vranken**](https://rakita.github.io/blog/blog/005-revm-audit/)

#### API Extensions:
- [**alloy-evm**](https://github.com/alloy-rs/evm) is an abstraction layer on top of revm providing common implementations of EVMs
- [**Trevm**](https://github.com/init4tech/trevm) is a typestate API wrapper for revm

#### Clients
- [**Reth:**](https://github.com/paradigmxyz/reth) A modular, contributor-friendly, and ultra-fast implementation of the Ethereum protocol.
- [**Helios**](https://github.com/a16z/helios) is a trustless, efficient, and portable multichain light client written in Rust.
- [**Trin**](https://github.com/ethereum/trin) is a Rust implementation of a Portal Network client.

#### EVM Variants
- [**Optimism**](https://github.com/bluealloy/revm/tree/main/crates/op-revm) is a ethereum L2 network.
- [**Base**](https://www.base.org/) is an Ethereum Layer 2 (L2) chain that offers a safe, low-cost, developer-friendly way to build on-chain
- [**Scroll**](https://github.com/scroll-tech/revm) is its own Layer 2 network built on Ethereum (more specifically, a “zero-knowledge rollup”).

#### Tools
- [**Foundry:**](https://github.com/foundry-rs/foundry) A portable and modular toolkit for rapid Ethereum application development in Rust.
- [**Hardhat:**](https://github.com/NomicFoundation/hardhat) A comprehensive development environment for compiling, deploying, testing, and debugging Ethereum software.
- [**Arbiter:**](https://github.com/harnesslabs/arbiter) smart-contract simulation.

#### Frameworks and Libraries
- [**revm-inspectors:**](https://github.com/paradigmxyz/revm-inspectors) Hooks for EVM execution.
- [**eip3074-instructions:**](https://github.com/paradigmxyz/eip3074-instructions) Implements custom instructions for AUTH and AUTHCALL operations.
- [**Revmc:**](https://github.com/paradigmxyz/revmc) JIT and AOT compiler for the Ethereum Virtual Machine, leveraging Revm.
- [**Risc0-ethereum**](https://github.com/risc0/risc0-ethereum) is a zero-knowledge verifiable general computing platform, with Ethereum integration
- [**Kona**](https://github.com/op-rs/kona) is a suite of portable implementations of the OP Stack rollup state transition, namely the derivation pipeline and the block execution logic.
- [**mevlog-rs**](https://github.com/pawurb/mevlog-rs): Rust-based CLI tool for querying and monitoring Ethereum blockchain transactions, with flexible filtering and EVM tracing capabilities. It's a tool for MEV searchers who prefer command-line workflows over web-based explorers.   


#### Tutorials
- [**MyEvm**](https://github.com/bluealloy/revm/tree/main/examples/my_evm): Custom EVM Implementation Example
- [**Revm is All You Need:**](https://medium.com/@solidquant/revm-is-all-you-need-e01b5b0421e4): Guide on building simulated blockchain environments.
- [**Uniswap Swap Example:**](https://github.com/bluealloy/revm/tree/main/examples/uniswap_get_reserves) Demonstrates a USDC swap on Uniswap V2.
- [**revm-by-example:**](https://github.com/greekfetacheese/revm-by-example) Practical examples using the Rust Ethereum Virtual Machine.
- [**How to Discover long-tail MEV Strategies using Revm**](https://pawelurbanek.com/long-tail-mev-revm) 
