Paso 1 de 4
Las menciones viven en el texto
Cuando escribes "@mattn" y eliges un perfil, el cliente escribe nostr:nprofile1… (o nostr:npub1…) en el content en ese punto. Los eventos funcionan igual con nostr:nevent1…, nostr:note1… o nostr:naddr1….
NIP-27
BorradorEventos
Cómo mencionar personas y citar eventos dentro del texto de una nota: escribe enlaces nostr: en el content y añade tags p o q cuando quieras notificar a la persona o que la cita cuente.
Edita el formulario o el JSON: ambos se mantienen sincronizados, la insignia indica si el resultado es válido y, al tocar cualquier campo, se explica qué hace.
Aún sin firmar · Solo claves de demo. Las claves secretas de estos personajes son públicas a propósito.
Selecciona cualquier campo del formulario o del JSON para ver qué hace.
Paso 1 de 4
Cuando escribes "@mattn" y eliges un perfil, el cliente escribe nostr:nprofile1… (o nostr:npub1…) en el content en ese punto. Los eventos funcionan igual con nostr:nevent1…, nostr:note1… o nostr:naddr1….
Ningún capítulo del curso cubre este NIP todavía. El editor de arriba es la forma más rápida de empezar.
Las menciones son URIs nostr: como se definen en NIP-21.
Los códigos dentro de esas URIs son entidades NIP-19 (npub, nprofile, nevent, naddr…).
Los artículos largos usan el mismo formato de mención en su Markdown.
Los tags q para citas vienen de los reposts de NIP-18.
El texto de las especificaciones se cita en inglés del repositorio nostr-protocol/nips. Nuestras explicaciones y la interfaz están traducidas. Código fuente en GitHub en el commit 0046368
This document standardizes the treatment given by clients of inline references of other events and profiles inside the .content of any event that has readable text in its .content (such as kinds 1 and 30023).
When creating an event, clients should include mentions to other profiles and to other events in the middle of the .content using NIP-21 codes, such as nostr:nprofile1qqsw3dy8cpu...6x2argwghx6egsqstvg.
Including NIP-18's quote tags (["q", "<event-id> or <event-address>", "<relay-url>", "<pubkey-if-a-regular-event>"]) for each reference is optional, clients should do it whenever they want the profile being mentioned to be notified of the mention, or when they want the referenced event to recognize their mention as a reply.
A reader client that receives an 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.
Suppose Bob is writing a note in a client that has search-and-autocomplete functionality for users that is triggered when they write the character @.
As Bob types "hello @mat" the client will prompt him to autocomplete with mattn's profile, showing a picture and name.
Bob presses "enter" and now he sees his typed note as "hello @mattn", @mattn is highlighted, indicating that it is a mention. Internally, however, the event looks like this:
{
"content": "hello nostr:nprofile1qqszclxx9f5haga8sfjjrulaxncvkfekj097t6f3pu65f86rvg49ehqj6f9dh",
"created_at": 1679790774,
"id": "f39e9b451a73d62abc5016cffdd294b1a904e2f34536a208874fe5e22bbd47cf",
"kind": 1,
"pubkey": "79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798",
"sig": "f8c8bab1b90cc3d2ae1ad999e6af8af449ad8bb4edf64807386493163e29162b5852a796a8f474d6b1001cddbaac0de4392838574f5366f03cc94cf5dfb43f4d",
"tags": [
[
"p",
"2c7cc62a697ea3a7826521f3fd34f0cb273693cbe5e9310f35449f43622a5cdc"
]
]
}
(Alternatively, the mention could have been a nostr:npub1... URL.)
After Bob publishes this event and Carol sees it, her client will initially display the .content as it is, but later it will parse the .content and see that there is a nostr: URL in there, decode it, extract the public key from it (and possibly relay hints), fetch that profile from its internal database or relays, then replace the full URL with the name @mattn, with a link to the internal page view for that profile.
nostr: before publishing the event.nevent1... code and the client will turn that into a nostr:nevent1... URL. Then upon reading such references the client may show the referenced note in a preview box or something like that -- or nothing at all.kind:1 text notes sees, for example, a kind:30023 nostr:naddr1... URL reference in the .content, it can, for example, decide to turn that into a link to some hardcoded webapp capable of displaying such events.mattn without notifying them, but still have a nice augmentable/clickable link to their profile inside their note, they can instruct their client to not create a ["p", ...] tag for that specific mention.["e", ...] tag for any given nostr:nevent1... URL inside .content. Clients may decide to expose these advanced functionalities to users or be more opinionated about things.