Skip to main content

Resumen

revolution/laravel-nostr es un paquete para utilizar el protocolo Nostr desde Laravel. Ofrece generación y conversión de claves, obtención y publicación de eventos, soporte para pool (varios relays), perfiles NIP-05, mensajes directos privados NIP-17 e integración con Laravel Notifications.
Como la especificación de Nostr aún está evolucionando, este paquete también está en desarrollo continuo. Las notificaciones ya se pueden usar de forma práctica.

Drivers

Este paquete tiene 2 drivers.
Lo característico del driver native es la implementación de WebSocketHttpMixin. Se conecta al WebSocket a través del cliente HTTP de Laravel, envía y recibe datos y se desconecta enseguida. No hace falta mantener un servidor WebSocket en ejecución, así que cualquier usuario de Laravel puede usarlo.
El driver native no admite NIP-04.

Configurar el driver por defecto

Se configura en config/nostr.php o en .env.
Si no especificas un driver, se usa el driver por defecto.
También puedes indicar el driver de forma explícita.

Instalación

1

Instala el paquete

2

Publica el archivo de configuración

Gestión de claves

Generar claves

Convertir claves

Conversión desde nsec.
Conversión desde la Secret Key.
Conversión desde npub (solo clave pública).
Conversión desde la Public Key.

Obtención de eventos

Obtener varios eventos

Obtener un solo evento

Publicación de eventos

Publicar en un solo relay

Publicar en varios relays (pool)

Configuración de los servidores relay

Servidores relay utilizados

Si utilizas solo Nostr::event(), se usa el primer relay de config/nostr.php. Con Nostr::pool() se usan todos los relays de la configuración.

Cambiar el relay en tiempo de ejecución

Perfil NIP-05

Mensajes directos privados NIP-17

NIP-17 solo está disponible en el driver native.

Enviar un mensaje privado

Descifrar un mensaje privado

Laravel Notifications

Con NostrChannel puedes enviar mensajes a Nostr desde Laravel Notifications.

Clase Notification

Notificación bajo demanda

Integración con el modelo User

Servidores relay usados en las notificaciones

Por defecto se usan todos los relays de config/nostr.php. Si indicas relays en NostrRoute puedes cambiarlos en tiempo de ejecución.
Para la información más reciente, consulta el repositorio de GitHub.
Última modificación el 13 de julio de 2026