nips/81.md

45 lines
1.5 KiB
Markdown
Raw Normal View History

2023-09-04 11:35:30 -04:00
NIP-81
======
Relationship Status
-------------------
`draft` `optional` `author:vitorpamplona`
## Abstract
2023-09-04 11:42:33 -04:00
Creates a replaceable event to privately assert the level of trust from the author to any other pubkey.
2023-09-04 11:41:59 -04:00
2023-09-04 11:50:32 -04:00
The wide-spread use of these statuses between pubkeys is not ideal for Kind 3 or NIP-51 list structures.
2023-09-04 11:35:30 -04:00
# 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.
For example:
```js
{
"kind": 30382,
"tags": [
["d", "612ae..e610f"],
],
"content": "<NIP-44 encrypted Stringified TAG-List(
2023-09-04 11:41:59 -04:00
["status", "<Known Face, Contact, Following, Coworker, Friend, Partner,
Family, Extended family, Trusted, Competitor, Traitor, Used to Know,
Scammer, NSFW, Unkown, etc>"],
["nickname", "<My buddy>"]
2023-09-04 11:35:30 -04:00
["summary", "<Summary of the relationship>"],
)",
...other fields
}
```
2023-09-04 11:41:59 -04:00
`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
2023-09-04 11:35:30 -04:00
Profile screens MAY display the summary of the relationship and allow the user to change the tags of this event.
2023-09-04 11:50:32 -04:00
Clients MAY filter by `kind:30382` to determine how to assemble feeds, group messages, and when to display content.