NIP-37: Envolturas de borradores
NIP-37 define un evento de almacenamiento cifrado para eventos de borrador sin firmar de cualquier kind. Un usuario que redacta un artículo de formato largo, un próximo evento de calendario o un mensaje que puede querer enviar más tarde puede almacenar el borrador en los relays bajo un evento de kind 31234, cifrado a su propia clave con NIP-44. El borrador es recuperable desde cualquier cliente que posea la clave del usuario, y el mismo NIP define un evento de lista kind:10013 separado que nombra los relays en los que el usuario desea almacenar sus borradores privados.
Cómo funciona
Una envoltura de borrador es un evento parametrizado reemplazable de kind 31234. El evento borrador sin firmar se convierte a JSON, se cifra con NIP-44 a la clave pública del firmante y se coloca en .content. Un tag k declara el kind del borrador para que un cliente pueda agrupar borradores por tipo de evento. Un tag d transporta el identificador del borrador para que la envoltura pueda ser reemplazada a medida que el borrador evoluciona, y se recomienda un tag expiration NIP-40 para que los borradores antiguos caduquen automáticamente.
{
"kind": 31234,
"tags": [
["d", "<identifier>"],
["k", "<kind of the draft event>"],
["expiration", "<unix-timestamp>"]
],
"content": "<nip44Encrypt(JSON.stringify(draft_event))>"
}
Un campo .content en blanco indica que el borrador ha sido eliminado.
Puntos de control
El kind 1234 define puntos de control pertenecientes a un evento padre kind:31234. Los puntos de control llevan un tag a que apunta al borrador padre y permiten a un cliente almacenar el historial de revisiones junto con el borrador más reciente.
{
"kind": 1234,
"tags": [
["a", "31234:<pubkey>:<identifier>"]
],
"content": "<nip44Encrypt(JSON.stringify(draft_event))>"
}
Lista de relays para contenido privado (kind 10013)
El kind 10013 es un evento reemplazable cuyos tags listan los relays en los que el usuario quiere almacenar contenido privado, incluidas las envolturas de borradores. Los clientes que publican kind 31234 DEBERÍAN publicar en los relays listados en el evento kind 10013 del usuario. Esto separa el conjunto de relays usados para publicaciones públicas (NIP-65) del conjunto de relays usado para almacenamiento de contenido privado, para que un usuario pueda fijar borradores privados a un conjunto pequeño de relays de confianza sin exponer ese conjunto en su outbox público.
Implementaciones
- Notedeck - almacena los relays de sincronización privada como una lista kind-10013 (añadido en 2026-06)
Fuentes primarias:
- Especificación NIP-37
- Commit de Notedeck que almacena relays de sincronización privada como kind-10013 - El equipo de Damus adopta la especificación para la gestión de relays de sincronización en escritorio
Mencionado en:
Véase también: