NIP-10
On "e" and "p" tags in Text Events (kind 1). テキストイベント内の「e」タグと「p」タグの取り扱い このNIPではタグの使い方を整理し、色々な
2つのタグの役割
e
p
The p tags
@付き投稿を表現する
知らせたい相手の公開鍵をタグに含める
一般的に使われているが、廃止されたと見做されるべきである
フォーマット
["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>]
relay-url (推奨) = 参照されるイベントに関連付けられた推奨されるリレー情報(未設定の場合は空文字列) marker (任意) = 種類を表現する
root = スレッドの一番大元の投稿。rootイベントへの直接の返信であれば、"root"マーカーだけを使うべき。 mention = 引用リポスト(Twitterの引用RT相当。mentionは言及の意味)
うまく使えば、いわゆる巻き込みRTを防げそう?
一部の人だけをpに入れることができる
pを外せば、通知を飛ばしたくないときに使そうな予感
実際の例
メンション
返信先の投稿がないため、pタグだけになる
code:_.json
返信
code:_.json
"tags": [
// 返信先の投稿
// 最初の返信の場合、replyでなくrootを使う
// 返信する相手(通知したい相手)
]
スレッド
code:_.json
"tags": [
// root = スレッドの根っことなる投稿
// reply = 返信先 = スレッド内の別の投稿
// 返信する相手(通知したい相手)
]