Spore Protocol Documentation

website·Indexed 32 days ago

https://docs.spore.pro

Documentation for the Spore Protocol, a system for embedding value into on-chain content and non-fungible tokens on the Nervos CKB blockchain. It includes guides on the DOB (Digital Object) protocol family, the spore-sdk, and core operations such as minting, transferring, and melting spores and clusters.

Tokens
24.3K
Snippets
90
Records
163
Agent score
63%

What's inside Spore

  1. Overview of Spore Protocol for Digital Objects

    Spore Protocol is an on-chain digital object (DOB) protocol designed for ownership, distribution, and value capture. It differs from traditional NFT standards (like ERC-721) and Ordinals by providing redeemable intrinsic value, where each Spore is backed by tokens that can be redeemed at any time. Key features include:

    • True On-Chain Ownership: Assets are stored on-chain rather than relying on Web2 hosting/URLs.
    • Multi-Content Support: Supports a wide range of content types beyond simple images.
    • Zero-Fee Transfers: Allows interaction with digital objects without requiring gas fees in the wallet.
    • Privacy: Includes privacy-centric features for security and control.
  2. Overview of Spore Protocol Contracts

    Spore Contracts is the implementation of the Spore Protocol on Nervos CKB. It consists of core contracts written in Rust as type scripts, along with type definitions and utilities for ID validation and Rust-based serialization/deserialization.
    # Source code available at:
    https://github.com/sporeprotocol/spore-contract
  3. Overview of Spore SDK

    Spore SDK is a TypeScript-based Web environment development kit used to interact with the Spore Protocol and create digital artifacts on Nervos CKB. It provides composed APIs for spore/cluster interactions, joint APIs for building advanced transactions, and utilities for encoding and decoding spore/cluster data.
  4. Overview of the DOB Protocol Family

    The DOB (Digital Object) protocol family is built on the Spore protocol to provide standardized interpretation and composition for digital assets on CKB. It uses a modular combination of three components to transform raw bytes into rendered assets:

    • DNA: Unique data owned by each individual DOB, specified during minting.
    • Pattern: Common data shared by a set of DOBs, specified when creating a DOB Cluster.
    • Decoder: An interpreter for DNA and Pattern, specified when a DOB Cluster is released. This allows creators to define how simple bytes describe themselves (DNA → Trait → Images → Render).
  5. Overview of Cluster Agents

    A Cluster Agent serves as a representative for a Cluster. It allows developers to create clustered spores without requiring signatures or approvals from the owner of the Cluster being represented. This is achieved by utilizing a Cluster Proxy to verify ownership.
  6. Overview of DOB/1 Protocol for SVG generation

    The DOB/1 protocol is specifically designed for generating SVG images. It operates as a secondary stage in a decoder pattern: first, a DOB0 protocol decoder generates traits (text/numbers), and then the DOB1 protocol processes those outputs to assemble an SVG content string. Because SVGs are XML-like descriptions, users must provide URIs for persisted images. Recommended decentralized URI formats include btcfs://<tx-hash>i<image-list-index> and ipfs://<ipfs-token-id>.
  7. Implement privacy using the Spore Protocol UTXO cell model

    Spore Protocol utilizes the UTXO-based cell model of Nervos CKB to enhance privacy. Unlike account-based models that link all transactions to a single address, the cell model allows for the creation of independent cells (functioning as UTXOs). A UTXO-optimized wallet (such as Neuron) can generate a new address for each transaction while remaining managed by the same key pair. This allows each 'spore' (digital asset) to be associated with a unique address, shielding the owner's identity from public blockchain analysis.
  8. Understand Spore digital objects and value preservation

    A Spore is a fully on-chain digital object (DOB) backed by CKBytes. Unlike traditional NFTs that rely on market demand, Spores have intrinsic value because they are created by locking CKBytes to reserve network space. Spore holders can 'melt' their Spore at any time to convert the digital object back into the underlying CKBytes.
  9. Understand Spore Cells and their types

    A Cell is the fundamental data unit in Spore Protocol, based on the CKB Cell Model (similar to Bitcoin's UTXO). Spore cells can contain various data forms such as images, text, or binary libraries. There are two types:

    1. Spore cell: The essential building block.
    2. Spore cluster cell: An optional extension providing additional information about a Spore.
  10. Understand Spore and Cluster concepts

    In the Spore Protocol, data is organized into two primary entities:

    1. Spore: The fundamental component used for storing individual pieces of data (e.g., blog posts) on the blockchain.
    2. Cluster: A collection of Spores. In the context of a blog, a Cluster represents the blog site itself and remains permanently on the blockchain once created.
  11. Understand the Spore Protocol Cell Model

    The Spore protocol is based on the Cell model (an extension of Bitcoin's UTXO), designed to embed value into on-chain content and NFTs. It utilizes two primary cell types: Spore Cells (the fundamental unit) and Cluster Cells (optional extension cells for categorization).

    Key relationship rules:

    • Multiple Spore cells can be assigned to one Cluster.
    • A single Spore cell can be assigned to one Cluster.
    • A Spore cell can exist standalone without a Cluster.
    • A Spore cell cannot be assigned to multiple Clusters.
    • Cluster Cells do not physically contain Spore Cells; they serve as organizational anchors.
  12. Understand Spore's on-chain content architecture

    Unlike ERC-721 which uses a tokenURI (often pointing off-chain), Spore embeds a content field and a content-type field directly within the Digital Object (DOB). This ensures that content is an intrinsic, immutable part of the blockchain and adheres to MIME standards for seamless integration with Web2 services and dynamic content engines.