Transaction Flow
Last updated
Was this helpful?
Last updated
Was this helpful?
The following outlines the end-to-end transaction process within Nexus
User submits a deposit transaction to Ethereum to bridge ETH to L2.
op-node reads the finalized deposit transaction from Ethereum and executes it on the L2 Rome EVM contract to make ETH available to the user.
User submits L2 transaction to op-geth.
Rhea reads L2 transactions from op-geth mempool.
Rhea submits L2 transactions to Solana for sequencing.
Hercules reads Solana blocks relevant to the Rome EVM contract.
Hercules parses L2 blocks from Solana blocks and stores them into Postgres.
op-node queries Hercules for L2 sequencer batches and appends them to op- geth.
op-node reads finalized Ethereum blocks.
op-node confirms L2 blocks based on finalized Ethereum blocks, marking them first as safe and then as finalized.
op-batcher periodically gets sync status from op-node.
op-batcher gets unsafe L2 blocks from op-geth.
op-batcher writes these L2 sequencer batches to Ethereum Batch Inbox address. Submits tx to Interstate for preconfirmation.
op-proposer periodically queries op-node for output root. op-node in turn queries op-geth for state root.
op-proposer posts output root to the Ethereum L2OutputOracle contract. Submits transaction to Interstate for preconfirmation.