diff options
| -rw-r--r-- | 19.md | 10 | ||||
| -rw-r--r-- | 23.md | 8 | ||||
| -rw-r--r-- | 33.md | 4 | ||||
| -rw-r--r-- | README.md | 1 |
4 files changed, 12 insertions, 11 deletions
| @@ -35,7 +35,7 @@ These are the possible bech32 prefixes with `TLV`: | |||
| 35 | - `nprofile`: a nostr profile | 35 | - `nprofile`: a nostr profile |
| 36 | - `nevent`: a nostr event | 36 | - `nevent`: a nostr event |
| 37 | - `nrelay`: a nostr relay | 37 | - `nrelay`: a nostr relay |
| 38 | - `nitem`: a nostr parameterized replaceable event coordinate (NIP-33) | 38 | - `naddr`: a nostr parameterized replaceable event coordinate (NIP-33) |
| 39 | 39 | ||
| 40 | These possible standardized `TLV` types are indicated here: | 40 | These possible standardized `TLV` types are indicated here: |
| 41 | 41 | ||
| @@ -44,14 +44,14 @@ These possible standardized `TLV` types are indicated here: | |||
| 44 | - for `nprofile` it will be the 32 bytes of the profile public key | 44 | - for `nprofile` it will be the 32 bytes of the profile public key |
| 45 | - for `nevent` it will be the 32 bytes of the event id | 45 | - for `nevent` it will be the 32 bytes of the event id |
| 46 | - for `nrelay`, this is the relay URL | 46 | - for `nrelay`, this is the relay URL |
| 47 | - for `nitem`, it is the identifier (the `"d"` tag) of the event being referenced | 47 | - for `naddr`, it is the identifier (the `"d"` tag) of the event being referenced |
| 48 | - `1`: `relay` | 48 | - `1`: `relay` |
| 49 | - for `nprofile`, `nevent` and `nitem`, a relay in which the entity (profile or event) is more likely to be found, encoded as ascii | 49 | - for `nprofile`, `nevent` and `naddr`, a relay in which the entity (profile or event) is more likely to be found, encoded as ascii |
| 50 | - this may be included multiple times | 50 | - this may be included multiple times |
| 51 | - `2`: `author` | 51 | - `2`: `author` |
| 52 | - for `nitem`, the 32 bytes of the pubkey of the event | 52 | - for `naddr`, the 32 bytes of the pubkey of the event |
| 53 | - `3`: `kind` | 53 | - `3`: `kind` |
| 54 | - for `nitem`, the 32-bit unsigned integer of the kind, big-endian | 54 | - for `naddr`, the 32-bit unsigned integer of the kind, big-endian |
| 55 | 55 | ||
| 56 | 56 | ||
| 57 | ## Examples | 57 | ## Examples |
| @@ -31,13 +31,13 @@ These articles are meant to be editable, so they should make use of the replacea | |||
| 31 | 31 | ||
| 32 | ### Linking | 32 | ### Linking |
| 33 | 33 | ||
| 34 | The article may be linked to using the NIP-19 `nitem` code along with the `"i"` tag (see NIP-33 and NIP-19). | 34 | The article may be linked to using the NIP-19 `naddr` code along with the `"a"` tag (see NIP-33 and NIP-19). |
| 35 | 35 | ||
| 36 | ### References | 36 | ### References |
| 37 | 37 | ||
| 38 | Clients that support publishing NIP-23 events should implement support for parsing pasted NIP-19 `nitem` identifiers and adding them automatically to the list of `.tags` of the event, replacing the actual content with a string like `#[tag_index]` in the same way as NIP-08 -- or, if the reference is in the form of a URL (for example, `[click here](nitem1...)`) then they should be replaced with just the tag number directly as if link with that name existed at the bottom of the Markdown (for example, `[click here][0]`). | 38 | Clients that support publishing NIP-23 events should implement support for parsing pasted NIP-19 `naddr` identifiers and adding them automatically to the list of `.tags` of the event, replacing the actual content with a string like `#[tag_index]` in the same way as NIP-08 -- or, if the reference is in the form of a URL (for example, `[click here](naddr1...)`) then they should be replaced with just the tag number directly as if link with that name existed at the bottom of the Markdown (for example, `[click here][0]`). |
| 39 | 39 | ||
| 40 | Reader clients should parse the Markdown and replace these references with either internal links so the referenced events can be accessed directly, with NIP-21 `nostr:nitem1...` links or direct links to web clients that will handle these references. | 40 | Reader clients should parse the Markdown and replace these references with either internal links so the referenced events can be accessed directly, with NIP-21 `nostr:naddr1...` links or direct links to web clients that will handle these references. |
| 41 | 41 | ||
| 42 | The idea here is that having these tags is that reader clients can display a list of backreferences at the bottom when one article mentions another. | 42 | The idea here is that having these tags is that reader clients can display a list of backreferences at the bottom when one article mentions another. |
| 43 | 43 | ||
| @@ -56,7 +56,7 @@ The same principles can be applied to `nevent1...`, `note1...`, `nprofile1...` o | |||
| 56 | ["published_at", "1296962229"], | 56 | ["published_at", "1296962229"], |
| 57 | ["t", "placeholder"], | 57 | ["t", "placeholder"], |
| 58 | ["e", "b3e392b11f5d4f28321cedd09303a748acfd0487aea5a7450b3481c60b6e4f87", "wss://relay.example.com"], | 58 | ["e", "b3e392b11f5d4f28321cedd09303a748acfd0487aea5a7450b3481c60b6e4f87", "wss://relay.example.com"], |
| 59 | ["i", "30023:a695f6b60119d9521934a691347d9f78e8770b56da16bb255ee286ddf9fda919:ipsum", "wss://relay.nostr.org"] | 59 | ["a", "30023:a695f6b60119d9521934a691347d9f78e8770b56da16bb255ee286ddf9fda919:ipsum", "wss://relay.nostr.org"] |
| 60 | ], | 60 | ], |
| 61 | "pubkey": "...", | 61 | "pubkey": "...", |
| 62 | "id": "..." | 62 | "id": "..." |
| @@ -38,11 +38,11 @@ Normally (as per NIP-01, NIP-12) the `"p"` tag is used for referencing public ke | |||
| 38 | equivalents for event tags (i.e. an `nprofile` is generally translated into a tag | 38 | equivalents for event tags (i.e. an `nprofile` is generally translated into a tag |
| 39 | `["p", "<event hex id>", "<relay url>"]`). | 39 | `["p", "<event hex id>", "<relay url>"]`). |
| 40 | 40 | ||
| 41 | To support linking to parameterized replaceable events, the `nitem` code is introduced on | 41 | To support linking to parameterized replaceable events, the `naddr` code is introduced on |
| 42 | NIP-19. It includes the public key of the event author and the `d` tag (and relays) such that | 42 | NIP-19. It includes the public key of the event author and the `d` tag (and relays) such that |
| 43 | the referenced combination of public key and `d` tag can be found. | 43 | the referenced combination of public key and `d` tag can be found. |
| 44 | 44 | ||
| 45 | The equivalent in `tags` to the `nitem` code is the tag `"i"`, comprised of `["i", "<kind>:<pubkey>:<d-identifier>", "<relay url>"]`. | 45 | The equivalent in `tags` to the `naddr` code is the tag `"a"`, comprised of `["a", "<kind>:<pubkey>:<d-identifier>", "<relay url>"]`. |
| 46 | 46 | ||
| 47 | Client Behavior | 47 | Client Behavior |
| 48 | --------------- | 48 | --------------- |
| @@ -92,6 +92,7 @@ When experimenting with kinds, keep in mind the classification introduced by [NI | |||
| 92 | | ---------- | ----------------------- | ----------------- | ------------------------ | | 92 | | ---------- | ----------------------- | ----------------- | ------------------------ | |
| 93 | | e | event id (hex) | relay URL, marker | [1](01.md), [10](10.md) | | 93 | | e | event id (hex) | relay URL, marker | [1](01.md), [10](10.md) | |
| 94 | | p | pubkey (hex) | relay URL | [1](01.md) | | 94 | | p | pubkey (hex) | relay URL | [1](01.md) | |
| 95 | | a | coordinates to an event | relay URL | [33](33.md), [23](23.md) | | ||
| 95 | | r | a reference (URL, etc) | | [12](12.md) | | 96 | | r | a reference (URL, etc) | | [12](12.md) | |
| 96 | | t | hashtag | | [12](12.md) | | 97 | | t | hashtag | | [12](12.md) | |
| 97 | | g | geohash | | [12](12.md) | | 98 | | g | geohash | | [12](12.md) | |