nips/27.md
2023-03-23 19:37:10 -03:00

2.0 KiB

NIP-27

Text Note References

draft optional author:fiatjaf author:scsibug author:arthurfranca

This document standardizes the treatment given by clients of inline references of other events and profiles inside the content of text notes (currently kinds 1 and 30023).

Once a mention is identified by a client, for example, when an user pastes a NIP-19 nostr profile string inside the event content input field (or optionally by any other means the client may wish to support, such as selecting an user from a context menu or autocompleter), the client MUST replace it with the notation nostr:nprofile1qqsw3dy8cpu...6x2argwghx6egsqstvg as per NIP-21 before effectively creating the event. The client MAY add the corresponding pubkey to the .tags with the tag p if it wishes to notify mentioned user.

The same process applies for referencing event IDs (using nostr:nevent1...), except that the client SHOULD NOT add the event id to the .tags with the tag e so to not negatively impact thread loading. Because e tags on text notes are usually considered ancestor events used to build a conversarion thread (as per NIP-10), it is advised to use inline references when mentioning events and NOT adding corresponding e tag to the .tags event key.

Other nostr identifiers should be referenced similarly using NIP-21 URLs inside event content (e.g. nostr:naddr1... for parameterized replaceable events).

Note that the usage of nostr:npub1... for profile mentions or nostr:note1... for event mentions is discouraged due to their lack of embedded relay recommendation.

A reader client that receives a text_note event with such nostr:... mentions in its .content CAN do any desired context augmentation (for example, linking to the profile or showing a preview of the mentioned event contents) it wants in the process. If turning such mentions into links, they could become internal links, NIP-21 links or direct links to web clients that will handle these references.