nostrfy の紹介

nostrfy とは何か、標準で使える機能、そして Rust で書かれたオールインワン Nostr リレーエンジンの設計理念。

nostrfy は Nostr プロトコルのリレーサーバーです。クライアントが送信したイベント(投稿、リアクション、プロフィール……)を保存し、購読リクエストに応じて配信します。

主な特徴

  • シンプルで安定 — Rust 製。1 つのバイナリですべてをこなします。
  • 高速なストレージと検索 — LMDB データベースと全文検索インデックス(NIP-50)。
  • 広範な NIP サポート — 36 個の NIP に加えて Blossom ファイルサーバーを実装:削除、プルーフ・オブ・ワーク、委任、グループ、検索、管理 API。
  • 運用が簡単 — デーモンモード、ログローテーション、設定のホットリロード(SIGHUP)、ライブ統計、REST API、Prometheus メトリクス。
  • 移行が簡単 — 1 コマンドで既存の strfry データベースを取り込めます。dry-run、設定のマージ、安全な再実行に対応(移行ガイド)。

標準で使える機能

単一の nostrfy バイナリが 1 つのポートで提供します:

  • WebSocket リレーと NIP-11 情報ドキュメント。
  • 読み取り専用の REST API、場所は /api/v1/... — 専用のリーダースレッドにより、REST トラフィックが WebSocket 購読者を妨げることはありません。
  • Blossom ファイルサーバー(メディアホスティング)。専用ホスト名で動作します。
  • NIP-86 管理 RPC、ヘルスチェック、Prometheus /metrics。

リソース使用量

nostrfy は 0.25 vCPU / 512 MB VPS で動作します。LMDB メモリマップは 1 TiB のスパースな仮想予約で — 物理ディスクは実データ分だけ増え — プロセスメモリは一定に保たれます:データベース 252 MB のリレーでも 7.9 MB のプライベート RSS。

すぐに試す

3 つのコマンドでインストール、初期化、起動が完了します:

sh
curl -fsSL https://raw.githubusercontent.com/iqbqioza/nostrfy/main/install.sh | sh
nostrfy --config nostrfy.toml init
nostrfy --config nostrfy.toml start

その後、リレーが起動したことを確認します:

sh
curl http://127.0.0.1:8080/health

そして NIP-11 ドキュメントを取得します:

sh
curl -H "Accept: application/nostr+json" http://127.0.0.1:8080/
次のステップ
クイックスタートに従って初回実行を行い、あるいは直接 設定リファレンスへ進んで調整してください。