Components
The OP Stack is an open-source, modular, Ethereum Layer 2 rollup stack. 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
Validate your deployment
After deploying the L1 smart contracts you will use op-validator to verify that your deployment configurations match what you expect.
3
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-geth) - Rollup configuration file (
rollup.json): Configures the consensus client (op-node)
4
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.
5
Begin batching transactions
Next you will run
op-batcher which will publish user transactions on Ethereum.6
Start proposing state roots
Then you will run
op-proposer to publish the L2 state root on Ethereum to enable withdrawals back to Ethereum.7
Protect your chain
Finally you will run
op-challenger to monitor and dispute any invalid L2 state roots that have been posted.