From dc4af5d1337d2267ae29c778cbaeb86ba9712056 Mon Sep 17 00:00:00 2001 From: Vitor Pamplona Date: Wed, 7 Feb 2024 17:54:20 -0500 Subject: [PATCH] Refines proposal to make relationships private. --- 81.md | 24 ++++++++++-------------- 1 file changed, 10 insertions(+), 14 deletions(-) diff --git a/81.md b/81.md index 1ebce92a..1a600519 100644 --- a/81.md +++ b/81.md @@ -1,20 +1,18 @@ NIP-81 ====== -Relationship Status -------------------- +Private Relationship Status +--------------------------- -`draft` `optional` `author:vitorpamplona` +`draft` `optional` ## Abstract -Creates a replaceable event to privately assert the level of trust from the author to any other pubkey. - -The wide-spread use of these statuses between pubkeys is not ideal for Kind 3 or NIP-51 list structures. +Creates a replaceable event using unbound lists to privately assert the level of trust from the author to any other pubkey. # Relationship Status Event -A special event with `kind:30382` "Relationship Status Event" is defined as a _parameterized replaceable event_ with a single `d` tag as the target pubkey. The other tags are stringified, NIP-44 encrypted and placed inside the `.content` of the event. +A new `kind:30382` event named "Relationship Status Event" is defined as a _parameterized replaceable event_ with a single `d` tag as hash of the target pubkey and `n` as the name for the list. The other tags are stringified, NIP-44 encrypted and placed inside the `.content` of the event. For example: @@ -22,23 +20,21 @@ For example: { "kind": 30382, "tags": [ - ["d", "612ae..e610f"], + ["d", bytesToHex(sha256(hexToBytes("")))], + ["n", "Clients"] ], "content": ""], + ["p", "", "relay"] ["nickname", ""] ["summary", ""], + ["nip92secret", ""] )", ...other fields } ``` -`status` MUST be a case-sensitive displayable category name with the expectation to group users by it. It is privately scoped and thus new statuses/groups are welcome. - `nickname` SHOULD be used instead of the person's display name in all interfaces Profile screens MAY display the summary of the relationship and allow the user to change the tags of this event. -Clients MAY filter by `kind:30382` to determine how to assemble feeds, group messages, and when to display content. +Clients MAY filter by `kind:30382`, with or without `n` tags, to determine how to assemble feeds, group messages, and when to display content.