upleb.uk

Public git repos — served from a NIP-34 GRASP relay at git.upleb.uk

summaryrefslogtreecommitdiff
path: root/README.md
diff options
context:
space:
mode:
authorVitor Pamplona <vitor@vitorpamplona.com>2024-05-30 15:32:46 -0400
committerVitor Pamplona <vitor@vitorpamplona.com>2024-05-30 15:32:46 -0400
commitd5b77b6d7348061cd0f16adc35e4d02a3a0b7380 (patch)
treef00539ec0e0a8b6bf027ff6a9b93846adafa02b3 /README.md
parent48674e563865b1cb7bb3c5c7869d20055446f408 (diff)
parent5c796c19fd6330628a0b328bfcf5270cb2bc3aff (diff)
Merge remote-tracking branch 'upstream/master' into draft-event
# Conflicts: # README.md
Diffstat (limited to 'README.md')
-rw-r--r--README.md124
1 files changed, 72 insertions, 52 deletions
diff --git a/README.md b/README.md
index b4626aa..cf2e76d 100644
--- a/README.md
+++ b/README.md
@@ -25,7 +25,7 @@ They exist to document what may be implemented by [Nostr](https://github.com/nos
25- [NIP-01: Basic protocol flow description](01.md) 25- [NIP-01: Basic protocol flow description](01.md)
26- [NIP-02: Follow List](02.md) 26- [NIP-02: Follow List](02.md)
27- [NIP-03: OpenTimestamps Attestations for Events](03.md) 27- [NIP-03: OpenTimestamps Attestations for Events](03.md)
28- [NIP-04: Encrypted Direct Message](04.md) --- **unrecommended**: deprecated in favor of [NIP-44](44.md) 28- [NIP-04: Encrypted Direct Message](04.md) --- **unrecommended**: deprecated in favor of [NIP-17](17.md)
29- [NIP-05: Mapping Nostr keys to DNS-based internet identifiers](05.md) 29- [NIP-05: Mapping Nostr keys to DNS-based internet identifiers](05.md)
30- [NIP-06: Basic key derivation from mnemonic seed phrase](06.md) 30- [NIP-06: Basic key derivation from mnemonic seed phrase](06.md)
31- [NIP-07: `window.nostr` capability for web browsers](07.md) 31- [NIP-07: `window.nostr` capability for web browsers](07.md)
@@ -36,6 +36,7 @@ They exist to document what may be implemented by [Nostr](https://github.com/nos
36- [NIP-13: Proof of Work](13.md) 36- [NIP-13: Proof of Work](13.md)
37- [NIP-14: Subject tag in text events](14.md) 37- [NIP-14: Subject tag in text events](14.md)
38- [NIP-15: Nostr Marketplace (for resilient marketplaces)](15.md) 38- [NIP-15: Nostr Marketplace (for resilient marketplaces)](15.md)
39- [NIP-17: Private Direct Messages](17.md)
39- [NIP-18: Reposts](18.md) 40- [NIP-18: Reposts](18.md)
40- [NIP-19: bech32-encoded entities](19.md) 41- [NIP-19: bech32-encoded entities](19.md)
41- [NIP-21: `nostr:` URI scheme](21.md) 42- [NIP-21: `nostr:` URI scheme](21.md)
@@ -50,6 +51,7 @@ They exist to document what may be implemented by [Nostr](https://github.com/nos
50- [NIP-31: Dealing with Unknown Events](31.md) 51- [NIP-31: Dealing with Unknown Events](31.md)
51- [NIP-32: Labeling](32.md) 52- [NIP-32: Labeling](32.md)
52- [NIP-34: `git` stuff](34.md) 53- [NIP-34: `git` stuff](34.md)
54- [NIP-35: Torrents](35.md)
53- [NIP-36: Sensitive Content](36.md) 55- [NIP-36: Sensitive Content](36.md)
54- [NIP-37: Draft Events](37.md) 56- [NIP-37: Draft Events](37.md)
55- [NIP-38: User Statuses](38.md) 57- [NIP-38: User Statuses](38.md)
@@ -66,11 +68,13 @@ They exist to document what may be implemented by [Nostr](https://github.com/nos
66- [NIP-51: Lists](51.md) 68- [NIP-51: Lists](51.md)
67- [NIP-52: Calendar Events](52.md) 69- [NIP-52: Calendar Events](52.md)
68- [NIP-53: Live Activities](53.md) 70- [NIP-53: Live Activities](53.md)
71- [NIP-54: Wiki](54.md)
69- [NIP-56: Reporting](56.md) 72- [NIP-56: Reporting](56.md)
70- [NIP-57: Lightning Zaps](57.md) 73- [NIP-57: Lightning Zaps](57.md)
71- [NIP-58: Badges](58.md) 74- [NIP-58: Badges](58.md)
72- [NIP-59: Gift Wrap](59.md) 75- [NIP-59: Gift Wrap](59.md)
73- [NIP-65: Relay List Metadata](65.md) 76- [NIP-65: Relay List Metadata](65.md)
77- [NIP-71: Video Events](71.md)
74- [NIP-72: Moderated Communities](72.md) 78- [NIP-72: Moderated Communities](72.md)
75- [NIP-75: Zap Goals](75.md) 79- [NIP-75: Zap Goals](75.md)
76- [NIP-78: Application-specific data](78.md) 80- [NIP-78: Application-specific data](78.md)
@@ -100,12 +104,14 @@ They exist to document what may be implemented by [Nostr](https://github.com/nos
100| `11` | Group Thread | [29](29.md) | 104| `11` | Group Thread | [29](29.md) |
101| `12` | Group Thread Reply | [29](29.md) | 105| `12` | Group Thread Reply | [29](29.md) |
102| `13` | Seal | [59](59.md) | 106| `13` | Seal | [59](59.md) |
107| `14` | Direct Message | [17](17.md) |
103| `16` | Generic Repost | [18](18.md) | 108| `16` | Generic Repost | [18](18.md) |
104| `40` | Channel Creation | [28](28.md) | 109| `40` | Channel Creation | [28](28.md) |
105| `41` | Channel Metadata | [28](28.md) | 110| `41` | Channel Metadata | [28](28.md) |
106| `42` | Channel Message | [28](28.md) | 111| `42` | Channel Message | [28](28.md) |
107| `43` | Channel Hide Message | [28](28.md) | 112| `43` | Channel Hide Message | [28](28.md) |
108| `44` | Channel Mute User | [28](28.md) | 113| `44` | Channel Mute User | [28](28.md) |
114| `818` | Merge Requests | [54](54.md) |
109| `1021` | Bid | [15](15.md) | 115| `1021` | Bid | [15](15.md) |
110| `1022` | Bid confirmation | [15](15.md) | 116| `1022` | Bid confirmation | [15](15.md) |
111| `1040` | OpenTimestamps | [03](03.md) | 117| `1040` | OpenTimestamps | [03](03.md) |
@@ -115,9 +121,13 @@ They exist to document what may be implemented by [Nostr](https://github.com/nos
115| `1617` | Patches | [34](34.md) | 121| `1617` | Patches | [34](34.md) |
116| `1621` | Issues | [34](34.md) | 122| `1621` | Issues | [34](34.md) |
117| `1622` | Replies | [34](34.md) | 123| `1622` | Replies | [34](34.md) |
124| `1630`-`1633` | Status | [34](34.md) |
118| `1971` | Problem Tracker | [nostrocket][nostrocket] | 125| `1971` | Problem Tracker | [nostrocket][nostrocket] |
119| `1984` | Reporting | [56](56.md) | 126| `1984` | Reporting | [56](56.md) |
120| `1985` | Label | [32](32.md) | 127| `1985` | Label | [32](32.md) |
128| `2003` | Torrent | [35](35.md) |
129| `2004` | Torrent Comment | [35](35.md) |
130| `2022` | Coinjoin Pool | [joinstr][joinstr] |
121| `4550` | Community Post Approval | [72](72.md) | 131| `4550` | Community Post Approval | [72](72.md) |
122| `5000`-`5999` | Job Request | [90](90.md) | 132| `5000`-`5999` | Job Request | [90](90.md) |
123| `6000`-`6999` | Job Result | [90](90.md) | 133| `6000`-`6999` | Job Result | [90](90.md) |
@@ -139,6 +149,7 @@ They exist to document what may be implemented by [Nostr](https://github.com/nos
139| `10013` | Private Relays | [35](37.md) | 149| `10013` | Private Relays | [35](37.md) |
140| `10015` | Interests list | [51](51.md) | 150| `10015` | Interests list | [51](51.md) |
141| `10030` | User emoji list | [51](51.md) | 151| `10030` | User emoji list | [51](51.md) |
152| `10050` | Relay list to receive DMs | [17](17.md) |
142| `10096` | File storage server list | [96](96.md) | 153| `10096` | File storage server list | [96](96.md) |
143| `13194` | Wallet Info | [47](47.md) | 154| `13194` | Wallet Info | [47](47.md) |
144| `21000` | Lightning Pub RPC | [Lightning.Pub][lnpub] | 155| `21000` | Lightning Pub RPC | [Lightning.Pub][lnpub] |
@@ -152,6 +163,7 @@ They exist to document what may be implemented by [Nostr](https://github.com/nos
152| `30002` | Relay sets | [51](51.md) | 163| `30002` | Relay sets | [51](51.md) |
153| `30003` | Bookmark sets | [51](51.md) | 164| `30003` | Bookmark sets | [51](51.md) |
154| `30004` | Curation sets | [51](51.md) | 165| `30004` | Curation sets | [51](51.md) |
166| `30005` | Video sets | [51](51.md) |
155| `30008` | Profile Badges | [58](58.md) | 167| `30008` | Profile Badges | [58](58.md) |
156| `30009` | Badge Definition | [58](58.md) | 168| `30009` | Badge Definition | [58](58.md) |
157| `30015` | Interest sets | [51](51.md) | 169| `30015` | Interest sets | [51](51.md) |
@@ -169,18 +181,26 @@ They exist to document what may be implemented by [Nostr](https://github.com/nos
169| `30402` | Classified Listing | [99](99.md) | 181| `30402` | Classified Listing | [99](99.md) |
170| `30403` | Draft Classified Listing | [99](99.md) | 182| `30403` | Draft Classified Listing | [99](99.md) |
171| `30617` | Repository announcements | [34](34.md) | 183| `30617` | Repository announcements | [34](34.md) |
172| `31234` | Draft Event | [35](37.md) | 184| `30818` | Wiki article | [54](54.md) |
185| `30819` | Redirects | [54](54.md) |
186| `31890` | Feed | [NUD: Custom Feeds](https://wikifreedia.xyz/cip-01/97c70a44366a6535c1) |
187| `31234` | Draft Event | [37](37.md) |
173| `31922` | Date-Based Calendar Event | [52](52.md) | 188| `31922` | Date-Based Calendar Event | [52](52.md) |
174| `31923` | Time-Based Calendar Event | [52](52.md) | 189| `31923` | Time-Based Calendar Event | [52](52.md) |
175| `31924` | Calendar | [52](52.md) | 190| `31924` | Calendar | [52](52.md) |
176| `31925` | Calendar Event RSVP | [52](52.md) | 191| `31925` | Calendar Event RSVP | [52](52.md) |
177| `31989` | Handler recommendation | [89](89.md) | 192| `31989` | Handler recommendation | [89](89.md) |
178| `31990` | Handler information | [89](89.md) | 193| `31990` | Handler information | [89](89.md) |
179| `39000-9` | Group metadata events | [29](29.md) | 194| `34235` | Video Event | [71](71.md) |
195| `34236` | Short-form Portrait Video Event | [71](71.md) |
196| `34237` | Video View Event | [71](71.md) |
180| `34550` | Community Definition | [72](72.md) | 197| `34550` | Community Definition | [72](72.md) |
198| `39000-9` | Group metadata events | [29](29.md) |
181 199
200[NUD: Custom Feeds]: https://wikifreedia.xyz/cip-01/97c70a44366a6535c1
182[nostrocket]: https://github.com/nostrocket/NIPS/blob/main/Problems.md 201[nostrocket]: https://github.com/nostrocket/NIPS/blob/main/Problems.md
183[lnpub]: https://github.com/shocknet/Lightning.Pub/blob/master/proto/autogenerated/client.md 202[lnpub]: https://github.com/shocknet/Lightning.Pub/blob/master/proto/autogenerated/client.md
203[joinstr]: https://gitlab.com/1440000bytes/joinstr/-/blob/main/NIP.md
184 204
185## Message types 205## Message types
186 206
@@ -210,58 +230,58 @@ Please update these lists when proposing NIPs introducing new event kinds.
210 230
211## Standardized Tags 231## Standardized Tags
212 232
213| name | value | other parameters | NIP | 233| name | value | other parameters | NIP |
214| ----------------- | ------------------------------------ | -------------------- | ------------------------------------- | 234| ----------------- | ------------------------------------ | ------------------------------- | ------------------------------------- |
215| `e` | event id (hex) | relay URL, marker | [01](01.md), [10](10.md) | 235| `e` | event id (hex) | relay URL, marker, pubkey (hex) | [01](01.md), [10](10.md) |
216| `p` | pubkey (hex) | relay URL, petname | [01](01.md), [02](02.md) | 236| `p` | pubkey (hex) | relay URL, petname | [01](01.md), [02](02.md) |
217| `a` | coordinates to an event | relay URL | [01](01.md) | 237| `a` | coordinates to an event | relay URL | [01](01.md) |
218| `d` | identifier | -- | [01](01.md) | 238| `d` | identifier | -- | [01](01.md) |
219| `g` | geohash | -- | [52](52.md) | 239| `g` | geohash | -- | [52](52.md) |
220| `i` | identity | proof | [39](39.md) | 240| `i` | identity | proof | [39](39.md) |
221| `k` | kind number (string) | -- | [18](18.md), [25](25.md), [72](72.md) | 241| `k` | kind number (string) | -- | [18](18.md), [25](25.md), [72](72.md) |
222| `l` | label, label namespace | annotations | [32](32.md) | 242| `l` | label, label namespace | annotations | [32](32.md) |
223| `L` | label namespace | -- | [32](32.md) | 243| `L` | label namespace | -- | [32](32.md) |
224| `m` | MIME type | -- | [94](94.md) | 244| `m` | MIME type | -- | [94](94.md) |
225| `q` | event id (hex) | relay URL | [18](18.md) | 245| `q` | event id (hex) | relay URL | [18](18.md) |
226| `r` | a reference (URL, etc) | petname | | 246| `r` | a reference (URL, etc) | petname | |
227| `r` | relay url | marker | [65](65.md) | 247| `r` | relay url | marker | [65](65.md) |
228| `t` | hashtag | -- | | 248| `t` | hashtag | -- | |
229| `alt` | summary | -- | [31](31.md) | 249| `alt` | summary | -- | [31](31.md) |
230| `amount` | millisatoshis, stringified | -- | [57](57.md) | 250| `amount` | millisatoshis, stringified | -- | [57](57.md) |
231| `bolt11` | `bolt11` invoice | -- | [57](57.md) | 251| `bolt11` | `bolt11` invoice | -- | [57](57.md) |
232| `challenge` | challenge string | -- | [42](42.md) | 252| `challenge` | challenge string | -- | [42](42.md) |
233| `client` | name, address | relay URL | [89](89.md) | 253| `client` | name, address | relay URL | [89](89.md) |
234| `clone` | git clone URL | -- | [34](34.md) | 254| `clone` | git clone URL | -- | [34](34.md) |
235| `content-warning` | reason | -- | [36](36.md) | 255| `content-warning` | reason | -- | [36](36.md) |
236| `delegation` | pubkey, conditions, delegation token | -- | [26](26.md) | 256| `delegation` | pubkey, conditions, delegation token | -- | [26](26.md) |
237| `description` | description | -- | [34](34.md), [57](57.md), [58](58.md) | 257| `description` | description | -- | [34](34.md), [57](57.md), [58](58.md) |
238| `emoji` | shortcode, image URL | -- | [30](30.md) | 258| `emoji` | shortcode, image URL | -- | [30](30.md) |
239| `encrypted` | -- | -- | [90](90.md) | 259| `encrypted` | -- | -- | [90](90.md) |
240| `expiration` | unix timestamp (string) | -- | [40](40.md) | 260| `expiration` | unix timestamp (string) | -- | [40](40.md) |
241| `goal` | event id (hex) | relay URL | [75](75.md) | 261| `goal` | event id (hex) | relay URL | [75](75.md) |
242| `image` | image URL | dimensions in pixels | [23](23.md), [58](58.md) | 262| `image` | image URL | dimensions in pixels | [23](23.md), [58](58.md) |
243| `imeta` | inline metadata | -- | [92](92.md) | 263| `imeta` | inline metadata | -- | [92](92.md) |
244| `lnurl` | `bech32` encoded `lnurl` | -- | [57](57.md) | 264| `lnurl` | `bech32` encoded `lnurl` | -- | [57](57.md) |
245| `location` | location string | -- | [52](52.md), [99](99.md) | 265| `location` | location string | -- | [52](52.md), [99](99.md) |
246| `name` | name | -- | [34](34.md), [58](58.md) | 266| `name` | name | -- | [34](34.md), [58](58.md) |
247| `nonce` | random | -- | [13](13.md) | 267| `nonce` | random | difficulty | [13](13.md) |
248| `preimage` | hash of `bolt11` invoice | -- | [57](57.md) | 268| `preimage` | hash of `bolt11` invoice | -- | [57](57.md) |
249| `price` | price | currency, frequency | [99](99.md) | 269| `price` | price | currency, frequency | [99](99.md) |
250| `proxy` | external ID | protocol | [48](48.md) | 270| `proxy` | external ID | protocol | [48](48.md) |
251| `published_at` | unix timestamp (string) | -- | [23](23.md) | 271| `published_at` | unix timestamp (string) | -- | [23](23.md) |
252| `relay` | relay url | -- | [42](42.md) | 272| `relay` | relay url | -- | [42](42.md), [17](17.md) |
253| `relays` | relay list | -- | [57](57.md) | 273| `relays` | relay list | -- | [57](57.md) |
254| `server` | file storage server url | -- | [96](96.md) | 274| `server` | file storage server url | -- | [96](96.md) |
255| `subject` | subject | -- | [14](14.md) | 275| `subject` | subject | -- | [14](14.md), [17](17.md) |
256| `summary` | article summary | -- | [23](23.md) | 276| `summary` | article summary | -- | [23](23.md) |
257| `thumb` | badge thumbnail | dimensions in pixels | [58](58.md) | 277| `thumb` | badge thumbnail | dimensions in pixels | [58](58.md) |
258| `title` | article title | -- | [23](23.md) | 278| `title` | article title | -- | [23](23.md) |
259| `web` | webpage URL | -- | [34](34.md) | 279| `web` | webpage URL | -- | [34](34.md) |
260| `zap` | pubkey (hex), relay URL | weight | [57](57.md) | 280| `zap` | pubkey (hex), relay URL | weight | [57](57.md) |
261 281
262## Criteria for acceptance of NIPs 282## Criteria for acceptance of NIPs
263 283
2641. They should be implemented in at least two clients and one relay -- when applicable. 2841. They should be fully implemented in at least two clients and one relay -- when applicable.
2652. They should make sense. 2852. They should make sense.
2663. They should be optional and backwards-compatible: care must be taken such that clients and relays that choose to not implement them do not stop working when interacting with the ones that choose to. 2863. They should be optional and backwards-compatible: care must be taken such that clients and relays that choose to not implement them do not stop working when interacting with the ones that choose to.
2674. There should be no more than one way of doing the same thing. 2874. There should be no more than one way of doing the same thing.