# 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.