Document op-reth as the primary execution client#2202
Open
palango wants to merge 12 commits into
Open
Conversation
The op-geth to op-reth migration is driven by Celo, not the Ethereum Glamsterdam hardfork. Add the per-network switch dates to the deprecation notice (Celo Sepolia June 24, 2026; Mainnet late July 2026) and remove Glamsterdam references from the notice and operator guides.
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).
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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
OP_RETH__SNAPSHOT=true, fromsnapshots.celo.org) or sync-from-scratch, both from an empty datadir.OP_GETH__*/PORT__OP_GETH_*→OP_RETH__*, corrected NAT value list (publicip, nopmp),--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
palango/op-reth-switch-dates(the PR targets it). That branch should merge first, or the two should land together.celo-v0.0.1-rc.1(an RC). Bump it once a stable tag ships.Closes https://github.com/celo-org/celo-blockchain-planning/issues/1392