From 6af79cbf933a62806f015f0ee0eaa1738d69fc6c Mon Sep 17 00:00:00 2001 From: arthurfranca Date: Fri, 17 May 2024 12:18:39 -0300 Subject: [PATCH] Add prefixes to help when parsing values --- 22.md | 35 +++++++++++++++++++---------------- 1 file changed, 19 insertions(+), 16 deletions(-) diff --git a/22.md b/22.md index de3d9ee1..76f7dd9a 100644 --- a/22.md +++ b/22.md @@ -19,21 +19,24 @@ or on an off-nostr news article or to reply to another comment. A comment is an event of `kind:1111` with plaintext `.content` (no HTML, no Markdown nor other formatting). -It must have a `k` tag pointing to the kind of the subject being commented on. -For example, when commenting on a `kind:30023`, the `k` tag is set to "30023". -When replying to another `kind:1111`, the `k` tag is set to "1111". -If commenting on an `https://abc.com/articles/1` article the `k` tag is set to "https://abc.com" (its domain). -The `k` tag is useful to fetch top-level comments about events of specific kinds (or domains), for example, -by filtering with `{ "#k": ["30023"], "kinds": [1111] }`. +**It must have a `k` tag** pointing to the kind of the subject being commented on. +It has a prefix: `"n:"` for nostr subjects and `"r:"` for url ones. -An uppercase `K` tag must also be present. The difference is that it is set to the original post (the one starting the thread) kind. +For example, when commenting on a `kind:30023`, the `k` tag is set to "n:30023". +When replying to another `kind:1111`, the `k` tag is set to "n:1111". +If commenting on an `https://abc.com/articles/1` article the `k` tag is set to "r:https://abc.com" (its domain). + +The `k` tag is useful to fetch top-level comments about events of specific kinds (or domains), for example, +by filtering with `{ "#k": ["n:30023"], "kinds": [1111] }`. + +**An uppercase `K` tag must also be present.** The difference is that it is set to the original post (the one starting the thread) kind. This way a client can request all comments related to the kind it supports, not only the top-level comments. ### Threads -There is always an `o` tag pointing to the original post that started the thread. +**There is always an `o` tag** pointing to the original post that started the thread. It can be an event id (with an `"i:::"` prefix), -an event address (`"a:"` prefix) or an url (`""` prefix). The second value +an event address (`"a:"` prefix) or an url (`"r:"` prefix). The second value is the optional recommended relay url where the referenced event may be found. This tag is useful to load all messages of a thread at once. @@ -43,9 +46,9 @@ Examples: - `["o", "i:::", ""]` - `["o", "a:::", ""]` -- `["o", "https://abc.com/articles/1/"]` +- `["o", "r:https://abc.com/articles/1/"]` -Also, there is always an `r` tag pointing to the subject being directly commented on or replied to, using the +Also, **there is always an `r` tag** pointing to the subject being directly commented on or replied to, using the same structure of the `o` tag. This tag is useful to lazily load a thread. @@ -63,13 +66,13 @@ the client supports the [NIP-65](65.md) relay usage spec, content: 'Agree with your comment.', tags: [ // referencing the OP - ["o", "https://abc.com/articles/1/"], + ["o", "r:https://abc.com/articles/1/"], // replying to a parent kind:1111 comment ["r", "i:1111:f7234bd4c1394dda46d09f35bd384dd30cc552ad5541990f98844fb06676e9ca:5c83da77af1dec6d7289834998ad7aafbd9e2191396d75ec3cc27f5a77226f36"], // the OP "kind"; for an url, the kind is its domain - ["K", "https://abc.com"] + ["K", "r:https://abc.com"] // the parent kind - ["k", "1111"] + ["k", "n:1111"] ] // other fields } @@ -84,9 +87,9 @@ the client supports the [NIP-65](65.md) relay usage spec, ["o", "a:30023:3c9849383bdea883b0bd16fece1ed36d37e37cdde3ce43b17ea4e9192ec11289:f9347ca7"], ["r", "a:30023:3c9849383bdea883b0bd16fece1ed36d37e37cdde3ce43b17ea4e9192ec11289:f9347ca7"], // the OP kind - ["K", "30023"] + ["K", "n:30023"] // the parent kind - ["k", "30023"], + ["k", "n:30023"], // the nostr:npub1... mentioned on .content ["p", "84dee6e676e5bb67b4ad4e042cf70cbd8681155db535942fcc6a0533858a7240"] ]