foundry-rs / foundry-rs/foundry

meta: Reth's built-in tracers

Open
#5,855 2 comments 0 reactions 0 assignees View on GitHub
A-reth-anvil C-anvil T-feature T-meta T-post-V1
Dominant language
Rust
Stars
10.6k
Forks
2.6k
Avg merge
16h 38m
Merged PRs (30d)
511

Description

### Component

Anvil

### Describe the feature you would like

The requirement is pretty straight-forward: would be nice to have support for Reth's built-in tracers (namely `callTracer` & `prestateTracer`) in Anvil. This would help us build an intuitive UI inside [Rivet](https://github.com/paradigmxyz/rivet) for tracing & state changes on transactions (and calls).

It was [noted in a previous issue](https://github.com/foundry-rs/foundry/issues/4110#issuecomment-1575919746) that there may be consolidation efforts to bring native tracers over from Reth and into Anvil, and an option (for the meantime) was also raised to just copy-paste the Reth native tracer implementation into Anvil for the time being. I am happy to give the copy-paste part a shot if the consolidation efforts are not to happen anytime soon, but if it is, I am happy to wait!

Related:

- [x] https://github.com/foundry-rs/foundry/issues/9569
- [x] https://github.com/foundry-rs/foundry/issues/8776
- [x] https://github.com/foundry-rs/foundry/issues/6764

Contributor guide

Open the contributing guide

Research direction

Start with Anvil's tracing support and compare the existing behavior with Reth's built-in callTracer and prestateTracer implementations. Review related issues 9569, 8776, and 6764, plus issue 4110, to understand the consolidation direction. Done means Anvil supports both tracers for transaction and call tracing, including state changes.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
blockchain, devtools
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.