Arbitrum Nitro with Celestia DA
Overview
The Arbitrum Nitro integration with Celestia enables Orbit chains to use Celestia for data availability instead of Arbitrum AnyTrust. The implementation uses a sidecar architecture where a separate celestia-server handles Celestia-specific operations via RPC.
How it works
Nitro’s batch poster coordinates with the Celestia DAS server to store batch data:
- Batch posting: The
MaybePostSequencerBatchmethod checks if a DAS writer is configured and acquires a lock before posting - Data storage: The DAS writer calls the Celestia server’s
Storemethod, which:- Creates a blob from the batch data
- Submits it to Celestia with retry logic and gas price adjustment
- Returns a
BlobPointercontaining block height, share indices, and data commitments
- Verification: During disputes, Blobstream (default: SP1 Blobstream) confirms batch availability on Celestia, supporting fraud proofs through the hash oracle trick
Key features
- Sidecar architecture: Processing logic handled by separate
celestia-server, keeping Nitro nodes lightweight - Fallback support: Native fallback mechanism with configurable
da-preferenceparameter (e.g.,["celestia", "anytrust"]) - Preimage oracle: Validators populate preimage mappings with Celestia hashes for fraud proof support
- Robust submission: Automatic retry with gas price adjustment for network congestion
Resources
Feel stuck? Go to our Discord!
Last updated on