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

feat(rpc): Engine API #11

Open
merklefruit opened this issue Aug 22, 2024 · 4 comments
Open

feat(rpc): Engine API #11

merklefruit opened this issue Aug 22, 2024 · 4 comments
Labels
A-hera Area: OP Stack Rollup node binary A-rpc Area: rpc crate C-enhancement New feature or request

Comments

@merklefruit
Copy link
Collaborator

merklefruit commented Aug 22, 2024

The rollup node is going to need to communicate with an L2 execution client through its exposed engine-api.
The connection should happen with JWT authentication from a jwt secret file.

The engine API RPC client methods are (as described in the specs):

  • engine_forkchoiceUpdatedV2 / V3
  • engine_newPayloadV2 / V3
  • engine_getPayloadV2 / V3
  • engine_signalSuperchainV1

Ideally, 99% of the types necessary for this communication should be usable out of the box from reth.

In terms of downstream usage (out of scope of this issue), the engine API communication
will happen in the attributes processing step to signal the new presence of a new chain and
have the engine validate the payload. Additionally, it will be needed during happy-case sync.

@Rjected
Copy link
Member

Rjected commented Aug 24, 2024

We have this in reth:
https://github.com/paradigmxyz/reth/blob/main/bin/reth-bench/src/authenticated_transport.rs

and we also have this:
https://github.com/paradigmxyz/reth/blob/main/crates/rpc/rpc-layer/src/auth_client_layer.rs

ideally these should be upstreamed in alloy but the reth versions can be used for now

I'm actually not sure if we have engine_signalSuperchainV1 yet, need to check

@merklefruit
Copy link
Collaborator Author

Awesome, yeah I've seen it's the case even for the regular rollup RPC in #7. Nice 🙂

@Rjected
Copy link
Member

Rjected commented Aug 24, 2024

yeah I think the first step for this would be defining rpc types for each of the unimplemented APIs

@shekhirin shekhirin added C-enhancement New feature or request A-hera Area: OP Stack Rollup node binary A-rpc Area: rpc crate labels Aug 25, 2024
@GrapeBaBa
Copy link
Contributor

I don't quite understand. Op-reth should have implemented these APIs. Can't we just reuse this code?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-hera Area: OP Stack Rollup node binary A-rpc Area: rpc crate C-enhancement New feature or request
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants