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

Enable rollup deployment on any L1 #43

Merged
merged 81 commits into from
Sep 26, 2023
Merged

Enable rollup deployment on any L1 #43

merged 81 commits into from
Sep 26, 2023

Conversation

norswap
Copy link
Member

@norswap norswap commented Sep 26, 2023

Pretty massive changeset that touches every part of the code, and goes beyond just the title.

Some highlights:

  • configuration is now centralized in the Config class in config.py
  • many more things configurable
  • anything in there can be overridden by a TOML file that can be specified with the --config=<path> command line option
  • we can indeed deploy on any L1 ... in theory, only tested in the Linea testnet for now (doesn't work on the Taiko testnet because the OptimismPortal takes more than 6M gas to deploy which is > gas limit, nor on Polygon zkEVM, where it deploys correctly but then fails to get the basefee (???) at L2 genesis generation time
    • probably testing on a few more testnets, including Goerli and Optimism Goerli would be good
  • initial work towards deploying blockscout by @chee-chyuan
  • we can now install Go locally at the right version for the user (that one was painful because there is no Go version manager but you might need an older/newer version than the Optimism codebase)
  • supports all of linux/macOS + arm/intel

Dev/UX changes:

  • added a rollop bash scripts, could help us moving all the python files to a src repo (to be discussed)
  • l2.py split into many components
  • now using "L2 engine" in preference to "L2 execution", though strings, documentations, etc .. should always say "L2 execution engine"
  • moved scripts/install.sh to ./devenv.sh
  • added docs/testing.md explaining how to test on a virgin environment
  • I will be renaming the repo to roll-op after this (redirection should work, but update your origin still!)

norswap and others added 30 commits September 23, 2023 16:29
…write l1 timestamp if we don't have L1 genesis file
we can now deploy but the system does not work
- it is configured for devnet, with fast & permissive values
- we didn't change the proposer and batcher addresses (using Anvil ones)
- add more config options for the op-node
- automatically derive some paths from config options
- add some config validation logic
@norswap
Copy link
Member Author

norswap commented Sep 26, 2023

I'm going to insta-merge, no point in reviewing this "diff", might as well just audit the whole repo.

@norswap norswap merged commit 29a103f into master Sep 26, 2023
0 of 2 checks passed
@norswap norswap deleted the ns/any-l1 branch September 26, 2023 19:17
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