Stopping your rollup
An orderly shutdown is done in the reverse order to the order in which components were started:To stop the batcher, use this command:
Batch Submitter stopped in batcher’s output before you stop the process.Stop `op-proposer`
To stop the proposer, terminate the process directly. This can be done by:
- Pressing Ctrl+C in the terminal running the process
- Using system commands like
kill -TERM <pid>to stop the process gracefully
Stop `op-geth`
Make sure you use CTRL-C to avoid database corruption. If Geth stops unexpectedly the database can be corrupted. This is known as an “unclean shutdown” and it can lead to a variety of problems for the node when it is restarted.
Starting your rollup
To restart the blockchain, use the same order of components you did when you initialized it.Start `op-batcher`
If
op-batcher is still running and you just stopped it using RPC, you can start it with this command:Start `op-proposer`
Start the proposer using the appropriate command. Here’s an example:
| Parameter | Description |
|---|---|
| poll-interval | How often to check for new output proposals (recommended: 12s) |
| rpc.port | Local RPC port for the proposer service |
| l2oo-address | The L2 Output Oracle contract address (0x-prefixed hex) |
| private-key | Private key for signing proposals |
| l1-eth-rpc | L1 network RPC endpoint URL |
Synchronization takes timeThis means that
op-batcher might have warning messages similar to:op-node is not yet synchronized up to the present time.
Just wait until it is.Getting your rollup config
Use this tool to get your rollup config fromop-node. This will only work if your chain is already in the superchain-registry and op-node has been updated to pull those changes in from the registry.
This script will NOT work for chain operators trying to generate this data in order to submit it to the registry.
Adding nodes
To add nodes to the rollup, you need to initializeop-node and op-geth, similar to what you did for the first node.
You should not add an op-batcher because there should be only one.
Turn on peer to peer synchronization to enable L2 nodes to synchronize directly
If you do it this way, you won’t have to wait until the transactions are written to L1.
If you already have peer to peer synchronization, add the new node to the
--p2p.static list so it can synchronize.Start `op-geth` (using the same command line you used on the initial node)
Important: Make sure to configure the
--rollup.sequencerhttp flag to point to your sequencer node. This HTTP endpoint is crucial because op-geth will route eth_sendRawTransaction calls to this URL. The OP Stack does not currently have a public mempool, so configuring this is required if you want your node to support transaction submission.Next steps
- See the Consensus Client Configuration and Execution Client Configuration guides for additional explanation or customization.
- If you experience difficulty at any stage of this process, please reach out to developer support.