foundry-rs / foundry-rs/foundry
meta: Reth's built-in tracers
- 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
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