Celestia: PayForBlobs Transactions
Dive into this š§µ to learn about it!
@CelestiaOrg is a network that offers a scalable and decentralized solution for blockchain data availability. By separating consensus and data availability from execution, it enables more efficient and scalable blockchain architectures.
At the core of Celestia are "Blobs", which are essentially chunks of data. Celestia allows users to publish arbitrary data as blobs on the Celestia blockchain via a "PayForBlobs" (PFB) transaction.
A PFB transaction consists of two parts:
1. Blobs containing the data to be published on the blockchain.
2. An executable transaction that includes a commitment to the blob data.
Every blob posted on the Celestia blockchain belongs to a "Namespace". These namespaces allow users to focus on a subset of blobs by querying for blobs within a specific namespace. When posting a blob, assigning it to a namespace is mandatory.
A user has an option to submit blobs through a PFB transaction in
several ways, including:
ā¢ Consensus Node CLI
ā¢ Light Node CLI
ā¢ JSON-RPC API
Consensus Nodes maintain the blockchain's consensus layer. Celestia App Daemon, or "celestia-appd" binary, is used to operate Consensus Nodes.
PFB transactions submitted through a Consensus Node are directly added
to the mempool and then included in a block.
Light Nodes enable the user to perform Data Availability Sampling on the Celestia Data Availability network. Celestia Node, or "celestia" binary, is used to run Light Nodes.
PFB transactions submitted through a Light Node are routed to the
Consensus Node via JSON-RPC API.
To submit PFB transactions through the JSON-RPC API, the user needs access to a Light Node instance.
They can then submit one or multiple blobs using the 'blob.Submit JSON-RPC method.
Here's an interactive hands-on demo to generate a custom SVG, post
it to Celestia's Data Availability layer, retrieve it, and validate it. based64.xyz/
Lastly, it's important to note that the maximum blob size for a transaction is just under 2 MiB. Smaller blobs get included in blocks faster. Larger blobs leave no room for other transactions, needing higher gas prices for priority.