Skip to main content

Vue d’ensemble

revolution/laravel-nostr est un package qui permet d’utiliser le protocole Nostr depuis Laravel. Il propose la génération et la conversion de clés, la récupération et la publication d’événements, la prise en charge de pools (plusieurs relays), les profils NIP-05, les messages directs privés NIP-17, ainsi que l’intégration avec Laravel Notifications.
Les spécifications de Nostr évoluent encore, ce package est donc en développement continu. La fonctionnalité de notification est déjà utilisable en pratique.

Pilotes

Ce package propose deux pilotes.
La particularité du pilote native est son implémentation WebSocketHttpMixin. Il se connecte en WebSocket via le client HTTP de Laravel, échange des données puis se déconnecte immédiatement. Il n’est pas nécessaire de faire tourner un serveur WebSocket en continu, ce qui rend cette solution accessible à tout utilisateur de Laravel.
Le pilote native ne prend pas en charge NIP-04.

Configuration du pilote par défaut

Configurez dans config/nostr.php ou .env.
Si aucun pilote n’est spécifié, le pilote par défaut est utilisé.
Vous pouvez également spécifier explicitement le pilote.

Installation

1

Installer le package

2

Publier le fichier de configuration

Gestion des clés

Générer une clé

Convertir une clé

Conversion depuis un nsec.
Conversion depuis une secret key.
Conversion depuis un npub (clé publique uniquement).
Conversion depuis une public key.

Récupération d’événements

Récupérer plusieurs événements

Récupérer un seul événement

Publication d’événements

Publier sur un seul relay

Publier sur plusieurs relays (pool)

Configuration des serveurs relay

Serveurs relay utilisés

Si vous utilisez uniquement Nostr::event(), le premier relay défini dans config/nostr.php est utilisé. Avec Nostr::pool(), tous les relays de la configuration sont ciblés.

Modifier les relays à l’exécution

Profils NIP-05

Messages directs privés NIP-17

NIP-17 n’est pris en charge que par le pilote native.

Envoyer un message privé

Déchiffrer un message privé

Laravel Notifications

Avec NostrChannel, vous pouvez envoyer des messages vers Nostr depuis Laravel Notifications.

Classe Notification

Notification à la demande

Intégration au modèle User

Relays utilisés pour les notifications

Par défaut, tous les relays de config/nostr.php sont utilisés. Vous pouvez les modifier à l’exécution en spécifiant des relays dans NostrRoute.
Pour les dernières informations, consultez le dépôt GitHub.
Dernière modification le 13 juillet 2026