Skip to Content
Welcome to our new docs! šŸŽ‰
OperateData availability nodesRun a light nodeGetting started

Light node: overview & quickstart

Celestia light nodes perform data availability sampling (DAS) to verify that block data is available without downloading it all. They can also post and retrieve blobs (data) from the Celestia network.

Overview

Light nodes are the most common way to interact with Celestia networks.

light-node

Light nodes:

  1. Listen for ExtendedHeaders (block headers + DA metadata).
  2. Perform DAS on received headers.

Optional: run a light node in your browser

The easiest way to try a light node is with Lumina.rsĀ  in your browser.

Lumina.rs in browser

You can also run Lumina on the decentralized explorer, CeleniumĀ .

Celenium running a light node with Lumina.rs

Run a light node (CLI)

This guide assumes you’ve completed:

Install celestia-node

Follow the Install celestia-node guide (from source or using the pre-built binary installer).

Initialize the node store

This creates the node store and a key for the network you choose.

Want to sync faster (skip sampling from genesis)? See Fast sync with a trusted hash.

celestia light init

Start the light node

Light nodes connect to a consensus node gRPC endpoint (usually port 9090) for state access (balances, submitting PayForBlobs, etc.).

celestia light start --core.ip rpc.celestia.pops.one \ --core.port 9090 --p2p.network celestia

You can use any consensus node gRPC endpoint listed on Mainnet Beta, Mocha testnet, or Arabica devnet.

If you’re running on a server, make sure required ports are open. See Troubleshooting ports.

Get some testnet tokens (for blob posting)

To submit blobs on testnets, fund your light node address:

celestia state account-address

Then use a faucet:

On Mainnet Beta, fund this address with TIA to submit blobs.

Check your balance (optional)

celestia state balance

Post your first blob

Use celestia blob submit [namespace] [data] to post your first blob.

celestia blob submit 0x676d 0x676d

Save the returned height and the first value in commitments.

Retrieve your first blob

Replace <height> and <commitment> with the values from blob submit:

celestia blob get <height> 0x676d <commitment>

If you see header: syncing in progress, wait for the node to sync or use fast sync.

Next steps

Feel stuck? Go to our Discord!

Last updated on