docs/build › stacks › nitro das server
Arbitrum Nitro with Celestia DA
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