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:
authorhodlbod <jstaab@protonmail.com>2024-05-30 12:25:30 -0700
committerGitHub <noreply@github.com>2024-05-30 12:25:30 -0700
commitcb29f752e87446119ea6a5f066c6be352d8b87ca (patch)
treea0714a2170a82437a68de50e9f78486b54d8e6a1 /README.md
parent1dc8d1857172d74e81097f34f1f5c58bcc29ac51 (diff)
parent5c796c19fd6330628a0b328bfcf5270cb2bc3aff (diff)
Merge branch 'master' into nip-72-edits
Diffstat (limited to 'README.md')
-rw-r--r--README.md120
1 files changed, 70 insertions, 50 deletions
diff --git a/README.md b/README.md
index c3c5ef0..ffa6393 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-38: User Statuses](38.md) 56- [NIP-38: User Statuses](38.md)
55- [NIP-39: External Identities in Profiles](39.md) 57- [NIP-39: External Identities in Profiles](39.md)
@@ -65,11 +67,13 @@ They exist to document what may be implemented by [Nostr](https://github.com/nos
65- [NIP-51: Lists](51.md) 67- [NIP-51: Lists](51.md)
66- [NIP-52: Calendar Events](52.md) 68- [NIP-52: Calendar Events](52.md)
67- [NIP-53: Live Activities](53.md) 69- [NIP-53: Live Activities](53.md)
70- [NIP-54: Wiki](54.md)
68- [NIP-56: Reporting](56.md) 71- [NIP-56: Reporting](56.md)
69- [NIP-57: Lightning Zaps](57.md) 72- [NIP-57: Lightning Zaps](57.md)
70- [NIP-58: Badges](58.md) 73- [NIP-58: Badges](58.md)
71- [NIP-59: Gift Wrap](59.md) 74- [NIP-59: Gift Wrap](59.md)
72- [NIP-65: Relay List Metadata](65.md) 75- [NIP-65: Relay List Metadata](65.md)
76- [NIP-71: Video Events](71.md)
73- [NIP-72: Moderated Communities](72.md) 77- [NIP-72: Moderated Communities](72.md)
74- [NIP-75: Zap Goals](75.md) 78- [NIP-75: Zap Goals](75.md)
75- [NIP-78: Application-specific data](78.md) 79- [NIP-78: Application-specific data](78.md)
@@ -99,12 +103,14 @@ They exist to document what may be implemented by [Nostr](https://github.com/nos
99| `11` | Group Thread | [29](29.md) | 103| `11` | Group Thread | [29](29.md) |
100| `12` | Group Thread Reply | [29](29.md) | 104| `12` | Group Thread Reply | [29](29.md) |
101| `13` | Seal | [59](59.md) | 105| `13` | Seal | [59](59.md) |
106| `14` | Direct Message | [17](17.md) |
102| `16` | Generic Repost | [18](18.md) | 107| `16` | Generic Repost | [18](18.md) |
103| `40` | Channel Creation | [28](28.md) | 108| `40` | Channel Creation | [28](28.md) |
104| `41` | Channel Metadata | [28](28.md) | 109| `41` | Channel Metadata | [28](28.md) |
105| `42` | Channel Message | [28](28.md) | 110| `42` | Channel Message | [28](28.md) |
106| `43` | Channel Hide Message | [28](28.md) | 111| `43` | Channel Hide Message | [28](28.md) |
107| `44` | Channel Mute User | [28](28.md) | 112| `44` | Channel Mute User | [28](28.md) |
113| `818` | Merge Requests | [54](54.md) |
108| `1021` | Bid | [15](15.md) | 114| `1021` | Bid | [15](15.md) |
109| `1022` | Bid confirmation | [15](15.md) | 115| `1022` | Bid confirmation | [15](15.md) |
110| `1040` | OpenTimestamps | [03](03.md) | 116| `1040` | OpenTimestamps | [03](03.md) |
@@ -114,9 +120,13 @@ They exist to document what may be implemented by [Nostr](https://github.com/nos
114| `1617` | Patches | [34](34.md) | 120| `1617` | Patches | [34](34.md) |
115| `1621` | Issues | [34](34.md) | 121| `1621` | Issues | [34](34.md) |
116| `1622` | Replies | [34](34.md) | 122| `1622` | Replies | [34](34.md) |
123| `1630`-`1633` | Status | [34](34.md) |
117| `1971` | Problem Tracker | [nostrocket][nostrocket] | 124| `1971` | Problem Tracker | [nostrocket][nostrocket] |
118| `1984` | Reporting | [56](56.md) | 125| `1984` | Reporting | [56](56.md) |
119| `1985` | Label | [32](32.md) | 126| `1985` | Label | [32](32.md) |
127| `2003` | Torrent | [35](35.md) |
128| `2004` | Torrent Comment | [35](35.md) |
129| `2022` | Coinjoin Pool | [joinstr][joinstr] |
120| `4550` | Community Post Approval | [72](72.md) | 130| `4550` | Community Post Approval | [72](72.md) |
121| `5000`-`5999` | Job Request | [90](90.md) | 131| `5000`-`5999` | Job Request | [90](90.md) |
122| `6000`-`6999` | Job Result | [90](90.md) | 132| `6000`-`6999` | Job Result | [90](90.md) |
@@ -137,6 +147,7 @@ They exist to document what may be implemented by [Nostr](https://github.com/nos
137| `10009` | User groups | [51](51.md), [29](29.md) | 147| `10009` | User groups | [51](51.md), [29](29.md) |
138| `10015` | Interests list | [51](51.md) | 148| `10015` | Interests list | [51](51.md) |
139| `10030` | User emoji list | [51](51.md) | 149| `10030` | User emoji list | [51](51.md) |
150| `10050` | Relay list to receive DMs | [17](17.md) |
140| `10096` | File storage server list | [96](96.md) | 151| `10096` | File storage server list | [96](96.md) |
141| `13194` | Wallet Info | [47](47.md) | 152| `13194` | Wallet Info | [47](47.md) |
142| `21000` | Lightning Pub RPC | [Lightning.Pub][lnpub] | 153| `21000` | Lightning Pub RPC | [Lightning.Pub][lnpub] |
@@ -150,6 +161,7 @@ They exist to document what may be implemented by [Nostr](https://github.com/nos
150| `30002` | Relay sets | [51](51.md) | 161| `30002` | Relay sets | [51](51.md) |
151| `30003` | Bookmark sets | [51](51.md) | 162| `30003` | Bookmark sets | [51](51.md) |
152| `30004` | Curation sets | [51](51.md) | 163| `30004` | Curation sets | [51](51.md) |
164| `30005` | Video sets | [51](51.md) |
153| `30008` | Profile Badges | [58](58.md) | 165| `30008` | Profile Badges | [58](58.md) |
154| `30009` | Badge Definition | [58](58.md) | 166| `30009` | Badge Definition | [58](58.md) |
155| `30015` | Interest sets | [51](51.md) | 167| `30015` | Interest sets | [51](51.md) |
@@ -167,17 +179,25 @@ They exist to document what may be implemented by [Nostr](https://github.com/nos
167| `30402` | Classified Listing | [99](99.md) | 179| `30402` | Classified Listing | [99](99.md) |
168| `30403` | Draft Classified Listing | [99](99.md) | 180| `30403` | Draft Classified Listing | [99](99.md) |
169| `30617` | Repository announcements | [34](34.md) | 181| `30617` | Repository announcements | [34](34.md) |
182| `30818` | Wiki article | [54](54.md) |
183| `30819` | Redirects | [54](54.md) |
184| `31890` | Feed | [NUD: Custom Feeds](https://wikifreedia.xyz/cip-01/97c70a44366a6535c1) |
170| `31922` | Date-Based Calendar Event | [52](52.md) | 185| `31922` | Date-Based Calendar Event | [52](52.md) |
171| `31923` | Time-Based Calendar Event | [52](52.md) | 186| `31923` | Time-Based Calendar Event | [52](52.md) |
172| `31924` | Calendar | [52](52.md) | 187| `31924` | Calendar | [52](52.md) |
173| `31925` | Calendar Event RSVP | [52](52.md) | 188| `31925` | Calendar Event RSVP | [52](52.md) |
174| `31989` | Handler recommendation | [89](89.md) | 189| `31989` | Handler recommendation | [89](89.md) |
175| `31990` | Handler information | [89](89.md) | 190| `31990` | Handler information | [89](89.md) |
191| `34235` | Video Event | [71](71.md) |
192| `34236` | Short-form Portrait Video Event | [71](71.md) |
193| `34237` | Video View Event | [71](71.md) |
176| `34550` | Community Definition | [72](72.md) | 194| `34550` | Community Definition | [72](72.md) |
177| `39000-9` | Group metadata events | [29](29.md) | 195| `39000-9` | Group metadata events | [29](29.md) |
178 196
197[NUD: Custom Feeds]: https://wikifreedia.xyz/cip-01/97c70a44366a6535c1
179[nostrocket]: https://github.com/nostrocket/NIPS/blob/main/Problems.md 198[nostrocket]: https://github.com/nostrocket/NIPS/blob/main/Problems.md
180[lnpub]: https://github.com/shocknet/Lightning.Pub/blob/master/proto/autogenerated/client.md 199[lnpub]: https://github.com/shocknet/Lightning.Pub/blob/master/proto/autogenerated/client.md
200[joinstr]: https://gitlab.com/1440000bytes/joinstr/-/blob/main/NIP.md
181 201
182## Message types 202## Message types
183 203
@@ -207,58 +227,58 @@ Please update these lists when proposing NIPs introducing new event kinds.
207 227
208## Standardized Tags 228## Standardized Tags
209 229
210| name | value | other parameters | NIP | 230| name | value | other parameters | NIP |
211| ----------------- | ------------------------------------ | -------------------- | ------------------------------------- | 231| ----------------- | ------------------------------------ | ------------------------------- | ------------------------------------- |
212| `e` | event id (hex) | relay URL, marker | [01](01.md), [10](10.md) | 232| `e` | event id (hex) | relay URL, marker, pubkey (hex) | [01](01.md), [10](10.md) |
213| `p` | pubkey (hex) | relay URL, petname | [01](01.md), [02](02.md) | 233| `p` | pubkey (hex) | relay URL, petname | [01](01.md), [02](02.md) |
214| `a` | coordinates to an event | relay URL | [01](01.md) | 234| `a` | coordinates to an event | relay URL | [01](01.md) |
215| `d` | identifier | -- | [01](01.md) | 235| `d` | identifier | -- | [01](01.md) |
216| `g` | geohash | -- | [52](52.md) | 236| `g` | geohash | -- | [52](52.md) |
217| `i` | identity | proof | [39](39.md) | 237| `i` | identity | proof | [39](39.md) |
218| `k` | kind number (string) | -- | [18](18.md), [25](25.md), [72](72.md) | 238| `k` | kind number (string) | -- | [18](18.md), [25](25.md), [72](72.md) |
219| `l` | label, label namespace | annotations | [32](32.md) | 239| `l` | label, label namespace | annotations | [32](32.md) |
220| `L` | label namespace | -- | [32](32.md) | 240| `L` | label namespace | -- | [32](32.md) |
221| `m` | MIME type | -- | [94](94.md) | 241| `m` | MIME type | -- | [94](94.md) |
222| `q` | event id (hex) | relay URL | [18](18.md) | 242| `q` | event id (hex) | relay URL | [18](18.md) |
223| `r` | a reference (URL, etc) | petname | | 243| `r` | a reference (URL, etc) | petname | |
224| `r` | relay url | marker | [65](65.md) | 244| `r` | relay url | marker | [65](65.md) |
225| `t` | hashtag | -- | | 245| `t` | hashtag | -- | |
226| `alt` | summary | -- | [31](31.md) | 246| `alt` | summary | -- | [31](31.md) |
227| `amount` | millisatoshis, stringified | -- | [57](57.md) | 247| `amount` | millisatoshis, stringified | -- | [57](57.md) |
228| `bolt11` | `bolt11` invoice | -- | [57](57.md) | 248| `bolt11` | `bolt11` invoice | -- | [57](57.md) |
229| `challenge` | challenge string | -- | [42](42.md) | 249| `challenge` | challenge string | -- | [42](42.md) |
230| `client` | name, address | relay URL | [89](89.md) | 250| `client` | name, address | relay URL | [89](89.md) |
231| `clone` | git clone URL | -- | [34](34.md) | 251| `clone` | git clone URL | -- | [34](34.md) |
232| `content-warning` | reason | -- | [36](36.md) | 252| `content-warning` | reason | -- | [36](36.md) |
233| `delegation` | pubkey, conditions, delegation token | -- | [26](26.md) | 253| `delegation` | pubkey, conditions, delegation token | -- | [26](26.md) |
234| `description` | description | -- | [34](34.md), [57](57.md), [58](58.md) | 254| `description` | description | -- | [34](34.md), [57](57.md), [58](58.md) |
235| `emoji` | shortcode, image URL | -- | [30](30.md) | 255| `emoji` | shortcode, image URL | -- | [30](30.md) |
236| `encrypted` | -- | -- | [90](90.md) | 256| `encrypted` | -- | -- | [90](90.md) |
237| `expiration` | unix timestamp (string) | -- | [40](40.md) | 257| `expiration` | unix timestamp (string) | -- | [40](40.md) |
238| `goal` | event id (hex) | relay URL | [75](75.md) | 258| `goal` | event id (hex) | relay URL | [75](75.md) |
239| `image` | image URL | dimensions in pixels | [23](23.md), [58](58.md) | 259| `image` | image URL | dimensions in pixels | [23](23.md), [58](58.md) |
240| `imeta` | inline metadata | -- | [92](92.md) | 260| `imeta` | inline metadata | -- | [92](92.md) |
241| `lnurl` | `bech32` encoded `lnurl` | -- | [57](57.md) | 261| `lnurl` | `bech32` encoded `lnurl` | -- | [57](57.md) |
242| `location` | location string | -- | [52](52.md), [99](99.md) | 262| `location` | location string | -- | [52](52.md), [99](99.md) |
243| `name` | name | -- | [34](34.md), [58](58.md) | 263| `name` | name | -- | [34](34.md), [58](58.md) |
244| `nonce` | random | -- | [13](13.md) | 264| `nonce` | random | difficulty | [13](13.md) |
245| `preimage` | hash of `bolt11` invoice | -- | [57](57.md) | 265| `preimage` | hash of `bolt11` invoice | -- | [57](57.md) |
246| `price` | price | currency, frequency | [99](99.md) | 266| `price` | price | currency, frequency | [99](99.md) |
247| `proxy` | external ID | protocol | [48](48.md) | 267| `proxy` | external ID | protocol | [48](48.md) |
248| `published_at` | unix timestamp (string) | -- | [23](23.md) | 268| `published_at` | unix timestamp (string) | -- | [23](23.md) |
249| `relay` | relay url | -- | [42](42.md) | 269| `relay` | relay url | -- | [42](42.md), [17](17.md) |
250| `relays` | relay list | -- | [57](57.md) | 270| `relays` | relay list | -- | [57](57.md) |
251| `server` | file storage server url | -- | [96](96.md) | 271| `server` | file storage server url | -- | [96](96.md) |
252| `subject` | subject | -- | [14](14.md) | 272| `subject` | subject | -- | [14](14.md), [17](17.md) |
253| `summary` | article summary | -- | [23](23.md) | 273| `summary` | article summary | -- | [23](23.md) |
254| `thumb` | badge thumbnail | dimensions in pixels | [58](58.md) | 274| `thumb` | badge thumbnail | dimensions in pixels | [58](58.md) |
255| `title` | article title | -- | [23](23.md) | 275| `title` | article title | -- | [23](23.md) |
256| `web` | webpage URL | -- | [34](34.md) | 276| `web` | webpage URL | -- | [34](34.md) |
257| `zap` | pubkey (hex), relay URL | weight | [57](57.md) | 277| `zap` | pubkey (hex), relay URL | weight | [57](57.md) |
258 278
259## Criteria for acceptance of NIPs 279## Criteria for acceptance of NIPs
260 280
2611. They should be implemented in at least two clients and one relay -- when applicable. 2811. They should be fully implemented in at least two clients and one relay -- when applicable.
2622. They should make sense. 2822. They should make sense.
2633. 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. 2833. 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.
2644. There should be no more than one way of doing the same thing. 2844. There should be no more than one way of doing the same thing.