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): implement debug_executionWitness API #397

Merged

Conversation

0x00101010
Copy link
Contributor

Description

implement debug_executionWitness API

Tests

Tested offline with reth and op-program

Additional context

Metadata

@0x00101010 0x00101010 force-pushed the feat/debug-execution-witness branch 2 times, most recently from 9d71866 to 93214fb Compare October 8, 2024 23:54
@0x00101010 0x00101010 force-pushed the feat/debug-execution-witness branch from 93214fb to 6ae6ba3 Compare October 9, 2024 17:03
@0x00101010 0x00101010 marked this pull request as ready for review October 9, 2024 17:03
@0x00101010 0x00101010 requested a review from a team as a code owner October 9, 2024 17:03
@ajsutton ajsutton self-requested a review October 10, 2024 21:07
@ajsutton
Copy link
Contributor

Adding myself as reviewer so I don't forget this after the morning meeting run but no need to block on me if someone else gets to this first.

Copy link
Contributor

@ajsutton ajsutton left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good generally but would be worth adding a test for it. @refcell or @clabby does the returned format match what you'd expect?

There's also a comment saying the format might be simplified in the future - should be consider doing that now so we don't have to break compatibility? I'm not too sure what's actually likely to get standardised here.

core/stateless/encoding.go Outdated Show resolved Hide resolved
eth/api_debug.go Show resolved Hide resolved
eth/api_debug.go Show resolved Hide resolved
@0x00101010
Copy link
Contributor Author

Looks good generally but would be worth adding a test for it. @refcell or @clabby does the returned format match what you'd expect?

There's also a comment saying the format might be simplified in the future - should be consider doing that now so we don't have to break compatibility? I'm not too sure what's actually likely to get standardised here.

regarding format, I believe so, I compared returns from reth & geth, and also the queries from op-program, they match.

Currently trying to figure out return mismatch between reth & geth, working with reth teams on that

@0x00101010
Copy link
Contributor Author

Looks good generally but would be worth adding a test for it. @refcell or @clabby does the returned format match what you'd expect?
There's also a comment saying the format might be simplified in the future - should be consider doing that now so we don't have to break compatibility? I'm not too sure what's actually likely to get standardised here.

regarding format, I believe so, I compared returns from reth & geth, and also the queries from op-program, they match.

Currently trying to figure out return mismatch between reth & geth, working with reth teams on that

@ajsutton, also regarding standardization, currently the conversation is around two things:

  1. what exact data do we want to return here, geth returns headers in execution witness as well, while reth does not (currently not needed by op-program) => this is likely to be added into reth if we want the witness to be helpful to be used to execute blocks directly
  2. how we want to return the data, from Peter's proposal, he suggests rlp everything to improve performance, currently since performance isn't a big concern, we opted for simplicify which is directly return json data, that can be revisited if needed

Added tests and ready for another review

@0x00101010 0x00101010 force-pushed the feat/debug-execution-witness branch from 612e482 to 442b152 Compare October 15, 2024 00:17
@0x00101010 0x00101010 requested a review from ajsutton October 15, 2024 00:29
Copy link
Contributor

@ajsutton ajsutton left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM. Given the benefit to fault proofs I think this is worth having in op-geth now, but would be good to submit this to upstream as well since it's a generically useful API.

@ajsutton ajsutton merged commit 933707a into ethereum-optimism:optimism Oct 16, 2024
4 of 5 checks passed
@0x00101010
Copy link
Contributor Author

LGTM. Given the benefit to fault proofs I think this is worth having in op-geth now, but would be good to submit this to upstream as well since it's a generically useful API.

Thanks @ajsutton, haven't done it now because there's still unanswered questions regarding return format and I sense resistance from geth side, but will try it to see how geth team reacts

@ajsutton
Copy link
Contributor

Yeah, I'd say it's worth creating the PR to upstream to push the conversation forward.

boyuan-chen pushed a commit to bobanetwork/op-geth that referenced this pull request Nov 12, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants