mirror of
https://github.com/nostr-protocol/nips.git
synced 2024-12-22 08:25:53 -05:00
Remove custom serialization and add more explanation
This commit is contained in:
parent
bbd72d122d
commit
f1b5e32bcf
26
00.md
26
00.md
|
@ -17,13 +17,18 @@ must be published or updated with a `full_event` tag pointing to a
|
||||||
It's data should be set to a warning that the event is private or to a preview version of the full event, in case the
|
It's data should be set to a warning that the event is private or to a preview version of the full event, in case the
|
||||||
goal is to tease an user to pay for content, for example.
|
goal is to tease an user to pay for content, for example.
|
||||||
|
|
||||||
For example, a `kind:1` event could have it's `.content` set to "You don't have access to this event." to be showed
|
For example, a `kind:1` event could have it's `.content` set to "This event is private." to be showed
|
||||||
to users that don't have acces to the event or that are using a client that doesn't support this NIP. On the other hand,
|
to users that don't have acces to the event or that are using clients that don't support this NIP. On the other hand,
|
||||||
if the goal is to convince an user to pay for the full event, the `.content` could be set to a text excerpt like the following:
|
if the goal is to convince viewing users to pay for the full event, the `.content` could be set to a text excerpt like the following:
|
||||||
"This is the first sentence of the full text. This text is trimmed to 5% of the character count of the full text..."
|
"This is the first sentence of the full text. This text is trimmed to 5% of the character count of the full text... Subscribe
|
||||||
|
to read the full text".
|
||||||
|
|
||||||
Taking the `kind:1063` metadata event of an image as an example, it could had set its `url` tag to a blurred version of the image
|
Taking the `kind:1063` metadata event of an image as an example, it could had set its `url` tag to a blurred version of the image
|
||||||
or simply use the `.content` (that according to NIP-94 means "caption") set to "You don't have access to this event".
|
and/or use the `.content` (that according to NIP-94 means "caption") set to "This event is private".
|
||||||
|
|
||||||
|
How the public event data will be set is entirely up to the client offering
|
||||||
|
the feature that requires event access control. Such feature could be
|
||||||
|
a "Publish only to Close Friends" or "Publish to Paying Subscribers", for example.
|
||||||
|
|
||||||
Example:
|
Example:
|
||||||
|
|
||||||
|
@ -45,20 +50,23 @@ Example:
|
||||||
A "Full Event" is of `kind:40042`. It has [NIP-42](42.md) `A` tags the author
|
A "Full Event" is of `kind:40042`. It has [NIP-42](42.md) `A` tags the author
|
||||||
can update at will with the pubkeys allowed to access it.
|
can update at will with the pubkeys allowed to access it.
|
||||||
|
|
||||||
It uses the custom NIP-42 event serialization for events that require `AUTH`.
|
|
||||||
|
|
||||||
The `.content` and other tags aren't fixed. The structure depends on the
|
The `.content` and other tags aren't fixed. The structure depends on the
|
||||||
kind of the public event it is protecting. For example, if it is
|
kind of the public event it is protecting. For example, if it is
|
||||||
protecting a `kind:30023` event, it should have the structure defined on [NIP-23](23.md).
|
protecting a `kind:30023` event, it should have the structure defined on [NIP-23](23.md).
|
||||||
|
|
||||||
Example:
|
An interesting side effect of this being an event separate from the public one
|
||||||
|
is that it doesn't need to be owned by the public event author. This way
|
||||||
|
an always online bot or DVM can update the `A` tag list in response to
|
||||||
|
a detected payment, for example.
|
||||||
|
|
||||||
|
Example of a `kind:40042` event using a `kind:1063` event structure:
|
||||||
|
|
||||||
```json
|
```json
|
||||||
{
|
{
|
||||||
"kind": 40042,
|
"kind": 40042,
|
||||||
"pubkey": "<author_pubkey>",
|
"pubkey": "<author_pubkey>",
|
||||||
"tags": [
|
"tags": [
|
||||||
["d", "<random>"],
|
["d", "<random>"], // act as parameterized replaceable event
|
||||||
["A", "<author_pubkey>"], // important to keep author access right
|
["A", "<author_pubkey>"], // important to keep author access right
|
||||||
["A", "<buyer_1_pubkey>"],
|
["A", "<buyer_1_pubkey>"],
|
||||||
["A", "<buyer_2_pubkey>"],
|
["A", "<buyer_2_pubkey>"],
|
||||||
|
|
Loading…
Reference in New Issue
Block a user