-
Notifications
You must be signed in to change notification settings - Fork 3
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
Reth vs L2 Geth Integration Consistency Tests #37
Comments
Overview of solutionsThe below depicts the various options available to us for diff testing l2geth and Reth. Option 1: l2geth chainProposal by Peter: generate a chain of blocks using l2geth and feed it to Reth. Pros
Cons
Option 2: ef-testsUse retesteth in order to regenerate all the ef-tests suite with l2geth, getting access to about ~20k tests (minus any tests for unsupported EIP’s). Pros
Cons
Option 3: Run individual stagesSimilar to the stage test in Reth's CI, run individual stages up to the merkle stage. Any error during execution or merklization, would be caught in the Merkle stage. Pros
Cons
Option 4: Kurtosis and assertoorUse Kurtosis package from Pros
Cons
I suggest we go with option 1 as an easy start, creating a chain a few blocks long, from which we can move on to option 3. If we ever require more tests, we can further investigate option 2. Option 4 should only ever be considered if l2geth supports the engine api. |
I think option 1 makes sense in the first instance. I would also like to propose some suggestions for a follower node that leverage the native functionality of reth. These are:
|
I suggest prioritizing quick manual tests using |
Overview
We should develop a pattern to perform consistency checks against L2 Geth to ensure correctness.
Design Considerations
L2 geth does not support the engine API and as such we can not use the engine API to drive block production of L2 geth.
Peter Prosal
Generate a chain of test blocks using l2 geth and feed them to reth and assert consistent state root. We can serialize these blocks and run this integration test via CI.
The text was updated successfully, but these errors were encountered: