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

Idea: Add optimism deposit tx support #3255

Open
roninjin10 opened this issue Jan 23, 2024 · 2 comments
Open

Idea: Add optimism deposit tx support #3255

roninjin10 opened this issue Jan 23, 2024 · 2 comments

Comments

@roninjin10
Copy link
Collaborator

I would like to help add more optimism support to ethereumjs starting with supporting the deposit tx type. If we are interested in this change I'm happy to drive this.

Links

Description

I wish to add deposit transaction. This would be a major step to making ethereumjs able to run op stack chains.

Reasoning

There are two reasons I wish to make this change:

  1. Make Tevm able to fork blocks with tx

I'm currently building Tevm which wraps ethereumjs. It's like anvil but it runs in browser and node.js. It implements JSON-RPC (similar to client package) but uses the pending blocktag to represent 'optimist state' based on the users pending tx.

Currently I have to filter out deposittx when forking OP and building a block here

  1. OP-ethereumjs

I would like to be able to run the entire op stack against ethereumjs and deposit tx is a requirement to be able to do that. It might even be interesting to implement the op stack components in JS.

@roninjin10 roninjin10 self-assigned this Jan 23, 2024
@roninjin10 roninjin10 changed the title Idea: Add optimism deposit tx Idea: Add optimism deposit tx support Jan 23, 2024
@holgerd77
Copy link
Member

Hi there, yes, that would be highly interesting since Optimism is so close to mainnet behavior that we can very likely manage the overhead (realistically the only one where we will likely be able)!

So go ahead 🙂, also, if you funding or get paid for this work let me also know, we would likely be able to arrange something!

just seeing that you are also aware about this other PR #2713 where we already discussed this some time ago, guess it's safe to go ahead though. On the referenced PR I also landed with a generic solution of just having the possibility to skip certain tx types during block execution, which is basically fully implemented but for whatever reasons did not get merged yet. Let me know if this would also short-term be useful for you, then we can prioritize merging (guess it will likely still make sense to have this functionality in anyhow, since it is generically useful for similar cases).

@holgerd77
Copy link
Member

* [optimism geth diff](https://op-geth.optimism.io/)

Side note: this is likely the most impressive fork management I have ever seen! 🤯

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

2 participants