TileDocument is a StreamType that stores a mutable JSON document, providing similar functionality as a NoSQL document store.
See TileDocument StreamType (CIP-8) for the complete specification.
TileDocuments are streams used for storing JSON documents. The TileDocument stream is structured as a single log of commits, where each commit only contains the diff from the previous version. Optionally, TileDocuments may specify a JSON schema and all commits must adhere to the schema.
TileDocuments rely on anchor commits for providing immutable timestamps for the genesis commit and subsequent signed commits in the stream. In the case of conflicting versions, the branch with the earliest recorded anchor commit will be respected as the canonical branch.
Sample use cases¶
TileDocuments are commonly used for storing:
- Identity metadata and information
- User-generated content (i.e. blog posts, social media, etc)
- Lists of other streamIDs to form collections (i.e. IDX)
- DID Documents (i.e. 3ID DID Method)
- Verifiable claims
- and more