Files
proxmox/docs/03-deployment/OP_STACK_STANDARD_ROLLUP_SUPERCHAIN_RUNBOOK.md
defiQUG dbd517b279 Sync workspace: config, docs, scripts, CI, operator rules, and submodule pointers.
- Update dbis_core, cross-chain-pmm-lps, explorer-monorepo, metamask-integration, pr-workspace/chains
- Omit embedded publish git dirs and empty placeholders from index

Made-with: Cursor
2026-04-12 06:12:20 -07:00

8.1 KiB
Raw Blame History

OP Stack Standard Rollup — Ethereum mainnet E2E (Superchain)

Last updated: 2026-04-01
Purpose: Operator end-to-end path for a greenfield OP Stack L2 on Ethereum mainnet targeting Standard Rollup status (superchain_level = 2) in superchain-registry. Runs in parallel to Besu Chain 138; see OP_STACK_L2_AND_BESU138_BRIDGE_NOTES.md.

Scaffolding: config/op-stack-superchain/ · Scripts: scripts/op-stack/README.md

Official references:


Phase 0 — Prerequisites (before mainnet)

  1. Freeze governance inputs

    • Run bash scripts/op-stack/fetch-standard-mainnet-toml.sh and diff against prior cache.
    • Record pins in config/op-stack-superchain/pinned-versions.manifest.example.yaml → copy to deployed/pinned-versions.manifest.yaml (gitignored).
  2. L2 chain ID

    • Choose a unique L2 chain ID distinct from Besu 138 unless you explicitly accept tooling collision. Document in the manifest.
  3. Keys and roles

  4. Capacity

    • L1 ETH for deployment, batch posting, proposals, challenger assumptions.
    • HA capacity for sequencer pair, batcher, proposer, challenger, replicas.
  5. Standard Rollup constraints (summary)

    • Ethereum canonical DA (not alt-DA).
    • No custom modified system contracts for Standard status.
    • OP Stack version / bytecode must match governance-approved standard-versions-mainnet.toml.

To keep deployment/runtime work off an operator workstation, provision the dedicated OP Stack CTs on r630-02 using thin5:

  • 5751 op-stack-deployer-1192.168.11.69op-deployer, op-validator, manifest and artifact handling
  • 5752 op-stack-ops-1192.168.11.70 — sequencer/runtime bootstrap, service envs, systemd staging

Create and bootstrap them with:

bash scripts/deployment/provision-op-stack-operator-lxcs.sh

That script installs baseline tooling, enables SSH for opuser, and copies the repo's OP Stack scaffolding into /opt/op-stack-bootstrap/ inside each CT.

Live landing-zone state as of 2026-04-01:

  • 5751 op-stack-deployer-1 is provisioned on r630-02 (192.168.11.12) at 192.168.11.69
  • 5752 op-stack-ops-1 is provisioned on r630-02 (192.168.11.12) at 192.168.11.70
  • the bootstrap cache is already seeded inside /opt/op-stack-bootstrap/config/op-stack-superchain/cache/, so a rerun does not need to re-fetch TOMLs unless OP_STACK_REFRESH_TOMLS=1

Phase 1 — Sepolia rehearsal (gate before mainnet)

Use the same op-deployer / contract release you intend for mainnet.

  1. Install tooling per Optimism chain operator docs (op-deployer, op-node, op-reth, op-batcher, op-proposer, op-challenger, op-validator — exact packages follow your pinned version). Keep op-geth only as a temporary legacy fallback.

  2. Deploy L1 system contracts + L2 genesis on Sepolia via op-deployer (follow current CLI in upstream docs).

  3. Run op-validator against generated artifacts; fix until clean.

  4. Start sequencer (op-node + op-reth), op-batcher, op-proposer, op-challenger.

  5. E2E on test L2: deposit / withdraw, failover drill (sequencer or batcher), 2472h soak.

  6. Exit gate: signed-off validator output, soak logs, frozen version manifest committed to CMDB.

Checklist: bash scripts/op-stack/print-sepolia-rehearsal-checklist.sh


Phase 2 — Mainnet deploy

  1. Verify manifest pins still match mainnet standard-versions-mainnet.toml.

  2. Run op-deployer against Ethereum mainnet; capture all L1 addresses and L2 genesis / rollup config.

  3. Run op-validator on mainnet artifacts before registry PR.

  4. Record non-secret outputs under config/op-stack-superchain/deployed/ (see deployed/README.md).

Checklist: bash scripts/op-stack/print-mainnet-deploy-checklist.sh


Phase 3 — Mainnet operations

  1. Start sequencer (HA as required), batcher, proposer, challenger.

  2. Expose replica RPC (and optional WS) with rate limits and monitoring: sync lag, L1 gas, batch submission, proposals, challenger health.

  3. Mainnet E2E: small production deposit/withdraw; document comms and rollback posture.

Checklist: bash scripts/op-stack/print-mainnet-ops-checklist.sh

  1. systemd templates: op-stack-op-reth.example.service (preferred execution), op-stack-sequencer.example.service (legacy op-geth fallback), op-stack-op-node.example.service (consensus), op-stack-batcher.example.service, op-stack-proposer.example.service, op-stack-challenger.example.service — adjust User, WorkingDirectory, EnvironmentFile, and binary paths to match your install.

Phase 4 — Superchain registry (Standard status)

  1. Follow Adding a chain: local validation, then PR to superchain-registry.

  2. Complete Optimism Foundation off-chain checks (unique chain ID, security configuration, governance authenticity) per charter / docs.

  3. Target superchain_level = 2 only after automated + governance promotion.

  4. After merge, use --network / --op-network flags per registry hard-fork inheritance docs.

Checklist script: bash scripts/op-stack/registry-pr-checklist.sh


Phase 5 — Besu Chain 138 (optional)

Not required for Standard Rollup. See OP_STACK_L2_AND_BESU138_BRIDGE_NOTES.md. XDC-Zero remains CHAIN138_XDC_ZERO_BRIDGE_RUNBOOK.md (XDC ↔ Besu 138).


E2E completion table

Gate Evidence
Sepolia op-validator OK, soak logs, frozen manifest
Mainnet L1/L2 Address list + rollup/genesis artifacts
Live stack Sequencer, batcher, proposer, challenger healthy
Mainnet validate op-validator on mainnet configs
Registry PR merged; superchain_level = 2 when promoted
Ops Runbooks, monitoring, incident contacts

Topic Doc
Besu Chain 138 + XDC CHAIN138_XDC_ZERO_BRIDGE_RUNBOOK.md
CCIP (138 ↔ public L1/L2s) ../07-ccip/, smom-dbis-138 deployment runbooks