All phases of Avail's unification drop have now ended, ๐Ÿ‘‰๐Ÿ‘‰ check out this page ๐Ÿ‘ˆ๐Ÿ‘ˆ for more information.

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