Skip to content
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

refactor(bus-mapping): use revm to re-calculate stack locally #908

Open
lispc opened this issue Sep 6, 2023 · 0 comments
Open

refactor(bus-mapping): use revm to re-calculate stack locally #908

lispc opened this issue Sep 6, 2023 · 0 comments

Comments

@lispc
Copy link

lispc commented Sep 6, 2023

Describe the feature you would like

replay tx inside bus-mapping using revm, so we can update stack locally.

benefit:

  1. remove stack in StructLog
  2. in future, we can only use preState + txs to execute them locally, remove the need for trace totally
  3. the local revm can be used as a "play ground" for more experiments (before really apply them in geth). Like "counter" method.

we will have some design choice: whether to use context like returndata inside revm, or still keep our old mechanism.

some sub tasks:

  1. pick the "native pre state tracer" PR from upstream to our l2geth eth/tracers: native prestate tracer ethereum/go-ethereum#24268
  2. refactor: use preStateTracer  #840 use preStateTracer to get access list
  3. further optimization of "Trace" struct. eg: keep only one copy of "preState", and stores only "access list" (instead of proof) inside "TxStorageTrace".

there is no reason with "optimized rust ccc" module, l2geth tps being below 50% of original

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant