Components
Before you deploy, it is important to understand the key components and how they come together to create your blockchain.- L1 Smart contracts: A set of smart contracts to be deployed on Ethereum to bridge between the L1 and L2 domains and manage aspects of the rollup.
- Sequencer: A single privileged node that accepts and derives user transactions on the network to construct the blockchain.
- Batcher: A sequencer service that publishes L2 transactions onto Ethereum. Using Ethereum as a data availability layer, the OP Stack inherits Ethereum’s security properties by allowing any node to derive the state of the L2 blockchain from L1.
- Proposer: A service responsible for publishing the L2 state root to Ethereum which enables user withdrawals of assets.
- Challenger: The challenger enforces network security by disputing invalid state roots that have been posted to Ethereum.
Deployment
The following section will walk you through the sequence of steps a chain operator will follow to begin sequencing a chain.1
Smart contract deployment
Using a CLI tool called op-deployer you will configure your chain and then deploy the smart contracts on Ethereum.
2
Chain genesis creation
After deploying the L1 smart contracts, you will use op-deployer to generate two files necessary to run nodes on the L2 network:
- Genesis file (
genesis.json): Initializes the execution client (op-reth) - Rollup configuration file (
rollup.json): Configures the consensus client (op-node)
3
Start sequencing
To begin sequencing transactions and building blocks, you will then run an execution client and consensus client that come together as your sequencer node.
4
Begin batching transactions
Next you will run
op-batcher which will publish user transactions on Ethereum.5
Start proposing state roots
Then you will run
op-proposer to publish the L2 state root on Ethereum to enable withdrawals back to Ethereum.6
Protect your chain
Finally you will run
op-challenger to monitor and dispute any invalid L2 state roots that have been posted.Start the deployment tutorial
Deploy a complete OP Stack testnet, component by component, with a working automated example alongside.
Next Steps
Take a look at some of the chain operator best practices to get an idea of some of the things you’ll need to keep in mind.Running this in production