Moves post approval to a regular (non-replaceable event)

This commit is contained in:
Vitor Pamplona 2023-06-15 09:46:24 -04:00 committed by fiatjaf_
parent 3ff40201bd
commit c07b5fa9b0

8
172.md
View File

@ -6,7 +6,7 @@ Moderated Communities (Reddit Style)
`draft` `optional` `author:vitorpamplona` `draft` `optional` `author:vitorpamplona`
The goal of this NIP is to create moderator-approved public communities around a topic. It defines the replaceable event `34550` to define the community and the current list of moderators/administrators. Users that want to post into the community, simply tag any Nostr event with an `a` tag. Moderators issue an approval event `34551` that links the community with the new post. The goal of this NIP is to create moderator-approved public communities around a topic. It defines the replaceable event `34550` to define the community and the current list of moderators/administrators. Users that want to post into the community, simply tag any Nostr event with an `a` tag. Moderators issue an approval event `4550` that links the community with the new post.
# Community definition # Community definition
@ -66,7 +66,7 @@ The post-approval event includes a stringified `new post request` event inside t
"id": "<32-bytes lowercase hex-encoded SHA-256 of the the serialized event data>", "id": "<32-bytes lowercase hex-encoded SHA-256 of the the serialized event data>",
"pubkey": "<32-bytes lowercase hex-encoded public key of the event creator>", "pubkey": "<32-bytes lowercase hex-encoded public key of the event creator>",
"created_at": "<Unix timestamp in seconds>", "created_at": "<Unix timestamp in seconds>",
"kind": "34551", "kind": "4550",
"tags": [ "tags": [
["a", "34550:<community event author pubkey>:<d-identifier of the community>", "<optional relay url>"], ["a", "34550:<community event author pubkey>:<d-identifier of the community>", "<optional relay url>"],
["e", "<Post Request ID>", "<optional relay url>"], ["e", "<Post Request ID>", "<optional relay url>"],
@ -77,7 +77,7 @@ The post-approval event includes a stringified `new post request` event inside t
} }
``` ```
It's recommended that multiple moderators approve posts to avoid unapproving them when a given moderator is removed from the owner's list. In case the full list of moderators must be rotated, the new moderator set must sign post-approvals for posts in the past or the community will restart. It's recommended that multiple moderators approve posts to avoid unapproving them when a given moderator is removed from the owner's list. In case the full list of moderators must be rotated, the new moderator set must sign new approvals for posts in the past or the community will restart. The owner can also periodically copies of each moderator's approval events.
# Displaying # Displaying
@ -88,7 +88,7 @@ The following filter displays the approved posts.
```js ```js
{ {
"authors": ["<author>", "moderator1", "moderator2", "moderator3", ...], "authors": ["<author>", "moderator1", "moderator2", "moderator3", ...],
"kinds": 34551, "kinds": ["4550"],
"#a": ["34550:<community event author pubkey>:<d-identifier of the community>"], "#a": ["34550:<community event author pubkey>:<d-identifier of the community>"],
} }
``` ```