Off-Chain System
The off-chain System is another key module of the Mantle Network. It is responsible for executing specific tasks and logic in an environment outside of the blockchain, which is key to Layer 2's ability to scale L1 and provide more efficient and faster response and execution.
Key L2 Smart Contracts
- Mainnet
- Testnet (Sepolia)
Introduction
BVM_GasPriceOracle
Stores L2 gas price configuration values. Provide the tokenRatio parameter to keep the gas fees more stable.
L1_BLOCK_NUMBER
Stores L1 block context information (e.g., latest known L1 block hash)
L2CrossDomainMessenger
High-level interface for sending messages to and receiving messages from L1
L2StandardBridge
Standardized system for transferring ERC20 tokens to/from L1
L2_TO_L1_MESSAGE_PASSER
Low-level message-passing interface
BaseFeeVault
Vault for L2 BaseFee transaction fees, more details here.
BVM_SequencerFeeVault
Vault for L2 transaction fees except for BaseFee, more details here.
Network Roles
Sequencer
The sequencer acts as block producers in the network, composed of op-node
and op-geth
in Mantle, with the following functions:
- Accept off-chain transactions from users
- Monitor user deposit transactions from L1
- Produce blocks on L2
Verifier
The verifier exists in the network to provide Rollup data to users, also composed of op-node
and op-geth
, with the following functions:
- Synchronize Rollup data from Mantle DA
- Verify the state root submitted by
op-proposer
on L2 - Initiate fraud proofs when invalid state data is detected
- Provide verified block data and state to users
op-batcher
op-batcher
is a crucial component that interacts with the DA provider in the network. It also handles transaction packing and uploading to L1, with specific functions:
- Fetch data from the sequencer and process it (encoding and compressing) into frames based on different configurations, storing the frames as a channel
- Interact with the DA provider through channels, providing batched transaction information
- Upload processed batched transactions to L1
op-proposer
Similar to op-batcher
but providing state root information. When submitting a single or batch of transactions, op-proposer
needs to complete state changes through op-geth
and write down state commitments sent to L2OutputOracle
on L1.
DA Nodes
Nodes in the Mantle DA, forming the DA Network, are responsible for storing copies of Mantle transaction data. They use BLS signature schemes to sign the block data they provide, making commitments to ensure their availability. These signatures are verified by the EigenDA contract on Ethereum.
Appendix
Within the sequencer and the verifier, two different components are present:
op-geth
As the execution client in the Mantle Network, op-geth
has the following functions:
- Responsible for executing blocks received from
op-node
and storing states. - Query blockchain data through the Engine API and submit transactions to the network.
op-node
As the consensus client in the Mantle Network, op-node
has the following functions:
- Derive L2 blocks from L1.
- Send blocks to
op-geth
via the Engine API. - Retrieve block information from Mantle DA for subsequent validity verification.
- Synchronize with a P2P network to sequencer-constructed but unsubmitted blocks.