nips/37.md
2024-03-02 11:15:52 -05:00

50 lines
1.3 KiB
Markdown

NIP-37
======
Editable Short Notes
--------------------
`draft` `optional`
This NIP allows `.content` modification of `kind:1` short notes while keeping a history of all changes.
`kind:1010` stores the updated content with a `e` tag pointing back to the `kind:1` id.
```js
{
"kind": 1010,
"pubkey": "<32-bytes hex-encoded public key of the event creator>",
"tags": [
["e", "<kind_1_event_id>"]
],
"content": "this is a modified version of the original content",
// ...other fields
}
```
Clients MUST check if the pubkey of the `kind:1010` is the same as the referenced `kind:1`
Clients SHOULD render the `.content` of the most recent `kind:1010` by `created_at`
Clients MAY present a history of changes over time.
# Collaboration
`kind:1010` that are not signed by the author of the `e`-tagged event are considered proposals to change.
```js
{
"kind": 1010,
"pubkey": "<32-bytes hex-encoded public key of the event creator>",
"tags": [
["e", "<kind_1_event_id>"]
["p", "<kind_1_event_pubkey>"] // notifying the author
["summary", "<message to the author>"]
],
"content": "this is the proposed change from a third-party to the author",
// ...other fields
}
```
To accept a proposal, the author signs a new `kind:1010` event with a copy of the `.content`.