finds.dev← search

// the find

bluealloy/revm

★ 2,197 · Rust · MIT · updated Jun 2026

Rust implementation of the Ethereum Virtual Machine.

revm is a Rust EVM implementation that has become the de facto standard execution engine for Ethereum tooling. If you're building anything that needs to run EVM bytecode — a client, a testing framework, a zkVM, an L2 — this is what you reach for. It's not an experiment; Foundry, Reth, Optimism, and major block builders all run on it.

The crate decomposition is well-thought-out: bytecode, context, interpreter, handler, precompile, and inspector are all separate crates with their own changelogs and versioning, so you can take only what you need. The inspector API is genuinely useful — it gives you opcode-level hooks for building tracers and debuggers without forking the core. The precompile coverage is serious: BLS12-381 with both blst and arkworks backends, KZG point evaluation, secp256r1, and the EIP-4844 precompiles are all there. The framework API lets you fork the execution pipeline at the handler level, which is how Optimism wires in its custom fee logic without maintaining a separate EVM implementation.

The framework extension API (building your own EVM variant) has a steep learning curve and the book doesn't fully bridge the gap — the 'MyEvm' example is thin for what you actually need to know to wire up a non-trivial customization. MSRV policy is explicitly 'whatever the latest stable is,' which will break builds in downstream crates that pin Rust versions for reproducibility. Security reporting goes to a personal email address, which is fine for now but will become a problem as more critical infrastructure depends on this. The async story is limited — AlloyDB provides async database access but the core execution path is synchronous, so integrating into fully async runtimes requires careful thread handling.

View on GitHub → Homepage ↗

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →