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

[DOCS] Update chain-deployment docs #728

Closed
protolambda opened this issue Jun 4, 2024 · 3 comments · Fixed by #729
Closed

[DOCS] Update chain-deployment docs #728

protolambda opened this issue Jun 4, 2024 · 3 comments · Fixed by #729
Assignees
Labels
community-request docs updates requested by community or OP collective documentation Improvements or additions to documentation

Comments

@protolambda
Copy link
Contributor

Brief Description of the Docs Request

https://docs.optimism.io/builders/chain-operators/tutorials/create-l2-rollup
is one of the core docs, very essential to developers test-running the stack, and starts with a warning of "Please do not rely on the content of this page".

Description of the Documentation You'd Like

Split in 3 pages:

  • How to work with the currently stable contracts deployment set, and up to which hardfork is supported on op-mainnet.
  • How to work with the latest develop branch.
  • Common reference for deploy-config. Reference to the configuration page, and summary which parameters are most relevant.

For develop, the approximate process is (to my understanding):

  • create private keys, for each role that is going to be configured
  • configure, create a deploy-config.json
  • run Deploy.s.sol to deploy the L1 smart-contracts. Get a contract-addresses summary and a deployment-artifacts directory.
  • run L2Genesis.s.sol to generate the L2 genesis.json
  • run op-node genesis l2 with the CLI flag options pointing to L1 RPC and various config inputs / outputs.
  • run op-geth init --datadir=somepathhere genesis.json to create a datadir for the L2 chain
  • run op-geth from that datadir
  • op-geth should have generated a JWT file, if you didn't specify one yourself already. Use that in op-node CLI flag to get engine-API connection authenticated.
  • run op-node, with sequencer flags, and --rollup.config=rollup.json pointing to the previously generated L2 rollup config.
  • run op-batcher, with flags pointed at op-geth and op-node and L1 node
  • run op-proposer (assumes geth is running in archive mode! Fixed in future Granite hardfork maybe), necessary for L2 withdrawals.

Links to Related Pages

https://docs.optimism.io/builders/chain-operators/tutorials/create-l2-rollup

https://docs.optimism.io/builders/chain-operators/management/configuration

Additional Context

Core dev teams, external RaaS and devops teams all heavily rely on this documentation.

@protolambda protolambda added documentation Improvements or additions to documentation community-request docs updates requested by community or OP collective labels Jun 4, 2024
@protolambda
Copy link
Contributor Author

We may want to de-duplicate the first few steps with the tutorial in https://docs.optimism.io/builders/chain-operators/management/custom-gas-token

The Deploy and L2Genesis scripts are the way to go when working with the very latest develop branch (disclaimer: this is for testing, not the ideal target for mainnet chains)

@protolambda
Copy link
Contributor Author

Specifically: the https://docs.optimism.io/builders/chain-operators/tutorials/create-l2-rollup docs are missing the L2Genesis.s.sol step, since the L2-genesis allocs generation was split from the L2 chain spec generation. The custom-gas-token docs do describe the correct way to use the L2Genesis.s.sol script.

@sbvegan
Copy link
Collaborator

sbvegan commented Jun 4, 2024

Hey proto, I'm going to take a stab at this, but I'm going to approach it as a Deployment section of the Chain Operator section. It'll have pages for the key pieces of deployment: L1 contract deployment, configuration, offchain components, etc. Each page will have a section for the MCP upgrade and one for the tip of develop.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
community-request docs updates requested by community or OP collective documentation Improvements or additions to documentation
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants