# CKB Spore Protocol ## Metadata **Status**:: #x **Zettel**:: #zettel/fleeting **Created**:: [[2023-09-07]] ## Resources - Demo [spore-demo](https://spore-demo.vercel.app/ "https://spore-demo.vercel.app/") - [Spore Explained - Spore Protocol (gitbook.io)](https://spore-protocol.gitbook.io/spore-protocol/spore-explained) ## Data Structure ```yaml data: content-type: Bytes # String Bytes content: Bytes # OPTIONAL cluster_id: Bytes # TYPE_ID_OF_CLUSTER type: hash_type: "data1" code_hash: SPORE_V1_DATA_HASH # hash of Spore's type script data hash args: SPORE_ID lock: <user-defined> ``` - `content-type` suggests the textual data format of the `content` field, following the [MIME standard](https://datatracker.ietf.org/doc/html/rfc2046) and enabling extension feature labels, like `TYPE/SUBTYPE;PARAM=VAL`. - For binary data, this can store the serialization schema information. - [?] Data in a Spore Cell remains <mark style="background: #F9CACA;">immutable</mark> once created. - This requires minting new cells to support modification like storing game entity properties.