This library provides a lightweight local tracer for Ethereum Virtual Machine (EVM) execution, leveraging the power of revm and reth-inspector.
- Local Tracing: Trace transactions and smart contract executions directly on your machine, without relying on a full node. This is ideal for:
- Cost-effective development: Experiment and debug smart contracts locally without incurring the cost of running a full node.
- Struct Traces: Capture detailed struct information, which may not be available from some node providers.
- Use public RPCs: Free public RPC endpoints like the ones listed on chainlist.org don't usually directly support tracing. They can be used however to trace locally, like with this library. Note that historical tracing still requires an archive node in most cases.
Note: If you don't require a lightweight solution, consider using Anvil instead.
cargo run --example geth_struct_trace --features examples
Currently the library only supports Geth's Struct, Call and Prestate traces. Feel free to add more!
For development purposes, the library currently uses forked versions of revm
and reth-inspector
to ensure dependency compatibility.