Building on the Arbitrum Nitro stack with Avail DA

What is Nitro?

Nitro is designed by Arbitrum, a software stack to build optimistic rollups, powering Arbitrum One and Arbitrum Nova. These chains are Optimistic L2 protocols that inherit Ethereum-level security.

You can read more about Nitro in:

  1. The Nitro whitepaper on github (opens in a new tab)
  2. Arbitrum docs. (opens in a new tab)

Arbitrum Orbit integration with Avail DA

Arbitrum Orbit chains can integrate with Avail DA using a number of different configurations. You can read more about them in our blog (opens in a new tab).

Letโ€™s take a look at the transaction Lifecycle:

  1. Transaction Submission

    • Process: Users send transactions to the Sequencer.
    • Role: The Sequencer temporarily holds the transactions before they are batched.
  2. Batch Processing

    • Component: Sequencer
    • Function: Collects and orders transactions into batches for more efficient processing.
  3. Batch Submission on Avail

    • component: arbnode/batch-poster
    • Process: Sequencer posts a batch of L2 transactions onto the underlying data availability provider.
  4. BlobPointer Reference Creation

    • Outcome: Avail returns a unique transaction reference with Merkle proof of batch submission.
  5. BlobPointer Submission to Settlement layer ( Arbitrum One, Ethereum etc.)

    • Process: BlobPointer with Avail header byte(0x0a) is being sent over to sequencerInbox rollup contract for on-chain DA verification over Avail bridge and batch addition to canonical chain.
    • component: SequncerInbox.sol (opens in a new tab)
  6. on-chain Data availability verification

  7. Replay batch execution over WASM binary STF