mirror of
https://github.com/nostr-protocol/nips.git
synced 2025-12-09 08:38:50 +00:00
Compare commits
2 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
cbd5cbee45 | ||
|
|
4ced60ba68 |
4
23.md
4
23.md
@@ -6,9 +6,7 @@ Long-form Content
|
||||
|
||||
`draft` `optional`
|
||||
|
||||
This NIP defines `kind:30023` (an _addressable event_) for long-form text content, generally referred to as "articles" or "blog posts".
|
||||
|
||||
Deprecated: `kind:30024` was used for long-form drafts (self-encrypted nip04, same format as `kind:30023`). The preferred way of doing long-form drafts is to use [NIP-37](37.md) instead.
|
||||
This NIP defines `kind:30023` (an _addressable event_) for long-form text content, generally referred to as "articles" or "blog posts". `kind:30024` has the same structure as `kind:30023` and is used to save long form drafts.
|
||||
|
||||
"Social" clients that deal primarily with `kind:1` notes should not be expected to implement this NIP.
|
||||
|
||||
|
||||
63
37.md
63
37.md
@@ -1,63 +0,0 @@
|
||||
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](44.md) 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.
|
||||
|
||||
```js
|
||||
{
|
||||
"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.
|
||||
|
||||
```js
|
||||
{
|
||||
"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.
|
||||
|
||||
```js
|
||||
{
|
||||
"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](65.md) `write` relays.
|
||||
3
51.md
3
51.md
@@ -30,8 +30,9 @@ For example, _mute list_ can contain the public keys of spammers and bad actors
|
||||
| Blocked relays | 10006 | relays clients should never connect to | `"relay"` (relay URLs) |
|
||||
| Search relays | 10007 | relays clients should use when performing search queries | `"relay"` (relay URLs) |
|
||||
| Simple groups | 10009 | [NIP-29](29.md) groups the user is in | `"group"` ([NIP-29](29.md) group id + relay URL + optional group name), `"r"` for each relay in use |
|
||||
| Draft relays | 10013 | (nip44-encrypted) [NIP-37](37.md) draft relays | `"relay"` (relay URL) |
|
||||
| Interests | 10015 | topics a user may be interested in and pointers | `"t"` (hashtags) and `"a"` (kind:30015 interest set) |
|
||||
| Nutzap mints | 10019 | mints the user accepts nutzaps in | `"mint"` (mint URL) (see [NIP-61](61.md) for more) |
|
||||
| Blocked mints | 10020 | mints the user doesn't want to use | `"u"` (mint URL) |
|
||||
| Emojis | 10030 | user preferred emojis and pointers to emoji sets | `"emoji"` (see [NIP-30](30.md)) and `"a"` (kind:30030 emoji set) |
|
||||
| DM relays | 10050 | Where to receive [NIP-17](17.md) direct messages | `"relay"` (see [NIP-17](17.md)) |
|
||||
| Good wiki authors | 10101 | [NIP-54](54.md) user recommended wiki authors | `"p"` (pubkeys) |
|
||||
|
||||
@@ -54,7 +54,6 @@ They exist to document what may be implemented by [Nostr](https://github.com/nos
|
||||
- [NIP-34: `git` stuff](34.md)
|
||||
- [NIP-35: Torrents](35.md)
|
||||
- [NIP-36: Sensitive Content](36.md)
|
||||
- [NIP-37: Draft Events](37.md)
|
||||
- [NIP-38: User Statuses](38.md)
|
||||
- [NIP-39: External Identities in Profiles](39.md)
|
||||
- [NIP-40: Expiration Timestamp](40.md)
|
||||
@@ -130,7 +129,6 @@ They exist to document what may be implemented by [Nostr](https://github.com/nos
|
||||
| `818` | Merge Requests | [54](54.md) |
|
||||
| `1021` | Bid | [15](15.md) |
|
||||
| `1022` | Bid confirmation | [15](15.md) |
|
||||
| `1234` | Draft Checkpoint | [37](37.md) |
|
||||
| `1040` | OpenTimestamps | [03](03.md) |
|
||||
| `1059` | Gift Wrap | [59](59.md) |
|
||||
| `1063` | File Metadata | [94](94.md) |
|
||||
@@ -215,7 +213,6 @@ They exist to document what may be implemented by [Nostr](https://github.com/nos
|
||||
| `30618` | Repository state announcements | [34](34.md) |
|
||||
| `30818` | Wiki article | [54](54.md) |
|
||||
| `30819` | Redirects | [54](54.md) |
|
||||
| `31234` | Draft Event | [37](37.md) |
|
||||
| `31388` | Link Set | [Corny Chat][cornychat-linkset] |
|
||||
| `31890` | Feed | [NUD: Custom Feeds][NUD: Custom Feeds] |
|
||||
| `31922` | Date-Based Calendar Event | [52](52.md) |
|
||||
|
||||
Reference in New Issue
Block a user