.env variables and the key client flags used by the celo-l2-node-docker-compose setup. For the exhaustive command-line flag references, see the Optimism op-reth config and op-node config docs.
Execution client: op-rethThe variables below configure
op-reth, Celo’s primary execution client. The op-geth equivalents remain valid until your network’s switch date — see the op-geth variables accordion below and End of Support for op-geth.Node type and sync
op-reth syncs by executing every block. A new node starts from an empty datadir (see Run a node with Docker); datadirs written by op-geth cannot be reused. For archive nodes, see Running an archive node.
L1 connection
Historical state (pre-hardfork)
An L2 archive node serves pre-hardfork state by proxying to a legacy Celo L1 archive node.
See Running an archive node for the full setup.
Networking (P2P)
Configure these so other nodes can discover and reach yours. If they are wrong, your node may fail to stay connected and synced.Ports
EachPORT__* variable overrides a default exposed in docker-compose.yml. Defaults:
Data directory
Key client flags
These flags are set for you by the compose start scripts; they are listed here because they are the Celo-specific ones operators most often need to know about.--rollup.sequencer(op-reth, set viaOP_RETH__SEQUENCER_URL) — the sequencer that transactions submitted to your node are forwarded to. Mainnet:https://cel2-sequencer.celo.org; Celo Sepolia:https://sequencer.celo-sepolia.celo-testnet.org. If this is wrong, transactions submitted to your node are not executed.--syncmode=execution-layer(op-node) — op-node syncs via the execution client rather than the deprecated consensus-layer req/resp path. See Deprecation of Req/Res CL P2P Sync.--l2.enginekind=reth(op-node) — tells op-node which execution client it is driving. It is set torethforop-reth.--metrics.enabled(op-node) — exposes Prometheus metrics on port7300. See Monitoring & metrics.
op-geth variables (until your switch date)
op-geth variables (until your switch date)
If you are still running
op-geth from an older checkout of celo-l2-node-docker-compose, use these equivalents in place of their OP_RETH__ counterparts. They stop working once your network reaches its switch date.Key op-geth flags:
--rollup.sequencerhttp (sequencer endpoint), --history.transactions=0 (index the full transaction history), and --l2.enginekind=geth on op-node.Monitoring
SetMONITORING_ENABLED=true to start the Grafana, Prometheus, InfluxDB, and healthcheck stack. See Monitoring & metrics.