NIP-10
On "e" and "p" tags in Text Events (kind 1). 2つのタグの役割
e
p
@付き投稿を表現する
知らせたい相手の公開鍵をタグに含める
一般的に使われているが、廃止されたと見做されるべきである
フォーマット
["e", <event-id>, <relay-url>](NIP-01の通り)
event-id = イベントのID
relay-url = 参照されるイベントに関連付けられた推奨されるリレー情報。多くのクライアントが任意のフィールドとして扱う。 意味づけ
eタグなし
イベントにはリプライも参照先もない
1つのeタグ: ["e", <id>]
replyを意味する
2つのeタグ: ["e", <root-id>], ["e", <reply-id>]
1つ目は root、2つ目は reply
<root-id>はリプライチェーンの先頭(root)のイベントのIDを示す。<reply-id>は返信先のイベントのIDを示す。
それ以上のeタグ: ["e", <root-id>] ["e", <mention-id>], ..., ["e", <reply-id>]
1つ目は root、最後は reply、それ以外が mention
<mention-id>はリプライチェーンの中にあるかもしれないし、ないかもしれない。引用されているイベントを示す。
["e", <event-id>, <relay-url>, <marker>, <pubkey>]
relay-url (推奨) = 参照されるイベントに関連付けられた推奨されるリレー情報(未設定の場合は空文字列) marker (任意) = 種類を表現する
root = スレッドの一番大元の投稿。rootイベントへの直接の返信であれば、"root"マーカーだけを使うべき。 mention = 引用もしくはリポストされた投稿のID
なお、NIP-18で引用リポストの定義がある。2024/2/24にNIP-18の定義がeタグを使う方式からqタグを使う方式に変わり、食い違う状況になっている。引用リポストを行う際にはNIP-18を参照のこと。 pubkey(推奨) = 参照されるイベントの作者の公開鍵。relay-urlでイベントを見つけられなかった場合にOutboxモデルを利用して、ユーザの書き込み先リレーから取得するために用いる。
うまく使えば、いわゆる巻き込みRTを防げそう?syusui_s.icon
一部の人だけをpに入れることができる
pを外せば、通知を飛ばしたくないときに使そうな予感
実際の例
メンション
返信先の投稿がないため、pタグだけになる
code:_.json
返信
code:_.json
"tags": [
// 返信先の投稿
// 最初の返信の場合、replyでなくrootを使う
// 返信する相手(通知したい相手)
]
スレッド
code:_.json
"tags": [
// root = スレッドの根っことなる投稿
// reply = 返信先 = スレッド内の別の投稿
// 返信する相手(通知したい相手)
]