upleb.uk

Public git repos — served from a NIP-34 GRASP relay at git.upleb.uk

summaryrefslogtreecommitdiff
path: root/10.md
diff options
context:
space:
mode:
Diffstat (limited to '10.md')
-rw-r--r--10.md20
1 files changed, 10 insertions, 10 deletions
diff --git a/10.md b/10.md
index 6494796..5b19fbd 100644
--- a/10.md
+++ b/10.md
@@ -5,7 +5,7 @@ NIP-10
5On "e" and "p" tags in Text Events (kind 1). 5On "e" and "p" tags in Text Events (kind 1).
6-------------------------------------------- 6--------------------------------------------
7 7
8`draft` `optional` `author:unclebobmartin` 8`draft` `optional`
9 9
10## Abstract 10## Abstract
11This NIP describes how to use "e" and "p" tags in text events, especially those that are replies to other text events. It helps clients thread the replies into a tree rooted at the original event. 11This NIP describes how to use "e" and "p" tags in text events, especially those that are replies to other text events. It helps clients thread the replies into a tree rooted at the original event.
@@ -19,7 +19,7 @@ Where:
19 19
20 * `<event-id>` is the id of the event being referenced. 20 * `<event-id>` is the id of the event being referenced.
21 * `<relay-url>` is the URL of a recommended relay associated with the reference. Many clients treat this field as optional. 21 * `<relay-url>` is the URL of a recommended relay associated with the reference. Many clients treat this field as optional.
22 22
23**The positions of the "e" tags within the event denote specific meanings as follows**: 23**The positions of the "e" tags within the event denote specific meanings as follows**:
24 24
25 * No "e" tag: <br> 25 * No "e" tag: <br>
@@ -29,34 +29,34 @@ Where:
29 `["e", <id>]`: The id of the event to which this event is a reply. 29 `["e", <id>]`: The id of the event to which this event is a reply.
30 30
31 * Two "e" tags: `["e", <root-id>]`, `["e", <reply-id>]` <br> 31 * Two "e" tags: `["e", <root-id>]`, `["e", <reply-id>]` <br>
32 `<root-id>` is the id of the event at the root of the reply chain. `<reply-id>` is the id of the article to which this event is a reply. 32 `<root-id>` is the id of the event at the root of the reply chain. `<reply-id>` is the id of the article to which this event is a reply.
33 33
34 * Many "e" tags: `["e", <root-id>]` `["e", <mention-id>]`, ..., `["e", <reply-id>]`<br> 34 * Many "e" tags: `["e", <root-id>]` `["e", <mention-id>]`, ..., `["e", <reply-id>]`<br>
35There may be any number of `<mention-ids>`. These are the ids of events which may, or may not be in the reply chain. 35There may be any number of `<mention-ids>`. These are the ids of events which may, or may not be in the reply chain.
36They are citings from this event. `root-id` and `reply-id` are as above. 36They are citings from this event. `root-id` and `reply-id` are as above.
37 37
38>This scheme is deprecated because it creates ambiguities that are difficult, or impossible to resolve when an event references another but is not a reply. 38>This scheme is deprecated because it creates ambiguities that are difficult, or impossible to resolve when an event references another but is not a reply.
39 39
40## Marked "e" tags (PREFERRED) 40## Marked "e" tags (PREFERRED)
41`["e", <event-id>, <relay-url>, <marker>]` 41`["e", <event-id>, <relay-url>, <marker>]`
42 42
43Where: 43Where:
44 44
45 * `<event-id>` is the id of the event being referenced. 45 * `<event-id>` is the id of the event being referenced.
46 * `<relay-url>` is the URL of a recommended relay associated with the reference. Clients SHOULD add a valid `<relay-URL>` field, but may instead leave it as `""`. 46 * `<relay-url>` is the URL of a recommended relay associated with the reference. Clients SHOULD add a valid `<relay-URL>` field, but may instead leave it as `""`.
47 * `<marker>` is optional and if present is one of `"reply"`, `"root"`, or `"mention"`. 47 * `<marker>` is optional and if present is one of `"reply"`, `"root"`, or `"mention"`.
48 48
49**The order of marked "e" tags is not relevant.** Those marked with `"reply"` denote the id of the reply event being responded to. Those marked with `"root"` denote the root id of the reply thread being responded to. For top level replies (those replying directly to the root event), only the `"root"` marker should be used. Those marked with `"mention"` denote a quoted or reposted event id. 49Those marked with `"reply"` denote the id of the reply event being responded to. Those marked with `"root"` denote the root id of the reply thread being responded to. For top level replies (those replying directly to the root event), only the `"root"` marker should be used. Those marked with `"mention"` denote a quoted or reposted event id.
50 50
51A direct reply to the root of a thread should have a single marked "e" tag of type "root". 51A direct reply to the root of a thread should have a single marked "e" tag of type "root".
52 52
53>This scheme is preferred because it allows events to mention others without confusing them with `<reply-id>` or `<root-id>`. 53>This scheme is preferred because it allows events to mention others without confusing them with `<reply-id>` or `<root-id>`.
54 54
55 55
56## The "p" tag 56## The "p" tag
57Used in a text event contains a list of pubkeys used to record who is involved in a reply thread. 57Used in a text event contains a list of pubkeys used to record who is involved in a reply thread.
58 58
59When replying to a text event E the reply event's "p" tags should contain all of E's "p" tags as well as the `"pubkey"` of the event being replied to. 59When replying to a text event E the reply event's "p" tags should contain all of E's "p" tags as well as the `"pubkey"` of the event being replied to.
60 60
61Example: Given a text event authored by `a1` with "p" tags [`p1`, `p2`, `p3`] then the "p" tags of the reply should be [`a1`, `p1`, `p2`, `p3`] 61Example: Given a text event authored by `a1` with "p" tags [`p1`, `p2`, `p3`] then the "p" tags of the reply should be [`a1`, `p1`, `p2`, `p3`]
62in no particular order. 62in no particular order.