2023-03-25 10:58:31 -04:00
|
|
|
NIP-18
|
|
|
|
======
|
|
|
|
|
|
|
|
Reposts
|
|
|
|
-------
|
|
|
|
|
2023-11-15 19:42:51 -05:00
|
|
|
`draft` `optional`
|
2023-03-25 10:58:31 -04:00
|
|
|
|
2023-06-16 17:16:42 -04:00
|
|
|
A repost is a `kind 6` event that is used to signal to followers
|
|
|
|
that a `kind 1` text note is worth reading.
|
2023-03-25 10:58:31 -04:00
|
|
|
|
2023-06-18 10:36:23 -04:00
|
|
|
The `content` of a repost event is _the stringified JSON of the reposted note_. It MAY also be empty, but that is not recommended.
|
2023-03-25 10:58:31 -04:00
|
|
|
|
|
|
|
The repost event MUST include an `e` tag with the `id` of the note that is
|
2023-03-29 17:45:12 -04:00
|
|
|
being reposted. That tag MUST include a relay URL as its third entry
|
2023-03-25 10:58:31 -04:00
|
|
|
to indicate where it can be fetched.
|
|
|
|
|
|
|
|
The repost SHOULD include a `p` tag with the `pubkey` of the event being
|
|
|
|
reposted.
|
2023-03-29 17:45:12 -04:00
|
|
|
|
2024-10-02 16:22:52 -04:00
|
|
|
## Generic Reposts
|
|
|
|
|
|
|
|
Since `kind 6` reposts are reserved for `kind 1` contents, we use `kind 16`
|
|
|
|
as a "generic repost", that can include any kind of event inside other than
|
|
|
|
`kind 1`.
|
|
|
|
|
|
|
|
`kind 16` reposts SHOULD contain a `k` tag with the stringified kind number
|
|
|
|
of the reposted event as its value.
|
|
|
|
|
2023-03-29 17:45:12 -04:00
|
|
|
## Quote Reposts
|
|
|
|
|
2024-02-22 14:38:39 -05:00
|
|
|
Quote reposts are `kind 1` events with an embedded `q` tag of the note being
|
|
|
|
quote reposted. The `q` tag ensures quote reposts are not pulled and included
|
|
|
|
as replies in threads. It also allows you to easily pull and count all of the
|
|
|
|
quotes for a post.
|
2023-06-16 17:16:42 -04:00
|
|
|
|
2024-10-02 16:22:52 -04:00
|
|
|
`q` tags should follow the same conventions as NIP 10 `e` tags, with the exception
|
|
|
|
of the `mark` argument. The first argument MAY be either an event id or an address.
|
2023-06-16 17:16:42 -04:00
|
|
|
|
2024-10-02 16:22:52 -04:00
|
|
|
`["q", <event-id-or-address>, <relay-url>, <pubkey>]`
|
2023-06-16 17:16:42 -04:00
|
|
|
|
2024-10-02 16:22:52 -04:00
|
|
|
Quote reposts MUST include the bech32-encoded `nevent`, `note`, or `naddr` of the
|
|
|
|
event in the content. The embedded entity should match the type of the tag (in
|
|
|
|
other words, if embedding a `naddr`, the `q` tag should contain an address, not
|
|
|
|
an event id).
|
2024-10-02 17:50:10 -04:00
|
|
|
|
|
|
|
Quote reposts also SHOULD include a `k` tag matching the stringified `kind` of
|
|
|
|
the quoted note.
|