コンテンツにスキップ
Zenn Dev Snowcait Articles 3e52e8eae4b3b5

Nostr プロトコルで SNS を作ってビットコインをもらった話

  • URL: https://zenn.dev/snowcait/articles/3e52e8eae4b3b5
  • 日付: 2026-06-26
  • Tier: Tier 3
  • 要旨: Nostr プロトコルを使った分散型 SNS クライアント nostter を開発した経緯と、OpenSats というビットコインファンドから資金提供を受けた体験をまとめた記事。Nostr はクライアントサーバーモデルでサーバー(リレー)は中継のみを担い、ビジネスロジックはクライアント側に置く設計で、Svelte + Cloudflare Pages で実装されている。OSS 開発者が OpenSats に申請し承認されれば、ビットコイン建てで生活費を賄う規模の資金を得られることを自身の実例とともに紹介している。

詳細

Nostr プロトコルで SNS クライアントを開発し OpenSats から資金を受けた記録

  • Nostr の設計: WebSocket ベースのリレーはデータの中継・保存のみ担当。ビジネスロジックはクライアント側に集約。クライアントとリレーは独立して開発・運用できる
  • クライアント nostter の技術選定:
    • フレームワーク: Svelte(学習コストが低い)
    • ライブラリ: nostr-tools、rx-nostr(WebSocket と Rx の相性が良い)
    • ホスティング: Cloudflare Pages(SSR対応、ページごとのOGP設定のため)
  • Nostr リレー開発の技術選定(開発着手中):
    • Cloudflare Workers + Durable Objects(Lambda はコールドスタートと課金モデルの相性が悪い)
    • フレームワーク: Hono
    • DB 候補: Durable Objects 付属 SQL Storage か D1(容量上限 10GB が懸念)
    • 課題: リレー情報 JSON (https://) と WebSocket (wss://) を同一URIに置く NIP 仕様と cors ミドルウェアの相性問題
  • OpenSats: ビットコイン・Nostr OSS 開発者への持続可能資金提供ファンド。契約期間は申請時に決定(著者は1年)。受取はビットコイン建て。日本人でも複数の受給者あり