開発者向け記事
nostrのプロトコル総本山。
issueもPRの方も長いやり取りだったり、長い間マージされないものもあるから必見。
ここでの用語の定義(混在あり)
メッセージ(message)=nostr-procotolでやり取りされるpayload本体。githubのNIPではクライアント側は "command" と書いていたりして統一はされていない。relay側が応答する時にcommandというのは不自然なのでmessageで統一して欲しい(お気持ち)。
上記すべてがbech32エンコードの結果なので '1' が区切り文字になっている。以下、具体例。 npub1spj7zmtmgdl8gcndcqt6r783x6fhjqw5e54ll7cudgphwx0m72ys404su9 ← kappaseijin の公開鍵。 ツール、サービス
任意のイベントを自由に送受信できる開発者向けクライアントです。NIP-11の情報も取得できます。
任意のREQを送ることのできる開発者向けクライアント。GUIでフィルタを設定入力できます。
post id に調べたい post の id、relays に調べたいリレーサーバー名を入れると、その post がどのリレーに存在してどのリレーに存在しないかをチェックします。
NIP-19 に基づき、nostr-protocolメッセージをnpub、noteの生の値を表示できる。JSON形式ではないので全部ではない? 結果のページでnpub⇔16進数表記、署名検証があるおまけ付き。 NIP-19のために、公開鍵16進数表記をnpub形式(nsec, note, naddr, nprofile)に変換できるサービス。元々はブロックチェーンのBIPの検証のためのサービス。使い方は 公開鍵⇔16進数表記 参照。 nostrのCLI。
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 製ライブラリ。
relay。Rust製。
以下で採用されている。
relay。JavaScript(node.js)製。
以下で採用されている。
relay。C++製。
以下で採用されている。
参考ページ