Skip to content

[DOCS] Update chain-deployment docs #728

@protolambda

Description

@protolambda

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.

Metadata

Metadata

Assignees

Labels

community-requestdocs updates requested by community or OP collectivedocumentationImprovements or additions to documentation

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions