Skip to content

Document op-reth as the primary execution client#2202

Merged
palango merged 15 commits into
mainfrom
palango/reth-migration-docs
Jun 22, 2026
Merged

Document op-reth as the primary execution client#2202
palango merged 15 commits into
mainfrom
palango/reth-migration-docs

Conversation

@palango

@palango palango commented Jun 19, 2026

Copy link
Copy Markdown
Contributor

Updates the node-operator docs for the op-geth → op-reth execution-client migration, based on the exact config in celo-l2-node-docker-compose#96.

op-reth is now the primary documented client. op-geth is kept but demoted into collapsed "Still running op-geth?" accordions and clearly-labeled legacy notes, so operators still on the old setup until their switch date are covered.

Key content changes

  • No snap sync — op-reth syncs by executing every block. Documents the two fresh-start paths: snapshot bootstrap (OP_RETH__SNAPSHOT=true, from snapshots.celo.org) or sync-from-scratch, both from an empty datadir.
  • Geth-format datadirs can't be reused — surfaced prominently in run-node, configuration, and maintenance; the L1-migration guide is reframed as a legacy op-geth path.
  • OP_GETH__*/PORT__OP_GETH_*OP_RETH__*, corrected NAT value list (publicip, no pmp), --l2.enginekind=reth, op-reth Prometheus metrics (replacing op-geth's InfluxDB push), op-reth container image, and relabeled execution-client bootnodes.

Files changed (12)

overview, architecture, run-node, archive-node, configuration, network-config, public-rpc-node, monitoring, maintenance, troubleshooting, migrate-node, and the op-geth-deprecation notice.

Verification

Two reviewer passes: one verified every env var, flag, port, and default against PR #96 (no invented details — op-reth sync-log wording was deliberately generalized because reth's exact log strings couldn't be confirmed); one checked consistency, op-geth demotion, and Mintlify/link correctness. Both findings were fixed, including a real one: the relabeled Celo Sepolia bootnode list was showing only 4 of the 6 OP_RETH__BOOTNODES.

Todos / follow-ups

  • Base branch: this branch is stacked on palango/op-reth-switch-dates (the PR targets it). That branch should merge first, or the two should land together.
  • RC image tag: network-config lists the PR's default op-reth image celo-v0.0.1-rc.1 (an RC). Bump it once a stable tag ships.
  • Depends on celo-l2-node-docker-compose#96 being merged before these docs go live.

Closes https://github.com/celo-org/celo-blockchain-planning/issues/1392
Closes https://github.com/celo-org/celo-blockchain-planning/issues/1365

@palango palango requested a review from a team as a code owner June 19, 2026 13:19
@palango palango requested review from karlb, katen0ra and piersy and removed request for a team June 19, 2026 13:19
Base automatically changed from palango/op-reth-switch-dates to main June 19, 2026 15:27
Comment thread infra-partners/notices/op-geth-deprecation.mdx Outdated
@mintlify

mintlify Bot commented Jun 22, 2026

Copy link
Copy Markdown
Contributor

Preview deployment for your docs. Learn more about Mintlify Previews.

Project Status Preview Updated (UTC)
celo-docs 🟢 Ready View Preview Jun 22, 2026, 8:58 AM

💡 Tip: Enable Workflows to automatically generate PRs for you.

palango added 11 commits June 22, 2026 10:59
Rewrite the core node-operator guides (run-node, archive-node,
configuration, overview, architecture) around op-reth: empty-datadir
start with optional snapshot bootstrap (OP_RETH__SNAPSHOT), no snap
sync, OP_RETH__* variables and ports, and --l2.enginekind=reth. The
op-geth flow is preserved in collapsed 'Still running op-geth?'
accordions for operators on the old setup until their switch date.
Network config (op-reth image + snapshots, execution-client bootnodes),
public RPC, troubleshooting, monitoring (Prometheus metrics, not the
InfluxDB push op-geth used), and maintenance (empty-datadir re-sync via
snapshot) now describe op-reth, with op-geth kept only as the legacy
path.
…ration legacy

The op-reth release is out, so the deprecation notice now links to the
op-reth run-node/archive/configuration guides instead of promising them.
Flag the L1-migration guide as a legacy op-geth path, since op-reth
cannot reuse a migrated (geth-format) datadir.
- migrate-node: drop op-geth 'snap sync' framing from the fresh-node
  pointer and refresh the stale post-hardfork snapshot promise
- network-config: list all six Celo Sepolia op-reth bootnodes (the
  relabeled list was showing only the four trusted peers)
op-reth has no sync-mode 'full', so the note distinguishing it from a
full node type no longer applies.
Drop the 'no snap sync' framing in favor of describing how op-reth syncs.
Fix the archive-node bootstrap text: NODE_TYPE=archive controls how much
historical state is retained, independent of the snapshot, which only
speeds up the initial sync.
Mainnet needs a snapshot for the pre-L2 (Celo L1) history op-reth cannot
re-execute; Celo Sepolia has no pre-L2 history and can sync from genesis.
Also link the Optimism op-reth config reference and drop the redundant
'current Celo setup' aside.
Restore the explicit sequencer flag in the transactions-not-executing
section, using op-reth's --rollup.sequencer (op-geth used
--rollup.sequencerhttp, which reth does not have).
Comment thread infra-partners/operators/run-node.mdx Outdated
Comment thread infra-partners/operators/network-config.mdx
palango added 2 commits June 22, 2026 15:59
Compose v1 (docker-compose) is end-of-life; align run-node and
archive-node with the v2 syntax already used elsewhere.
…es needed

The celo-l2-node-docker-compose setup selects the chain by name (op-node
--network, op-reth --chain), so genesis.json and rollup.json don't need to
be supplied for the standard networks.
@palango palango merged commit df449c1 into main Jun 22, 2026
4 checks passed
@palango palango deleted the palango/reth-migration-docs branch June 22, 2026 16:57
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.

3 participants