erigontech / erigontech/silkworm
EVM: extend tracing API
- Dominant language
- C++
- Stars
- 318
- Forks
- 84
- PR merge metrics
- No merged PRs in 30d
Description
Currently, support for tracing in `evmone` is guaranteed by the [Tracer](https://github.com/ethereum/evmone/blob/master/lib/evmone/tracing.hpp#L19) interface, which happens to be good for many use cases, but not all of them: in particular, it lacks some key information for implementing `debug` and `trace` JSON-RPC API tracers (e.g. dynamic gas cost for opcodes, see #2153 #2167 #2172 #2181 #2187 #2211) and execution call tracer (e.g. some early-return positive cases and some negative scenarios, see #1706 #1710 and #1871).
Our idea is, first of all, extending the _current_ tracing API in `evmone`, for the purpose of exporting all the needed information and covering all the existing use cases. Then, we will do some performance assessment and evaluate alternative designs to improve the numbers.
@chfast we will do the first part of this work on our [fork](https://github.com/erigontech/evmone) of `evmone` and will ask for your review when done, then for your advice on the second part.
- [ ] tracing API extension and changes in debug tracers #2325
- [ ] changes for tracing API extension in trace tracers
- [ ] performance evaluation and alternative designs
- [ ] study new tracing hooks included in E3 https://github.com/erigontech/erigon/pull/14289
Contributor guide
Assessment
This issue has not been assessed yet.