diff options
| author | fiatjaf_ <fiatjaf@gmail.com> | 2023-08-13 13:47:45 -0300 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-08-13 13:47:45 -0300 |
| commit | 72bb8a128b2d7d3c2c654644cd68d0d0fe58a3b1 (patch) | |
| tree | 9d2ee236bf72d540b5eca364a1ff60449dd9aa04 /README.md | |
| parent | a5047326d4d7c28e66c5d1262c252b86a1c8fe67 (diff) | |
merge nips 12, 16, 20 and 33 into nip 01 (#703)
Co-authored-by: Viktor Vsk <me@viktorvsk.com>
Diffstat (limited to 'README.md')
| -rw-r--r-- | README.md | 47 |
1 files changed, 16 insertions, 31 deletions
| @@ -30,14 +30,11 @@ They exist to document what may be implemented by [Nostr](https://github.com/nos | |||
| 30 | - [NIP-09: Event Deletion](09.md) | 30 | - [NIP-09: Event Deletion](09.md) |
| 31 | - [NIP-10: Conventions for clients' use of `e` and `p` tags in text events](10.md) | 31 | - [NIP-10: Conventions for clients' use of `e` and `p` tags in text events](10.md) |
| 32 | - [NIP-11: Relay Information Document](11.md) | 32 | - [NIP-11: Relay Information Document](11.md) |
| 33 | - [NIP-12: Generic Tag Queries](12.md) | ||
| 34 | - [NIP-13: Proof of Work](13.md) | 33 | - [NIP-13: Proof of Work](13.md) |
| 35 | - [NIP-14: Subject tag in text events](14.md) | 34 | - [NIP-14: Subject tag in text events](14.md) |
| 36 | - [NIP-15: Nostr Marketplace (for resilient marketplaces)](15.md) | 35 | - [NIP-15: Nostr Marketplace (for resilient marketplaces)](15.md) |
| 37 | - [NIP-16: Event Treatment](16.md) | ||
| 38 | - [NIP-18: Reposts](18.md) | 36 | - [NIP-18: Reposts](18.md) |
| 39 | - [NIP-19: bech32-encoded entities](19.md) | 37 | - [NIP-19: bech32-encoded entities](19.md) |
| 40 | - [NIP-20: Command Results](20.md) | ||
| 41 | - [NIP-21: `nostr:` URI scheme](21.md) | 38 | - [NIP-21: `nostr:` URI scheme](21.md) |
| 42 | - [NIP-22: Event `created_at` Limits](22.md) | 39 | - [NIP-22: Event `created_at` Limits](22.md) |
| 43 | - [NIP-23: Long-form Content](23.md) | 40 | - [NIP-23: Long-form Content](23.md) |
| @@ -48,7 +45,6 @@ They exist to document what may be implemented by [Nostr](https://github.com/nos | |||
| 48 | - [NIP-30: Custom Emoji](30.md) | 45 | - [NIP-30: Custom Emoji](30.md) |
| 49 | - [NIP-31: Dealing with Unknown Events](31.md) | 46 | - [NIP-31: Dealing with Unknown Events](31.md) |
| 50 | - [NIP-32: Labeling](32.md) | 47 | - [NIP-32: Labeling](32.md) |
| 51 | - [NIP-33: Parameterized Replaceable Events](33.md) | ||
| 52 | - [NIP-36: Sensitive Content](36.md) | 48 | - [NIP-36: Sensitive Content](36.md) |
| 53 | - [NIP-39: External Identities in Profiles](39.md) | 49 | - [NIP-39: External Identities in Profiles](39.md) |
| 54 | - [NIP-40: Expiration Timestamp](40.md) | 50 | - [NIP-40: Expiration Timestamp](40.md) |
| @@ -78,7 +74,7 @@ They exist to document what may be implemented by [Nostr](https://github.com/nos | |||
| 78 | | ------- | -------------------------- | ----------- | | 74 | | ------- | -------------------------- | ----------- | |
| 79 | | `0` | Metadata | [1](01.md) | | 75 | | `0` | Metadata | [1](01.md) | |
| 80 | | `1` | Short Text Note | [1](01.md) | | 76 | | `1` | Short Text Note | [1](01.md) | |
| 81 | | `2` | Recommend Relay | [1](01.md) | | 77 | | `2` | Recommend Relay | | |
| 82 | | `3` | Contacts | [2](02.md) | | 78 | | `3` | Contacts | [2](02.md) | |
| 83 | | `4` | Encrypted Direct Messages | [4](04.md) | | 79 | | `4` | Encrypted Direct Messages | [4](04.md) | |
| 84 | | `5` | Event Deletion | [9](09.md) | | 80 | | `5` | Event Deletion | [9](09.md) | |
| @@ -128,59 +124,48 @@ They exist to document what may be implemented by [Nostr](https://github.com/nos | |||
| 128 | | `34550` | Community Definition | [72](72.md) | | 124 | | `34550` | Community Definition | [72](72.md) | |
| 129 | 125 | ||
| 130 | 126 | ||
| 131 | ### Event Kind Ranges | ||
| 132 | |||
| 133 | | range | description | NIP | | ||
| 134 | | ---------------- | -------------------------------- | ----------- | | ||
| 135 | | `1000`--`9999` | Regular Events | [16](16.md) | | ||
| 136 | | `10000`--`19999` | Replaceable Events | [16](16.md) | | ||
| 137 | | `20000`--`29999` | Ephemeral Events | [16](16.md) | | ||
| 138 | | `30000`--`39999` | Parameterized Replaceable Events | [33](33.md) | | ||
| 139 | |||
| 140 | ## Message types | 127 | ## Message types |
| 141 | 128 | ||
| 142 | ### Client to Relay | 129 | ### Client to Relay |
| 143 | 130 | ||
| 144 | | type | description | NIP | | 131 | | type | description | NIP | |
| 145 | | ------- | --------------------------------------------------- | ----------- | | 132 | | ------- | --------------------------------------------------- | ----------- | |
| 133 | | `EVENT` | used to publish events | [01](01.md) | | ||
| 134 | | `REQ` | used to request events and subscribe to new updates | [01](01.md) | | ||
| 135 | | `CLOSE` | used to stop previous subscriptions | [01](01.md) | | ||
| 146 | | `AUTH` | used to send authentication events | [42](42.md) | | 136 | | `AUTH` | used to send authentication events | [42](42.md) | |
| 147 | | `CLOSE` | used to stop previous subscriptions | [1](01.md) | | ||
| 148 | | `COUNT` | used to request event counts | [45](45.md) | | 137 | | `COUNT` | used to request event counts | [45](45.md) | |
| 149 | | `EVENT` | used to publish events | [1](01.md) | | ||
| 150 | | `REQ` | used to request events and subscribe to new updates | [1](01.md) | | ||
| 151 | 138 | ||
| 152 | ### Relay to Client | 139 | ### Relay to Client |
| 153 | 140 | ||
| 154 | | type | description | NIP | | 141 | | type | description | NIP | |
| 155 | | -------- | ------------------------------------------------------- | ----------- | | 142 | | -------- | ------------------------------------------------------- | ----------- | |
| 143 | | `EOSE` | used to notify clients all stored events have been sent | [01](01.md) | | ||
| 144 | | `EVENT` | used to send events requested to clients | [01](01.md) | | ||
| 145 | | `NOTICE` | used to send human-readable messages to clients | [01](01.md) | | ||
| 146 | | `OK` | used to notify clients if an EVENT was successful | [01](01.md) | | ||
| 156 | | `AUTH` | used to send authentication challenges | [42](42.md) | | 147 | | `AUTH` | used to send authentication challenges | [42](42.md) | |
| 157 | | `COUNT` | used to send requested event counts to clients | [45](45.md) | | 148 | | `COUNT` | used to send requested event counts to clients | [45](45.md) | |
| 158 | | `EOSE` | used to notify clients all stored events have been sent | [1](01.md) | | ||
| 159 | | `EVENT` | used to send events requested to clients | [1](01.md) | | ||
| 160 | | `NOTICE` | used to send human-readable messages to clients | [1](01.md) | | ||
| 161 | | `OK` | used to notify clients if an EVENT was successful | [20](20.md) | | ||
| 162 | 149 | ||
| 163 | Please update these lists when proposing NIPs introducing new event kinds. | 150 | Please update these lists when proposing NIPs introducing new event kinds. |
| 164 | 151 | ||
| 165 | When experimenting with kinds, keep in mind the classification introduced by [NIP-16](16.md) and [NIP-33](33.md). | ||
| 166 | |||
| 167 | ## Standardized Tags | 152 | ## Standardized Tags |
| 168 | 153 | ||
| 169 | | name | value | other parameters | NIP | | 154 | | name | value | other parameters | NIP | |
| 170 | | ----------------- | ------------------------------------ | -------------------- | ------------------------ | | 155 | | ----------------- | ------------------------------------ | -------------------- | ------------------------ | |
| 171 | | `a` | coordinates to an event | relay URL | [33](33.md), [23](23.md) | | 156 | | `e` | event id (hex) | relay URL, marker | [01](01.md), [10](10.md) | |
| 157 | | `p` | pubkey (hex) | relay URL, petname | [01](01.md), [02](02.md) | | ||
| 158 | | `a` | coordinates to an event | relay URL | [01](01.md) | | ||
| 159 | | `d` | identifier | -- | [01](01.md) | | ||
| 172 | | `alt` | Alt tag | -- | [31](31.md) | | 160 | | `alt` | Alt tag | -- | [31](31.md) | |
| 173 | | `d` | identifier | -- | [33](33.md) | | 161 | | `g` | geohash | -- | [52](52.md) | |
| 174 | | `e` | event id (hex) | relay URL, marker | [1](01.md), [10](10.md) | | ||
| 175 | | `g` | geohash | -- | [12](12.md), [52](52.md) | | ||
| 176 | | `i` | identity | proof | [39](39.md) | | 162 | | `i` | identity | proof | [39](39.md) | |
| 177 | | `k` | kind number (string) | -- | [18](18.md), [72](72.md) | | 163 | | `k` | kind number (string) | -- | [18](18.md), [72](72.md) | |
| 178 | | `l` | label, label namespace | annotations | [32](32.md) | | 164 | | `l` | label, label namespace | annotations | [32](32.md) | |
| 179 | | `L` | label namespace | -- | [32](32.md) | | 165 | | `L` | label namespace | -- | [32](32.md) | |
| 180 | | `p` | pubkey (hex) | relay URL | [1](01.md) | | 166 | | `r` | a reference (URL, etc) | -- | | |
| 181 | | `r` | a reference (URL, etc) | -- | [12](12.md) | | 167 | | `t` | hashtag | -- | | |
| 182 | | `t` | hashtag | -- | [12](12.md) | | 168 | | `amount` | millisatoshis, stringified | -- | [57](57.md) | |
| 183 | | `amount` | millisats | -- | [57](57.md) | | ||
| 184 | | `bolt11` | `bolt11` invoice | -- | [57](57.md) | | 169 | | `bolt11` | `bolt11` invoice | -- | [57](57.md) | |
| 185 | | `challenge` | challenge string | -- | [42](42.md) | | 170 | | `challenge` | challenge string | -- | [42](42.md) | |
| 186 | | `content-warning` | reason | -- | [36](36.md) | | 171 | | `content-warning` | reason | -- | [36](36.md) | |