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년 7월 13일