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:
Diffstat (limited to 'README.md')
-rw-r--r--README.md68
1 files changed, 56 insertions, 12 deletions
diff --git a/README.md b/README.md
index 1c2f806..3e44b85 100644
--- a/README.md
+++ b/README.md
@@ -15,6 +15,7 @@ They exist to document what may be implemented by [Nostr](https://github.com/nos
15- [Criteria for acceptance of NIPs](#criteria-for-acceptance-of-nips) 15- [Criteria for acceptance of NIPs](#criteria-for-acceptance-of-nips)
16- [Is this repository a centralizing factor?](#is-this-repository-a-centralizing-factor) 16- [Is this repository a centralizing factor?](#is-this-repository-a-centralizing-factor)
17- [How this repository works](#how-this-repository-works) 17- [How this repository works](#how-this-repository-works)
18- [Breaking Changes](#breaking-changes)
18- [License](#license) 19- [License](#license)
19 20
20--- 21---
@@ -24,7 +25,7 @@ They exist to document what may be implemented by [Nostr](https://github.com/nos
24- [NIP-01: Basic protocol flow description](01.md) 25- [NIP-01: Basic protocol flow description](01.md)
25- [NIP-02: Follow List](02.md) 26- [NIP-02: Follow List](02.md)
26- [NIP-03: OpenTimestamps Attestations for Events](03.md) 27- [NIP-03: OpenTimestamps Attestations for Events](03.md)
27- [NIP-04: Encrypted Direct Message](04.md) 28- [NIP-04: Encrypted Direct Message](04.md) --- **unrecommended**: deprecated in favor of [NIP-17](17.md)
28- [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)
29- [NIP-06: Basic key derivation from mnemonic seed phrase](06.md) 30- [NIP-06: Basic key derivation from mnemonic seed phrase](06.md)
30- [NIP-07: `window.nostr` capability for web browsers](07.md) 31- [NIP-07: `window.nostr` capability for web browsers](07.md)
@@ -35,6 +36,7 @@ They exist to document what may be implemented by [Nostr](https://github.com/nos
35- [NIP-13: Proof of Work](13.md) 36- [NIP-13: Proof of Work](13.md)
36- [NIP-14: Subject tag in text events](14.md) 37- [NIP-14: Subject tag in text events](14.md)
37- [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)
38- [NIP-18: Reposts](18.md) 40- [NIP-18: Reposts](18.md)
39- [NIP-19: bech32-encoded entities](19.md) 41- [NIP-19: bech32-encoded entities](19.md)
40- [NIP-21: `nostr:` URI scheme](21.md) 42- [NIP-21: `nostr:` URI scheme](21.md)
@@ -44,25 +46,31 @@ They exist to document what may be implemented by [Nostr](https://github.com/nos
44- [NIP-26: Delegated Event Signing](26.md) 46- [NIP-26: Delegated Event Signing](26.md)
45- [NIP-27: Text Note References](27.md) 47- [NIP-27: Text Note References](27.md)
46- [NIP-28: Public Chat](28.md) 48- [NIP-28: Public Chat](28.md)
49- [NIP-29: Relay-based Groups](29.md)
47- [NIP-30: Custom Emoji](30.md) 50- [NIP-30: Custom Emoji](30.md)
48- [NIP-31: Dealing with Unknown Events](31.md) 51- [NIP-31: Dealing with Unknown Events](31.md)
49- [NIP-32: Labeling](32.md) 52- [NIP-32: Labeling](32.md)
53- [NIP-34: `git` stuff](34.md)
50- [NIP-36: Sensitive Content](36.md) 54- [NIP-36: Sensitive Content](36.md)
51- [NIP-38: User Statuses](38.md) 55- [NIP-38: User Statuses](38.md)
52- [NIP-39: External Identities in Profiles](39.md) 56- [NIP-39: External Identities in Profiles](39.md)
53- [NIP-40: Expiration Timestamp](40.md) 57- [NIP-40: Expiration Timestamp](40.md)
54- [NIP-42: Authentication of clients to relays](42.md) 58- [NIP-42: Authentication of clients to relays](42.md)
59- [NIP-44: Versioned Encryption](44.md)
55- [NIP-45: Counting results](45.md) 60- [NIP-45: Counting results](45.md)
56- [NIP-46: Nostr Connect](46.md) 61- [NIP-46: Nostr Connect](46.md)
57- [NIP-47: Wallet Connect](47.md) 62- [NIP-47: Wallet Connect](47.md)
58- [NIP-48: Proxy Tags](48.md) 63- [NIP-48: Proxy Tags](48.md)
64- [NIP-49: Private Key Encryption](49.md)
59- [NIP-50: Search Capability](50.md) 65- [NIP-50: Search Capability](50.md)
60- [NIP-51: Lists](51.md) 66- [NIP-51: Lists](51.md)
61- [NIP-52: Calendar Events](52.md) 67- [NIP-52: Calendar Events](52.md)
62- [NIP-53: Live Activities](53.md) 68- [NIP-53: Live Activities](53.md)
69- [NIP-54: Wiki](54.md)
63- [NIP-56: Reporting](56.md) 70- [NIP-56: Reporting](56.md)
64- [NIP-57: Lightning Zaps](57.md) 71- [NIP-57: Lightning Zaps](57.md)
65- [NIP-58: Badges](58.md) 72- [NIP-58: Badges](58.md)
73- [NIP-59: Gift Wrap](59.md)
66- [NIP-65: Relay List Metadata](65.md) 74- [NIP-65: Relay List Metadata](65.md)
67- [NIP-71: Video Events](71.md) 75- [NIP-71: Video Events](71.md)
68- [NIP-72: Moderated Communities](72.md) 76- [NIP-72: Moderated Communities](72.md)
@@ -71,31 +79,47 @@ They exist to document what may be implemented by [Nostr](https://github.com/nos
71- [NIP-84: Highlights](84.md) 79- [NIP-84: Highlights](84.md)
72- [NIP-89: Recommended Application Handlers](89.md) 80- [NIP-89: Recommended Application Handlers](89.md)
73- [NIP-90: Data Vending Machines](90.md) 81- [NIP-90: Data Vending Machines](90.md)
82- [NIP-92: Media Attachments](92.md)
74- [NIP-94: File Metadata](94.md) 83- [NIP-94: File Metadata](94.md)
84- [NIP-96: HTTP File Storage Integration](96.md)
75- [NIP-98: HTTP Auth](98.md) 85- [NIP-98: HTTP Auth](98.md)
76- [NIP-99: Classified Listings](99.md) 86- [NIP-99: Classified Listings](99.md)
77 87
78## Event Kinds 88## Event Kinds
79| kind | description | NIP | 89| kind | description | NIP |
80| ------------- | -------------------------- | ----------- | 90| ------------- | -------------------------- | ------------------------ |
81| `0` | Metadata | [1](01.md) | 91| `0` | Metadata | [01](01.md) |
82| `1` | Short Text Note | [1](01.md) | 92| `1` | Short Text Note | [01](01.md) |
83| `2` | Recommend Relay | | 93| `2` | Recommend Relay | 01 (deprecated) |
84| `3` | Follows | [2](02.md) | 94| `3` | Follows | [02](02.md) |
85| `4` | Encrypted Direct Messages | [4](04.md) | 95| `4` | Encrypted Direct Messages | [04](04.md) |
86| `5` | Event Deletion | [9](09.md) | 96| `5` | Event Deletion | [09](09.md) |
87| `6` | Repost | [18](18.md) | 97| `6` | Repost | [18](18.md) |
88| `7` | Reaction | [25](25.md) | 98| `7` | Reaction | [25](25.md) |
89| `8` | Badge Award | [58](58.md) | 99| `8` | Badge Award | [58](58.md) |
100| `9` | Group Chat Message | [29](29.md) |
101| `10` | Group Chat Threaded Reply | [29](29.md) |
102| `11` | Group Thread | [29](29.md) |
103| `12` | Group Thread Reply | [29](29.md) |
104| `13` | Seal | [59](59.md) |
105| `14` | Direct Message | [17](17.md) |
90| `16` | Generic Repost | [18](18.md) | 106| `16` | Generic Repost | [18](18.md) |
91| `40` | Channel Creation | [28](28.md) | 107| `40` | Channel Creation | [28](28.md) |
92| `41` | Channel Metadata | [28](28.md) | 108| `41` | Channel Metadata | [28](28.md) |
93| `42` | Channel Message | [28](28.md) | 109| `42` | Channel Message | [28](28.md) |
94| `43` | Channel Hide Message | [28](28.md) | 110| `43` | Channel Hide Message | [28](28.md) |
95| `44` | Channel Mute User | [28](28.md) | 111| `44` | Channel Mute User | [28](28.md) |
112| `818` | Merge Requests | [54](54.md) |
113| `1021` | Bid | [15](15.md) |
114| `1022` | Bid confirmation | [15](15.md) |
96| `1040` | OpenTimestamps | [03](03.md) | 115| `1040` | OpenTimestamps | [03](03.md) |
116| `1059` | Gift Wrap | [59](59.md) |
97| `1063` | File Metadata | [94](94.md) | 117| `1063` | File Metadata | [94](94.md) |
98| `1311` | Live Chat Message | [53](53.md) | 118| `1311` | Live Chat Message | [53](53.md) |
119| `1617` | Patches | [34](34.md) |
120| `1621` | Issues | [34](34.md) |
121| `1622` | Replies | [34](34.md) |
122| `1630`-`1633` | Status | [34](34.md) |
99| `1971` | Problem Tracker | [nostrocket][nostrocket] | 123| `1971` | Problem Tracker | [nostrocket][nostrocket] |
100| `1984` | Reporting | [56](56.md) | 124| `1984` | Reporting | [56](56.md) |
101| `1985` | Label | [32](32.md) | 125| `1985` | Label | [32](32.md) |
@@ -103,6 +127,7 @@ They exist to document what may be implemented by [Nostr](https://github.com/nos
103| `5000`-`5999` | Job Request | [90](90.md) | 127| `5000`-`5999` | Job Request | [90](90.md) |
104| `6000`-`6999` | Job Result | [90](90.md) | 128| `6000`-`6999` | Job Result | [90](90.md) |
105| `7000` | Job Feedback | [90](90.md) | 129| `7000` | Job Feedback | [90](90.md) |
130| `9000`-`9030` | Group Control Events | [29](29.md) |
106| `9041` | Zap Goal | [75](75.md) | 131| `9041` | Zap Goal | [75](75.md) |
107| `9734` | Zap Request | [57](57.md) | 132| `9734` | Zap Request | [57](57.md) |
108| `9735` | Zap | [57](57.md) | 133| `9735` | Zap | [57](57.md) |
@@ -115,8 +140,11 @@ They exist to document what may be implemented by [Nostr](https://github.com/nos
115| `10005` | Public chats list | [51](51.md) | 140| `10005` | Public chats list | [51](51.md) |
116| `10006` | Blocked relays list | [51](51.md) | 141| `10006` | Blocked relays list | [51](51.md) |
117| `10007` | Search relays list | [51](51.md) | 142| `10007` | Search relays list | [51](51.md) |
143| `10009` | User groups | [51](51.md), [29](29.md) |
118| `10015` | Interests list | [51](51.md) | 144| `10015` | Interests list | [51](51.md) |
119| `10030` | User emoji list | [51](51.md) | 145| `10030` | User emoji list | [51](51.md) |
146| `10050` | Relay list to receive DMs | [17](17.md) |
147| `10096` | File storage server list | [96](96.md) |
120| `13194` | Wallet Info | [47](47.md) | 148| `13194` | Wallet Info | [47](47.md) |
121| `21000` | Lightning Pub RPC | [Lightning.Pub][lnpub] | 149| `21000` | Lightning Pub RPC | [Lightning.Pub][lnpub] |
122| `22242` | Client Authentication | [42](42.md) | 150| `22242` | Client Authentication | [42](42.md) |
@@ -135,14 +163,20 @@ They exist to document what may be implemented by [Nostr](https://github.com/nos
135| `30015` | Interest sets | [51](51.md) | 163| `30015` | Interest sets | [51](51.md) |
136| `30017` | Create or update a stall | [15](15.md) | 164| `30017` | Create or update a stall | [15](15.md) |
137| `30018` | Create or update a product | [15](15.md) | 165| `30018` | Create or update a product | [15](15.md) |
166| `30019` | Marketplace UI/UX | [15](15.md) |
167| `30020` | Product sold as an auction | [15](15.md) |
138| `30023` | Long-form Content | [23](23.md) | 168| `30023` | Long-form Content | [23](23.md) |
139| `30024` | Draft Long-form Content | [23](23.md) | 169| `30024` | Draft Long-form Content | [23](23.md) |
140| `30030` | Emoji sets | [51](51.md) | 170| `30030` | Emoji sets | [51](51.md) |
171| `30063` | Release artifact sets | [51](51.md) |
141| `30078` | Application-specific Data | [78](78.md) | 172| `30078` | Application-specific Data | [78](78.md) |
142| `30311` | Live Event | [53](53.md) | 173| `30311` | Live Event | [53](53.md) |
143| `30315` | User Statuses | [38](38.md) | 174| `30315` | User Statuses | [38](38.md) |
144| `30402` | Classified Listing | [99](99.md) | 175| `30402` | Classified Listing | [99](99.md) |
145| `30403` | Draft Classified Listing | [99](99.md) | 176| `30403` | Draft Classified Listing | [99](99.md) |
177| `30617` | Repository announcements | [34](34.md) |
178| `30818` | Wiki article | [54](54.md) |
179| `30819` | Redirects | [54](54.md) |
146| `31922` | Date-Based Calendar Event | [52](52.md) | 180| `31922` | Date-Based Calendar Event | [52](52.md) |
147| `31923` | Time-Based Calendar Event | [52](52.md) | 181| `31923` | Time-Based Calendar Event | [52](52.md) |
148| `31924` | Calendar | [52](52.md) | 182| `31924` | Calendar | [52](52.md) |
@@ -153,6 +187,7 @@ They exist to document what may be implemented by [Nostr](https://github.com/nos
153| `34236` | Short-form Portrait Video Event | [71](71.md) | 187| `34236` | Short-form Portrait Video Event | [71](71.md) |
154| `34237` | Video View Event | [71](71.md) | 188| `34237` | Video View Event | [71](71.md) |
155| `34550` | Community Definition | [72](72.md) | 189| `34550` | Community Definition | [72](72.md) |
190| `39000-9` | Group metadata events | [29](29.md) |
156 191
157[nostrocket]: https://github.com/nostrocket/NIPS/blob/main/Problems.md 192[nostrocket]: https://github.com/nostrocket/NIPS/blob/main/Problems.md
158[lnpub]: https://github.com/shocknet/Lightning.Pub/blob/master/proto/autogenerated/client.md 193[lnpub]: https://github.com/shocknet/Lightning.Pub/blob/master/proto/autogenerated/client.md
@@ -197,6 +232,7 @@ Please update these lists when proposing NIPs introducing new event kinds.
197| `l` | label, label namespace | annotations | [32](32.md) | 232| `l` | label, label namespace | annotations | [32](32.md) |
198| `L` | label namespace | -- | [32](32.md) | 233| `L` | label namespace | -- | [32](32.md) |
199| `m` | MIME type | -- | [94](94.md) | 234| `m` | MIME type | -- | [94](94.md) |
235| `q` | event id (hex) | relay URL | [18](18.md) |
200| `r` | a reference (URL, etc) | petname | | 236| `r` | a reference (URL, etc) | petname | |
201| `r` | relay url | marker | [65](65.md) | 237| `r` | relay url | marker | [65](65.md) |
202| `t` | hashtag | -- | | 238| `t` | hashtag | -- | |
@@ -205,28 +241,32 @@ Please update these lists when proposing NIPs introducing new event kinds.
205| `bolt11` | `bolt11` invoice | -- | [57](57.md) | 241| `bolt11` | `bolt11` invoice | -- | [57](57.md) |
206| `challenge` | challenge string | -- | [42](42.md) | 242| `challenge` | challenge string | -- | [42](42.md) |
207| `client` | name, address | relay URL | [89](89.md) | 243| `client` | name, address | relay URL | [89](89.md) |
244| `clone` | git clone URL | -- | [34](34.md) |
208| `content-warning` | reason | -- | [36](36.md) | 245| `content-warning` | reason | -- | [36](36.md) |
209| `delegation` | pubkey, conditions, delegation token | -- | [26](26.md) | 246| `delegation` | pubkey, conditions, delegation token | -- | [26](26.md) |
210| `description` | invoice/badge description | -- | [57](57.md), [58](58.md) | 247| `description` | description | -- | [34](34.md), [57](57.md), [58](58.md) |
211| `emoji` | shortcode, image URL | -- | [30](30.md) | 248| `emoji` | shortcode, image URL | -- | [30](30.md) |
212| `encrypted` | -- | -- | [90](90.md) | 249| `encrypted` | -- | -- | [90](90.md) |
213| `expiration` | unix timestamp (string) | -- | [40](40.md) | 250| `expiration` | unix timestamp (string) | -- | [40](40.md) |
214| `goal` | event id (hex) | relay URL | [75](75.md) | 251| `goal` | event id (hex) | relay URL | [75](75.md) |
215| `image` | image URL | dimensions in pixels | [23](23.md), [58](58.md) | 252| `image` | image URL | dimensions in pixels | [23](23.md), [58](58.md) |
253| `imeta` | inline metadata | -- | [92](92.md) |
216| `lnurl` | `bech32` encoded `lnurl` | -- | [57](57.md) | 254| `lnurl` | `bech32` encoded `lnurl` | -- | [57](57.md) |
217| `location` | location string | -- | [52](52.md), [99](99.md) | 255| `location` | location string | -- | [52](52.md), [99](99.md) |
218| `name` | badge name | -- | [58](58.md) | 256| `name` | name | -- | [34](34.md), [58](58.md) |
219| `nonce` | random | -- | [13](13.md) | 257| `nonce` | random | -- | [13](13.md) |
220| `preimage` | hash of `bolt11` invoice | -- | [57](57.md) | 258| `preimage` | hash of `bolt11` invoice | -- | [57](57.md) |
221| `price` | price | currency, frequency | [99](99.md) | 259| `price` | price | currency, frequency | [99](99.md) |
222| `proxy` | external ID | protocol | [48](48.md) | 260| `proxy` | external ID | protocol | [48](48.md) |
223| `published_at` | unix timestamp (string) | -- | [23](23.md) | 261| `published_at` | unix timestamp (string) | -- | [23](23.md) |
224| `relay` | relay url | -- | [42](42.md) | 262| `relay` | relay url | -- | [42](42.md), [17](17.md) |
225| `relays` | relay list | -- | [57](57.md) | 263| `relays` | relay list | -- | [57](57.md) |
226| `subject` | subject | -- | [14](14.md) | 264| `server` | file storage server url | -- | [96](96.md) |
265| `subject` | subject | -- | [14](14.md), [17](17.md) |
227| `summary` | article summary | -- | [23](23.md) | 266| `summary` | article summary | -- | [23](23.md) |
228| `thumb` | badge thumbnail | dimensions in pixels | [58](58.md) | 267| `thumb` | badge thumbnail | dimensions in pixels | [58](58.md) |
229| `title` | article title | -- | [23](23.md) | 268| `title` | article title | -- | [23](23.md) |
269| `web` | webpage URL | -- | [34](34.md) |
230| `zap` | pubkey (hex), relay URL | weight | [57](57.md) | 270| `zap` | pubkey (hex), relay URL | weight | [57](57.md) |
231 271
232## Criteria for acceptance of NIPs 272## Criteria for acceptance of NIPs
@@ -251,6 +291,10 @@ Standards may emerge in two ways: the first way is that someone starts doing som
251 291
252These two ways of standardizing things are supported by this repository. Although the second is preferred, an effort will be made to codify standards emerged outside this repository into NIPs that can be later referenced and easily understood and implemented by others -- but obviously as in any human system discretion may be applied when standards are considered harmful. 292These two ways of standardizing things are supported by this repository. Although the second is preferred, an effort will be made to codify standards emerged outside this repository into NIPs that can be later referenced and easily understood and implemented by others -- but obviously as in any human system discretion may be applied when standards are considered harmful.
253 293
294## Breaking Changes
295
296[Breaking Changes](BREAKING.md)
297
254## License 298## License
255 299
256All NIPs are public domain. 300All NIPs are public domain.