mirror of
https://github.com/nostr-protocol/nips.git
synced 2024-12-23 00:45:53 -05:00
Refines proposal to make relationships private.
This commit is contained in:
parent
fe00ddd14d
commit
dc4af5d133
24
81.md
24
81.md
|
@ -1,20 +1,18 @@
|
||||||
NIP-81
|
NIP-81
|
||||||
======
|
======
|
||||||
|
|
||||||
Relationship Status
|
Private Relationship Status
|
||||||
-------------------
|
---------------------------
|
||||||
|
|
||||||
`draft` `optional` `author:vitorpamplona`
|
`draft` `optional`
|
||||||
|
|
||||||
## Abstract
|
## Abstract
|
||||||
|
|
||||||
Creates a replaceable event to privately assert the level of trust from the author to any other pubkey.
|
Creates a replaceable event using unbound lists 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.
|
|
||||||
|
|
||||||
# Relationship Status Event
|
# 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:
|
For example:
|
||||||
|
|
||||||
|
@ -22,23 +20,21 @@ For example:
|
||||||
{
|
{
|
||||||
"kind": 30382,
|
"kind": 30382,
|
||||||
"tags": [
|
"tags": [
|
||||||
["d", "612ae..e610f"],
|
["d", bytesToHex(sha256(hexToBytes("<pubKey>")))],
|
||||||
|
["n", "Clients"]
|
||||||
],
|
],
|
||||||
"content": "<NIP-44 encrypted Stringified TAG-List(
|
"content": "<NIP-44 encrypted Stringified TAG-List(
|
||||||
["status", "<Known Face, Contact, Following, Coworker, Friend, Partner,
|
["p", "<pubkey>", "relay"]
|
||||||
Family, Extended family, Trusted, Competitor, Traitor, Used to Know,
|
|
||||||
Scammer, NSFW, Unkown, etc>"],
|
|
||||||
["nickname", "<My buddy>"]
|
["nickname", "<My buddy>"]
|
||||||
["summary", "<Summary of the relationship>"],
|
["summary", "<Summary of the relationship>"],
|
||||||
|
["nip92secret", "<secret used to decrypt medical data for this pubkey>"]
|
||||||
)",
|
)",
|
||||||
...other fields
|
...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
|
`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.
|
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.
|
||||||
|
|
Loading…
Reference in New Issue
Block a user