ethereumjs-monorepo
ethereumjs-monorepo copied to clipboard
VM: Support EIP-3155 EVM trace specification
Once we have the debug logger from #1269 back in place we could actually relatively easily support this by adding a dedicated trace (or so, naming scheme has TBD) or so debug logger.
This would at least be some start and it could e.g. be used for our internal use cases but also by others. Not sure if this is sufficient and this should also be added as some kind of a) new event or b) as part of the step event or c) have the step event modified in a way that it get's compatible. 😄
Thoughts?
@jochem-brouwer mentioned in https://github.com/ethereumjs/ethereumjs-monorepo/issues/1169#issuecomment-808744216 that he started thinking about how to implement this EIP, would be great to hear more info/details, I asked in a more recent comment further down on the issue (https://github.com/ethereumjs/ethereumjs-monorepo/issues/1169#issuecomment-859935662)
@ryanio here are some edge cases which need further discussion, as they are either not in the EIP, or from my point of view they are inconsistent; magicians post.
#1553
Old issue, needs to get an update how the whole discussion has evolved.
Absolutely no urgency.
Since Geth has recently updated their tracing specs such that (as far as I can see) they now match the spec, this is something which we can start on. It indeed has no urgency. However, it would be very nice if we have matching traces - if all clients would match a certain trace specification and implement tools to re-execute bad blocks and get their traces, then it would be incredibly helpful to quickly figure out where the clients diverge and thus fix this quickly.