Skip to main content

概要

revolution/laravel-nostr 是從 Laravel 使用 Nostr 協定的套件。提供 Key 的生成與轉換、事件的取得與發佈、pool(多 relay)支援、NIP-05 profile、NIP-17 Private Direct Messages,以及與 Laravel Notifications 的整合。
由於 Nostr 規範仍在演進中,本套件也持續開發中。通知功能已可實用。

Driver

本套件有 2 個 driver。
native driver 的獨特之處在於 WebSocketHttpMixin 的實作。使用 Laravel 的 HTTP client 連線至 WebSocket,資料收發後立即中斷連線。不需要持續執行 WebSocket 伺服器,任何 Laravel 使用者都能使用。
native driver 不支援 NIP-04。

預設 driver 設定

config/nostr.php.env 設定。
若不指定 driver 則使用預設 driver。
也可以明確指定 driver。

安裝

1

安裝套件

2

發佈設定檔

Key 管理

產生 Key

轉換 Key

從 nsec 轉換。
從 Secret Key 轉換。
從 npub 轉換(僅公鑰)。
從 Public Key 轉換。

取得事件

取得多筆事件

取得單一事件

發佈事件

發佈至單一 relay

發佈至多個 relay(pool)

Relay 伺服器設定

使用的 Relay 伺服器

僅使用 Nostr::event() 時,會使用 config/nostr.php 中的第一個 relay。使用 Nostr::pool() 時,設定中的所有 relay 都會列為目標。

執行時變更 Relay

NIP-05 Profile

NIP-17 Private Direct Messages

NIP-17 僅支援 native driver。

傳送私訊

解密私訊

Laravel Notifications

使用 NostrChannel 可從 Laravel Notifications 向 Nostr 傳送訊息。

Notification 類別

On-Demand 通知

整合至 User 模型

通知使用的 Relay 伺服器

預設會使用 config/nostr.php 中所有 relay。以 NostrRoute 指定 relay 則可在執行時變更。
最新資訊請參閱 GitHub 儲存庫
最後修改於 2026年8月2日