generated at
開発者向け記事

プロトコル(NIP
nostrのプロトコル総本山。
issueもPRの方も長いやり取りだったり、長い間マージされないものもあるから必見。
nostr - Notes and Other Stuff Transmitted by Relays もあるけどプロトコル定義(仕様)は全て上記へ移動済みなのであまり見る必要はなさそう。

ここでの用語の定義(混在あり)
メッセージ(message)=nostr-procotolでやり取りされるpayload本体。githubのNIPではクライアント側は "command" と書いていたりして統一はされていない。relay側が応答する時にcommandというのは不自然なのでmessageで統一して欲しい(お気持ち)。
公開鍵=npub~
秘密鍵=nsec~
ノート=note~(テキスト投稿
上記すべてがbech32エンコードの結果なので '1' が区切り文字になっている。以下、具体例。
npub1spj7zmtmgdl8gcndcqt6r783x6fhjqw5e54ll7cudgphwx0m72ys404su9 ← kappaseijin の公開鍵。

ツール、サービス
任意のイベントを自由に送受信できる開発者向けクライアントです。NIP-11の情報も取得できます。
任意のREQを送ることのできる開発者向けクライアント。GUIでフィルタを設定入力できます。
post id に調べたい post の id、relays に調べたいリレーサーバー名を入れると、その post がどのリレーに存在してどのリレーに存在しないかをチェックします。
NIP-19 に基づき、nostr-protocolメッセージをnpub、noteの生の値を表示できる。JSON形式ではないので全部ではない? 結果のページでnpub⇔16進数表記、署名検証があるおまけ付き。
上記の日本語版。foxytanukiさん改変&運用中。
NIP-19のために、公開鍵16進数表記をnpub形式(nsec, note, naddr, nprofile)に変換できるサービス。元々はブロックチェーンのBIPの検証のためのサービス。使い方は 公開鍵⇔16進数表記 参照。
nostrのCLI。
NIP-11 のrelay情報を取得できる。
色々できる。秘密鍵のimportは個人判断で。名前が似ている nostr-tools との関連は不明。
NIP-19の nprofile とは直接関係なく、npubに紐付いた情報を引っ張ってくるサービス。
WebSocketの送信ができるサービス。nostrはWebSocket上に定義されたプロトコルなのでそこの処理を確認したい時に利用できそう。

ライブラリー、実コード(github等)
nostr-protocolでメッセージをクライアントライブラリ。言語はpython。pipでインストールもできる。
製の鍵変換CLI。 NIP-19 に基づきnpub、nsec、noteを、16進数表記⇔bech32形式(クライアントから見えるnが付かないやつ)に相互変換できるCLI。
特定の文字列で始まるor終わるnpub(勿論それに対応した秘密鍵も)を作るためのCLI。言語はpython3。
nostr-protocol実装。言語はgo言語。
リレーとの通信を簡素化するための TypeScript 製ライブラリ。
nostr-tools を使ったクライアント。 nip-13 スパム抑制のための試験実装? 言語はJavaScript。
relay。Rust製。
以下で採用されている。
relay。JavaScript(node.js)製。
以下で採用されている。

relay。C++製。
以下で採用されている。

参考ページ
mukakamiiさん自作BBSを作った際の知見
Segment(gpsnmeajp) さんによるdamus体験というかnostr概要説明。
Segment(gpsnmeajp) さんによるnostr-protocolのざっくりとした解説。NIPは増え続けている&日々改変されているのでとりまその時点であることに留意。