| title | description | mode |
|---|---|---|
Deploy the OP Stack |
Launch a scalable and customizable Layer 2 Rollup blockchain with Ethereum-grade security - powered by Optimism. |
wide |
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.
The following section will walk you through the sequence of steps a chain operator will follow to begin sequencing a chain.
Using a CLI tool called [op-deployer](/chain-operators/tools/op-deployer/overview) you will configure your chain and then deploy the smart contracts on Ethereum. After deploying the L1 smart contracts you will use [op-validator](/chain-operators/tools/op-validator) to verify that your deployment configurations match what you expect. After deploying the L1 smart contracts, you will use [op-deployer](/chain-operators/tools/op-deployer/overview) 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`)
These files contain all the essential information your services need to interact with Ethereum and the system contracts you deployed.
Of course there is a lot more work to do ensure you're operating a highly available chain. 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.