「え?そんな患者さん、入院されていませんが……」
怪訝な顔でこちらを窺いながらそう答えた看護士さんに、私は呆然とした。
「どうかされましたか?」
「いえ……」
どうにかそう応じて私は受け付けを離れ、待合室の椅子に腰を降ろす。じゃあ私が仮想空間で毎週末見舞いに行ってたあの子は……誰だったんだ……?
Nostrクライアント、それぞれかなり違う印象。フリーダムすぎる。
wssテスト。
あ、分かった。json 配列の 最初の要素が EVENT なら、2番目の要素の json の中から kinds を探してその値に従って分類して、その json を保存すればいいんだ。REQ が来たらそのフィルタに従って渡せばいい。
多分リレーサーバの実装はそれだけで割と行けるはず。
やべえ。のすた本の演習で作ったbotの秘密鍵を……どっかやっちまった……
「のすた(ぁ)」じゃないの!?
のすたのアカウントって確固とした1つのデータじゃなくて、あるリレーサーバのデータベースに散らばってるデータが、クライアント上で1つに結合されてる……のでは?
おかしい。俺はのすたのリレーサーバを作ろうとしてたはずなのに、何故 websocket サーバを作ろうとしてるんだ?
それもシェルスクリプトで。
botっぽいアカウントを作ってみて分かった。Nostr、これはクライアントは難しい。
_bot.js
適当にアカウント作って(鍵ペア作って)、wss://relay-jp.nostr.wirednet.jp に kinds0 を送るとリレーサーバに負担掛かるかな……と思ってるけど、やろう。(非道)
のすた本に
「リレーを信頼する必要はなく、情報を受信したクライアントが署名を検証します」
とあるから、リレーサーバは送られた json を保存するだけで、sha256 の検証も署名の検証もやらなくていいんだよね?
検証用ポスト。
wscat じゃなくて websocat を使えば
echo '["REQ","1234567",{"kinds":[1],"limit":10}]' | websocat wss://relay-jp.nostr.wirednet.jp
と、ワンラインで出来るな……しかもこれなら jq 使えるはず。
いや、確かに
wscat -c wss://relay-jp.nostr.wirednet.jp
してプロンプトに
["REQ","123456789",{"kinds":[1]}]
と打ち込めば、のすた本の演習1-1はやれるんだけどさ……
こんなん読めるか。