Skip to main content

概要

revolution/laravel-nostr は、Nostr プロトコルを Laravel から利用するためのパッケージです。Key の生成・変換、イベントの取得・発行、pool(複数リレー)対応、NIP-05 プロフィール、NIP-17 Private Direct Messages、そして Laravel Notifications との統合を提供します。
Nostr の仕様はまだ進化中のため、このパッケージも継続的に開発されています。通知機能はすでに実用的に使えます。

ドライバー

このパッケージには 2 つのドライバーがあります。
native ドライバーのユニークな点は WebSocketHttpMixin の実装です。Laravel の HTTP クライアントで WebSocket に接続し、データを送受信したらすぐに切断します。WebSocket サーバーを起動し続ける必要がなく、Laravel ユーザーなら誰でも使える設計になっています。
native ドライバーは NIP-04 には対応していません。

デフォルトドライバーの設定

config/nostr.php または .env で設定します。
ドライバーを指定しない場合はデフォルトのドライバーが使われます。
ドライバーを明示的に指定することもできます。

インストール

1

パッケージをインストールする

2

設定ファイルを公開する

Key 管理

Key を生成する

Key を変換する

nsec から変換します。
Secret Key から変換します。
npub から変換します(公開鍵のみ)。
Public Key から変換します。

イベントの取得

複数イベントを取得する

1 件のイベントを取得する

イベントの発行

単一リレーに発行する

複数リレーに発行する(pool)

リレーサーバーの設定

使用されるリレーサーバー

Nostr::event() のみを使う場合は config/nostr.php の最初のリレーが使われます。Nostr::pool() を使う場合は設定内のすべてのリレーが対象になります。

実行時にリレーを変更する

NIP-05 プロフィール

NIP-17 Private Direct Messages

NIP-17 は native ドライバーのみ対応しています。

プライベートメッセージを送信する

プライベートメッセージを復号する

Laravel Notifications

NostrChannel を使うと、Laravel Notifications から Nostr にメッセージを送信できます。

Notification クラス

オンデマンド通知

User モデルへの統合

通知で使うリレーサーバー

デフォルトでは config/nostr.php のすべてのリレーが使われます。NostrRoute でリレーを指定すると実行時に変更できます。
最新情報は GitHub リポジトリ を参照してください。
最終更新日 2026年4月29日