跳转到主要内容

概览

revolution/laravel-nostr 是一个让你能在 Laravel 中使用 Nostr 协议的包。它提供密钥生成与转换、事件获取与发布、pool(多 relay)支持、NIP-05 profile、NIP-17 Private Direct Messages,以及与 Laravel Notifications 的集成。
由于 Nostr 规范仍在演进中,该包也在持续开发。通知功能已经可以实际投入使用。

驱动

该包提供两个驱动。
native 驱动的独特之处在于其 WebSocketHttpMixin 实现。它通过 Laravel 的 HTTP 客户端连接到 WebSocket,收发数据后立即断开。无需持续运行 WebSocket 服务器,任何 Laravel 用户都可以使用。
native 驱动不支持 NIP-04。

配置默认驱动

config/nostr.php.env 中配置。
如果未指定驱动,将使用默认驱动。
也可以显式指定驱动。

安装

1

安装包

2

发布配置文件

密钥管理

生成密钥

转换密钥

从 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 驱动中受支持。

发送私信

解密私信

Laravel Notifications

使用 NostrChannel,你可以从 Laravel Notifications 向 Nostr 发送消息。

Notification 类

按需通知

与 User 模型集成

通知中使用的 relay 服务器

默认情况下会使用 config/nostr.php 中配置的所有 relay。也可以通过 NostrRoute 在运行时指定 relay。
更多最新信息请参见 GitHub 仓库
最后修改于 2026年7月18日