-
Notifications
You must be signed in to change notification settings - Fork 1.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
tracing: pass *tracing.Hooks
around instead of vm.Config
#2846
tracing: pass *tracing.Hooks
around instead of vm.Config
#2846
Conversation
Passing `*tracing.Hooks` makes the intent clearer and ensure the `applyTransaction` controls the creationg of the `vm.Config`.
@maoueh may I know how would you use these new tracer hook interface?
Seems like #2772 only effect live tracer, which only contain 2 tracer type:
Here is the output in file: liveTracerSupply
|
@zzzckck We have a The Historically we maintained our own tracing API inside Geth node directly and for forks like BSC and Polygon, last year we contributed back to Geth directly working up with their team to revamp the tracing API to trace all state changes using live tracer that traces blocks as the node synchronize with the network. You can see for example how current production BSC older tracer is tracing system transactions: https://github.com/streamingfast/go-ethereum/blob/release/bsc-1.x-fh2.5/consensus/parlia/parlia.go#L1970-L1973. About the live tracer supply specifically, I can't seems to find back the source of it, but AFAIK it does hook |
noted, thank you for your statement. |
I could try to find out who uses
But they are still traced no and should emit |
Description
Passing
*tracing.Hooks
makes the intent clearer and ensure theapplyTransaction
controls the creation of thevm.Config
.Follow-up of #2772.
Rationale
#2772 (comment).