1.8 KiB
NIP-37
Draft Events
draft
optional
This NIP defines kind 31234
as a private wrap for drafts of any other event kind.
The draft event is JSON-stringified, NIP44-encrypted to the signer's public key and placed inside the .content
of the event.
An additional k
tag identifies the kind of the draft event.
{
"kind": 31234,
"tags": [
["d", "<identifier>"],
["k", "<kind of the draft event>"],
["e", "<anchor event event id>", "<relay-url>"],
["a", "<anchor event address>", "<relay-url>"],
],
"content": nip44Encrypt(JSON.stringify(draft_event)),
// other fields
}
A blanked .content
means this draft has been deleted by a client but relays still have the event.
Tags e
and a
identify one or more anchor events, such as parent events on replies.
Checkpoints
kind:1234
defines checkpoints that belong to a parent kind:31234
event. These can serve to provide a revision history of a parent event.
{
"kind": 1234,
"tags": [
["a", "31234:<pubkey>:<identifier>"]
],
"content": nip44Encrypt(JSON.stringify(draft_event)),
}
Relay List for Private Content
Kind 10013
indicates the user's preferred relays to store private events like Drafts. The event MUST include a list of relay
URLs in private tags. Private tags are JSON Stringified, NIP-44-encrypted to the signer's keys and placed inside the .content of the event.
{
"kind": 10013,
"tags": [],
"content": nip44Encrypt(JSON.stringify([
["relay", "wss://myrelay.mydomain.com"]
]))
//...other fields
}
Relays listed in this event SHOULD be authed and only allow downloads to events signed by the authed user.
Clients SHOULD publish kind 10013
events to the author's NIP-65 write
relays.