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

Update to OP stack v1.3.0 #67

Merged
merged 44 commits into from
Nov 28, 2023
Merged

Update to OP stack v1.3.0 #67

merged 44 commits into from
Nov 28, 2023

Conversation

norswap
Copy link
Member

@norswap norswap commented Nov 27, 2023

fixes #65, #21, #56
also #29, partially

The major change is that the L1 genesis now includes the L2 contracts in the
genesis itself.

This requires retooling the deploy logic to handle two scenarios: either deploy
to a temporary geth, or to a real L1.

The deploy logic was moved to l2_deploy.py.

The deploy config generation logic, which is now also necessary for generating
the L1 genesis, was moved to deploy_config.py.

Additionally, this PR retools the RPC address handling, to be able to isolate the various URL components (host, port, protocol and also a path part that is necessary to deal with external JSON-RPC providers like alchemy).

Right now I have a protocol/host/port variable per RPC URL, but in a future PR I want to replace that with the data class I've introduced to reduce the number of variables in the config.

I also fixed a few things left and right that are not super noteworthy right now.


Not merging this yet, I want to try a "prod" deployment first, and also split up the remote endpoints in the config so that this is easier to merge with #66

The major change is that the L1 genesis now includes the L2 contracts in the
genesis itself.

This requires retooling the deploy logic to handle two scenarios: either deploy
to a temporary geth, or to a real L1.

The deploy logic was moved to `l2_deploy.py`.

The deploy config generation logic, which is now also necessary for generating
the L1 genesis, was moved to `deploy_config.py`.
Global clean now removes the deploy config, but clean-l1 and clean-l2 don't

clean-build now cleans the account-abstraction repo as well.

Global clean now cleans the explorer and account-abstractions if they're
requested as arguments.
…nents on the same machine to reach each others via localhost if possible

Also, the websocket connection to the L1 works now!
@norswap
Copy link
Member Author

norswap commented Nov 28, 2023

Deployment to Goerli works with the "dev" preset, but with the "prod" preset, the proposer never submits anything, even after running for ~20 minutes and the batcher posting batches to blocks that have been finalized for a while. The max channel size is also 1, so that should be an issue.

I suspect that if I rerun with the same config but just changing --allow-non-finalized things will work. Not sure what's going on, since Goerli is clearly finalizing.

Maybe the "basic RPC kind" (a config option) fails to properly convey the finalization status?

This was referenced Nov 28, 2023
@norswap norswap merged commit 43e13c2 into master Nov 28, 2023
2 checks passed
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.

support op-node latest version(v1.3.1)
1 participant