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:
authorOscar Merry <MerryOscar@users.noreply.github.com>2024-06-17 13:38:45 +0100
committerGitHub <noreply@github.com>2024-06-17 13:38:45 +0100
commit45351b561dcc15b9d3c09b64967a5e30a80ddabe (patch)
treee3bb8995aed591b519d042909eddd7d983bbe56e /README.md
parent32004283da0f0893d7b697c9a0b1a1f8611e9929 (diff)
parentc576737ba42772a561c6ebfd9faf0baae6d19b17 (diff)
Merge branch 'nostr-protocol:master' into external-content-ids
Diffstat (limited to 'README.md')
-rw-r--r--README.md115
1 files changed, 64 insertions, 51 deletions
diff --git a/README.md b/README.md
index 3209df9..99c4245 100644
--- a/README.md
+++ b/README.md
@@ -51,6 +51,7 @@ They exist to document what may be implemented by [Nostr](https://github.com/nos
51- [NIP-31: Dealing with Unknown Events](31.md) 51- [NIP-31: Dealing with Unknown Events](31.md)
52- [NIP-32: Labeling](32.md) 52- [NIP-32: Labeling](32.md)
53- [NIP-34: `git` stuff](34.md) 53- [NIP-34: `git` stuff](34.md)
54- [NIP-35: Torrents](35.md)
54- [NIP-36: Sensitive Content](36.md) 55- [NIP-36: Sensitive Content](36.md)
55- [NIP-38: User Statuses](38.md) 56- [NIP-38: User Statuses](38.md)
56- [NIP-39: External Identities in Profiles](39.md) 57- [NIP-39: External Identities in Profiles](39.md)
@@ -67,11 +68,13 @@ They exist to document what may be implemented by [Nostr](https://github.com/nos
67- [NIP-52: Calendar Events](52.md) 68- [NIP-52: Calendar Events](52.md)
68- [NIP-53: Live Activities](53.md) 69- [NIP-53: Live Activities](53.md)
69- [NIP-54: Wiki](54.md) 70- [NIP-54: Wiki](54.md)
71- [NIP-55: Android Signer Application](55.md)
70- [NIP-56: Reporting](56.md) 72- [NIP-56: Reporting](56.md)
71- [NIP-57: Lightning Zaps](57.md) 73- [NIP-57: Lightning Zaps](57.md)
72- [NIP-58: Badges](58.md) 74- [NIP-58: Badges](58.md)
73- [NIP-59: Gift Wrap](59.md) 75- [NIP-59: Gift Wrap](59.md)
74- [NIP-65: Relay List Metadata](65.md) 76- [NIP-65: Relay List Metadata](65.md)
77- [NIP-71: Video Events](71.md)
75- [NIP-72: Moderated Communities](72.md) 78- [NIP-72: Moderated Communities](72.md)
76- [NIP-75: Zap Goals](75.md) 79- [NIP-75: Zap Goals](75.md)
77- [NIP-78: Application-specific data](78.md) 80- [NIP-78: Application-specific data](78.md)
@@ -122,6 +125,9 @@ They exist to document what may be implemented by [Nostr](https://github.com/nos
122| `1971` | Problem Tracker | [nostrocket][nostrocket] | 125| `1971` | Problem Tracker | [nostrocket][nostrocket] |
123| `1984` | Reporting | [56](56.md) | 126| `1984` | Reporting | [56](56.md) |
124| `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] |
125| `4550` | Community Post Approval | [72](72.md) | 131| `4550` | Community Post Approval | [72](72.md) |
126| `5000`-`5999` | Job Request | [90](90.md) | 132| `5000`-`5999` | Job Request | [90](90.md) |
127| `6000`-`6999` | Job Result | [90](90.md) | 133| `6000`-`6999` | Job Result | [90](90.md) |
@@ -156,6 +162,7 @@ They exist to document what may be implemented by [Nostr](https://github.com/nos
156| `30002` | Relay sets | [51](51.md) | 162| `30002` | Relay sets | [51](51.md) |
157| `30003` | Bookmark sets | [51](51.md) | 163| `30003` | Bookmark sets | [51](51.md) |
158| `30004` | Curation sets | [51](51.md) | 164| `30004` | Curation sets | [51](51.md) |
165| `30005` | Video sets | [51](51.md) |
159| `30008` | Profile Badges | [58](58.md) | 166| `30008` | Profile Badges | [58](58.md) |
160| `30009` | Badge Definition | [58](58.md) | 167| `30009` | Badge Definition | [58](58.md) |
161| `30015` | Interest sets | [51](51.md) | 168| `30015` | Interest sets | [51](51.md) |
@@ -175,17 +182,23 @@ They exist to document what may be implemented by [Nostr](https://github.com/nos
175| `30617` | Repository announcements | [34](34.md) | 182| `30617` | Repository announcements | [34](34.md) |
176| `30818` | Wiki article | [54](54.md) | 183| `30818` | Wiki article | [54](54.md) |
177| `30819` | Redirects | [54](54.md) | 184| `30819` | Redirects | [54](54.md) |
185| `31890` | Feed | [NUD: Custom Feeds](https://wikifreedia.xyz/cip-01/97c70a44366a6535c1) |
178| `31922` | Date-Based Calendar Event | [52](52.md) | 186| `31922` | Date-Based Calendar Event | [52](52.md) |
179| `31923` | Time-Based Calendar Event | [52](52.md) | 187| `31923` | Time-Based Calendar Event | [52](52.md) |
180| `31924` | Calendar | [52](52.md) | 188| `31924` | Calendar | [52](52.md) |
181| `31925` | Calendar Event RSVP | [52](52.md) | 189| `31925` | Calendar Event RSVP | [52](52.md) |
182| `31989` | Handler recommendation | [89](89.md) | 190| `31989` | Handler recommendation | [89](89.md) |
183| `31990` | Handler information | [89](89.md) | 191| `31990` | Handler information | [89](89.md) |
192| `34235` | Video Event | [71](71.md) |
193| `34236` | Short-form Portrait Video Event | [71](71.md) |
194| `34237` | Video View Event | [71](71.md) |
184| `34550` | Community Definition | [72](72.md) | 195| `34550` | Community Definition | [72](72.md) |
185| `39000-9` | Group metadata events | [29](29.md) | 196| `39000-9` | Group metadata events | [29](29.md) |
186 197
198[NUD: Custom Feeds]: https://wikifreedia.xyz/cip-01/97c70a44366a6535c1
187[nostrocket]: https://github.com/nostrocket/NIPS/blob/main/Problems.md 199[nostrocket]: https://github.com/nostrocket/NIPS/blob/main/Problems.md
188[lnpub]: https://github.com/shocknet/Lightning.Pub/blob/master/proto/autogenerated/client.md 200[lnpub]: https://github.com/shocknet/Lightning.Pub/blob/master/proto/autogenerated/client.md
201[joinstr]: https://gitlab.com/1440000bytes/joinstr/-/blob/main/NIP.md
189 202
190## Message types 203## Message types
191 204
@@ -211,62 +224,62 @@ They exist to document what may be implemented by [Nostr](https://github.com/nos
211| `AUTH` | used to send authentication challenges | [42](42.md) | 224| `AUTH` | used to send authentication challenges | [42](42.md) |
212| `COUNT` | used to send requested event counts to clients | [45](45.md) | 225| `COUNT` | used to send requested event counts to clients | [45](45.md) |
213 226
214Please update these lists when proposing NIPs introducing new event kinds.
215
216## Standardized Tags 227## Standardized Tags
217 228
218| name | value | other parameters | NIP | 229| name | value | other parameters | NIP |
219| ----------------- | ------------------------------------ | -------------------- | ------------------------------------- | 230| ----------------- | ------------------------------------ | ------------------------------- | ------------------------------------- |
220| `e` | event id (hex) | relay URL, marker | [01](01.md), [10](10.md) | 231| `e` | event id (hex) | relay URL, marker, pubkey (hex) | [01](01.md), [10](10.md) |
221| `p` | pubkey (hex) | relay URL, petname | [01](01.md), [02](02.md) | 232| `p` | pubkey (hex) | relay URL, petname | [01](01.md), [02](02.md) |
222| `a` | coordinates to an event | relay URL | [01](01.md) | 233| `a` | coordinates to an event | relay URL | [01](01.md) |
223| `d` | identifier | -- | [01](01.md) | 234| `d` | identifier | -- | [01](01.md) |
224| `g` | geohash | -- | [52](52.md) | 235| `g` | geohash | -- | [52](52.md) |
225| `i` | identity | proof | [39](39.md) | 236| `i` | identity | proof | [39](39.md) |
226| `k` | kind number (string) | -- | [18](18.md), [25](25.md), [72](72.md) | 237| `k` | kind number (string) | -- | [18](18.md), [25](25.md), [72](72.md) |
227| `l` | label, label namespace | annotations | [32](32.md) | 238| `l` | label, label namespace | -- | [32](32.md) |
228| `L` | label namespace | -- | [32](32.md) | 239| `L` | label namespace | -- | [32](32.md) |
229| `m` | MIME type | -- | [94](94.md) | 240| `m` | MIME type | -- | [94](94.md) |
230| `q` | event id (hex) | relay URL | [18](18.md) | 241| `q` | event id (hex) | relay URL | [18](18.md) |
231| `r` | a reference (URL, etc) | petname | | 242| `r` | a reference (URL, etc) | petname | [24](24.md) |
232| `r` | relay url | marker | [65](65.md) | 243| `r` | relay url | marker | [65](65.md) |
233| `t` | hashtag | -- | | 244| `t` | hashtag | -- | |
234| `alt` | summary | -- | [31](31.md) | 245| `alt` | summary | -- | [31](31.md) |
235| `amount` | millisatoshis, stringified | -- | [57](57.md) | 246| `amount` | millisatoshis, stringified | -- | [57](57.md) |
236| `bolt11` | `bolt11` invoice | -- | [57](57.md) | 247| `bolt11` | `bolt11` invoice | -- | [57](57.md) |
237| `challenge` | challenge string | -- | [42](42.md) | 248| `challenge` | challenge string | -- | [42](42.md) |
238| `client` | name, address | relay URL | [89](89.md) | 249| `client` | name, address | relay URL | [89](89.md) |
239| `clone` | git clone URL | -- | [34](34.md) | 250| `clone` | git clone URL | -- | [34](34.md) |
240| `content-warning` | reason | -- | [36](36.md) | 251| `content-warning` | reason | -- | [36](36.md) |
241| `delegation` | pubkey, conditions, delegation token | -- | [26](26.md) | 252| `delegation` | pubkey, conditions, delegation token | -- | [26](26.md) |
242| `description` | description | -- | [34](34.md), [57](57.md), [58](58.md) | 253| `description` | description | -- | [34](34.md), [57](57.md), [58](58.md) |
243| `emoji` | shortcode, image URL | -- | [30](30.md) | 254| `emoji` | shortcode, image URL | -- | [30](30.md) |
244| `encrypted` | -- | -- | [90](90.md) | 255| `encrypted` | -- | -- | [90](90.md) |
245| `expiration` | unix timestamp (string) | -- | [40](40.md) | 256| `expiration` | unix timestamp (string) | -- | [40](40.md) |
246| `goal` | event id (hex) | relay URL | [75](75.md) | 257| `goal` | event id (hex) | relay URL | [75](75.md) |
247| `image` | image URL | dimensions in pixels | [23](23.md), [58](58.md) | 258| `image` | image URL | dimensions in pixels | [23](23.md), [58](58.md) |
248| `imeta` | inline metadata | -- | [92](92.md) | 259| `imeta` | inline metadata | -- | [92](92.md) |
249| `lnurl` | `bech32` encoded `lnurl` | -- | [57](57.md) | 260| `lnurl` | `bech32` encoded `lnurl` | -- | [57](57.md) |
250| `location` | location string | -- | [52](52.md), [99](99.md) | 261| `location` | location string | -- | [52](52.md), [99](99.md) |
251| `name` | name | -- | [34](34.md), [58](58.md) | 262| `name` | name | -- | [34](34.md), [58](58.md) |
252| `nonce` | random | -- | [13](13.md) | 263| `nonce` | random | difficulty | [13](13.md) |
253| `preimage` | hash of `bolt11` invoice | -- | [57](57.md) | 264| `preimage` | hash of `bolt11` invoice | -- | [57](57.md) |
254| `price` | price | currency, frequency | [99](99.md) | 265| `price` | price | currency, frequency | [99](99.md) |
255| `proxy` | external ID | protocol | [48](48.md) | 266| `proxy` | external ID | protocol | [48](48.md) |
256| `published_at` | unix timestamp (string) | -- | [23](23.md) | 267| `published_at` | unix timestamp (string) | -- | [23](23.md) |
257| `relay` | relay url | -- | [42](42.md), [17](17.md) | 268| `relay` | relay url | -- | [42](42.md), [17](17.md) |
258| `relays` | relay list | -- | [57](57.md) | 269| `relays` | relay list | -- | [57](57.md) |
259| `server` | file storage server url | -- | [96](96.md) | 270| `server` | file storage server url | -- | [96](96.md) |
260| `subject` | subject | -- | [14](14.md), [17](17.md) | 271| `subject` | subject | -- | [14](14.md), [17](17.md) |
261| `summary` | article summary | -- | [23](23.md) | 272| `summary` | article summary | -- | [23](23.md) |
262| `thumb` | badge thumbnail | dimensions in pixels | [58](58.md) | 273| `thumb` | badge thumbnail | dimensions in pixels | [58](58.md) |
263| `title` | article title | -- | [23](23.md) | 274| `title` | article title | -- | [23](23.md) |
264| `web` | webpage URL | -- | [34](34.md) | 275| `web` | webpage URL | -- | [34](34.md) |
265| `zap` | pubkey (hex), relay URL | weight | [57](57.md) | 276| `zap` | pubkey (hex), relay URL | weight | [57](57.md) |
277
278Please update these lists when proposing new NIPs.
266 279
267## Criteria for acceptance of NIPs 280## Criteria for acceptance of NIPs
268 281
2691. They should be implemented in at least two clients and one relay -- when applicable. 2821. They should be fully implemented in at least two clients and one relay -- when applicable.
2702. They should make sense. 2832. They should make sense.
2713. 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. 2843. 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.
2724. There should be no more than one way of doing the same thing. 2854. There should be no more than one way of doing the same thing.