This is a dummy rollup project to test posting and retrieving data from Celestia.
- Rust
- Celestia light node running
To start a Celestia light node, use the following command:
celestia light start --core.ip rpc-mocha.pops.one --core.port 9090 --p2p.network mocha --rpc.skip-auth
CELESTIA_NODE_AUTH_TOKEN
: Authentication token for the Celestia node- If not set, ensure you use
--rpc.skip-auth
when starting your Celestia node
- If not set, ensure you use
The project uses the following dependencies:
anyhow
: For error handlingcelestia_rpc
: For interacting with the Celestia nodecelestia_types
: For handling Celestia-specific typesrand
: For generating random data for the blobstokio
: For asynchronous runtimectrlc
: For handlingCtrl+C
interrupts
cargo build
cargo run -- <namespace_plaintext> <number_of_blobs> <blob_size_in_bytes>
Parameters:
<namespace_plaintext>
: The namespace for your blobs<number_of_blobs>
: Number of blobs per batch<blob_size_in_bytes>
: Size of each blob in bytes
cargo run -- testing 9 197278
This will:
- Connect to your local Celestia node
- Create a namespace called "testing"
- Submit batches of 9 blobs (197278 bytes each)
- Verify each submission by retrieving and checking the blobs
- Continue submitting new batches with a short delay between them
[2025-02-19 12:11:18.965] Starting rollup application
[2025-02-19 12:11:18.967] Configuration - Namespace: testing, Number of blobs: 9, Blob size: 197278 bytes
[2025-02-19 12:11:18.973] Successfully connected to Celestia node
[2025-02-19 12:11:45.845] Batch #1 submitted successfully at height 4770599
[2025-02-19 12:11:53.321] Found 9 blobs at height 4770599
[2025-02-19 12:11:53.321] ✅ Blob 0 verified successfully
...
[2025-02-19 12:11:53.321] ✅ Blob 8 verified successfully
[2025-02-19 12:11:53.321] Batch #1 fully verified
The program will continue running and submitting batches until interrupted with Ctrl+C.