ethereumjs-monorepo icon indicating copy to clipboard operation
ethereumjs-monorepo copied to clipboard

VM: Support EIP-3155 EVM trace specification

Open holgerd77 opened this issue 4 years ago • 8 comments

There is a unified trace specification in the works with EIP-3155 which we should support.

holgerd77 avatar Apr 21 '21 09:04 holgerd77

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?

holgerd77 avatar Jun 11 '21 10:06 holgerd77

@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 avatar Jun 11 '21 23:06 ryanio

@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.

jochem-brouwer avatar Jul 19 '21 20:07 jochem-brouwer

#1553

jochem-brouwer avatar Dec 10 '21 10:12 jochem-brouwer

Old issue, needs to get an update how the whole discussion has evolved.

Absolutely no urgency.

holgerd77 avatar Jul 04 '22 15:07 holgerd77

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.

jochem-brouwer avatar Jul 04 '22 16:07 jochem-brouwer