Part of Stem. This page defines the Snapshot blob, the second state representation beside the Change graph.
A Snapshot is one signed value, typed by a schema, that is the whole state of a resource at a point in its history.
Fields
The schema extends blob.
Rules
A Snapshot is reached only through a Node whose target is snapshot. The peer validates value against schema, strictly for the kinds Stem ships and advisory for user-defined kinds, and refuses a Snapshot whose schema is not the kind's schema or an extension of it. prev gives causal order: a Snapshot that lists another is newer than it. A Snapshot may list Changes in prev, which is how a document can be compacted into a snapshot, and a Change may list a Snapshot in deps, which is how editing continues from it. Retention follows the kind: latest lets a peer drop superseded snapshots once no Node, link or version pin reaches them. References inside the value (node references, ipfs:// URLs, hm:// URLs) become links according to the kind's link rules. A Snapshot carries no visibility: its audience is its node's.
Today (HM24)
Example
A comment's snapshot:
{
"type": "Snapshot",
"signer": {"/": {"bytes": "7QEE...Commenter"}},
"sig": {"/": {"bytes": "..."}},
"ts": 1759910520000,
"schema": "hm://z6MkiAKDcRSzQ4zPZfnJcS5HYx5MwgN6MU9foHihJGrhqNBj/stem/kinds/comment/value",
"value": {
"target": {"space": {"/": {"bytes": "7QEE...Starlight"}}, "node": "bafyreiujzdegxdncf32epf3dhodzdocis2jhtlgmxgedn73u55xtplpft7", "version": "bafyreib3nq5mkq2w7e4w3slkz2n7m7xq6x4hw4x2x3vl6tz2cmkfnq5a3e"},
"body": [{"id": "b1", "type": "Paragraph", "text": "Should the roadmap mention groups?"}]
}
}See also
Do you like what you are reading? Subscribe to receive updates.
Unsubscribe anytime