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

Add engine API to anvil #5994

Open
Tracked by #5 ...
roninjin10 opened this issue Oct 5, 2023 · 4 comments
Open
Tracked by #5 ...

Add engine API to anvil #5994

roninjin10 opened this issue Oct 5, 2023 · 4 comments
Labels
C-anvil Command: anvil T-feature Type: feature
Milestone

Comments

@roninjin10
Copy link
Contributor

Component

Anvil

Describe the feature you would like

The Engine API is currently in RETH but not supported in anvil. Adding the engine API to anvil would be generally useful. For example, it would allow Anvil to work seamlessly within a multichain OP-chain devnet running on top of anvil. Without the engine api this must be hacked around.

Additional context

Some links about OP node and engine api:

@mattsse
Copy link
Member

mattsse commented Oct 17, 2023

Adding the engine API to anvil would be generally useful. For example, it would allow Anvil to work seamlessly within a multichain OP-chain devnet running on top of anvil.

you want support for this in anvil so you have a node and still have all the cheat endpoints?
otherwise op-reth would be an option

I think we can add this as an opt-in feature, I can see how this could be useful. But could you elaborate on how this would be used?

@Evalir
Copy link
Member

Evalir commented Oct 17, 2023

Agree here with mattsse—this could be useful, we just need to scope it properly.

@roninjin10
Copy link
Contributor Author

@mattsse exactly! We want to be able to do everything anvil does like cheat endpoints and state dumps within a multichain devnet. We also are looking to contribute helping add this.

Link to issue: ethereum-optimism/mocktimism#5
Link to product document and eng doc: ethereum-optimism/mocktimism#1

@mattsse
Copy link
Member

mattsse commented Oct 17, 2023

okay, actually I think this shouldn't be too complex,

basically new_payload buffers received blocks
FCU then executes the block(s) and updates the state

there are def some limitations when it comes to full validation etc, but getting the newpayload and fcu endpoints working (optimistically without full validation) should be doable.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
C-anvil Command: anvil T-feature Type: feature
Projects
No open projects
Status: Todo
Development

No branches or pull requests

4 participants