開発者向け記事
#開発 #NIP #仕様 #関連ツール #開発者向け
海外資料/Githubリンクが多いです。
プロトコル(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 の公開鍵。
ツール、サービス
Nostr playground (by SnowCait)
任意のイベントを自由に送受信できる開発者向けクライアントです。NIP-11の情報も取得できます。
Nostr playground (by Sepehr)
任意のREQを送ることのできる開発者向けクライアント。GUIでフィルタを設定入力できます。
nostr: post existence checker
post id に調べたい post の id、relays に調べたいリレーサーバー名を入れると、その post がどのリレーに存在してどのリレーに存在しないかをチェックします。
Nostr Gateway
NIP-19 に基づき、nostr-protocolメッセージをnpub、noteの生の値を表示できる。JSON形式ではないので全部ではない? 結果のページでnpub⇔16進数表記、署名検証があるおまけ付き。
Nostr Gateway(日本語版)
上記の日本語版。foxytanukiさん改変&運用中。
bech32-buffer
NIP-19のために、公開鍵16進数表記をnpub形式(nsec, note, naddr, nprofile)に変換できるサービス。元々はブロックチェーンのBIPの検証のためのサービス。使い方は 公開鍵⇔16進数表記 参照。
noscl
nostrのCLI。
Nostr relays
NIP-11 のrelay情報を取得できる。
nostr tools
色々できる。秘密鍵のimportは個人判断で。名前が似ている nostr-tools との関連は不明。
nprofile
NIP-19の nprofile とは直接関係なく、npubに紐付いた情報を引っ張ってくるサービス。
WebSocket King
WebSocketの送信ができるサービス。nostrはWebSocket上に定義されたプロトコルなのでそこの処理を確認したい時に利用できそう。
ライブラリー、実コード(github等)
python-nostr
nostr-protocolでメッセージをクライアントライブラリ。言語はpython。pipでインストールもできる。
Key-Convertr
製の鍵変換CLI。 NIP-19 に基づきnpub、nsec、noteを、16進数表記⇔bech32形式(クライアントから見えるnが付かないやつ)に相互変換できるCLI。
Nostr Vanity npub Generator
特定の文字列で始まるor終わるnpub(勿論それに対応した秘密鍵も)を作るためのCLI。言語はpython3。
go-nostr
nostr-protocol実装。言語はgo言語。
rx-nostr
リレーとの通信を簡素化するための TypeScript 製ライブラリ。
nostr web client
nostr-tools を使ったクライアント。 nip-13 スパム抑制のための試験実装? 言語はJavaScript。
nostr-rs-relay
relay。Rust製。
以下で採用されている。
relay.snort.social, nostr.holybea.com, Umbrel
nostream
relay。JavaScript(node.js)製。
以下で採用されている。
eden.nostr.land , nostr-relay.nokotaro.com, nostr.fediverse.jp, relay.nostr.or.jp, nostr-relay.h3z.jp,relay-jp.nostr.wirednet.jp, (nostr.h3y6e.com),( nostr.fediverse.jp)
strfry - a nostr relay
relay。C++製。
以下で採用されている。
nos.lol, relay.damus.io, relay.current.fyi,yabu.me