Open3

Nostrを理解するためのメモ帳

シンシン

Nostrとは

分散SNSで、NIP(Nostr Implementation Possibilities)に基づいて作られるもの。

https://github.com/nostr-protocol/nips

Nostrの情報はリレーサーバーに保存し、クライアント側は接続しているリレーサーバーすべてに送信する。
NIPやそれに基づいて作られたコードを理解して、自分でもリレーサーバーやクライアントを作れるようになることを目標とします

シンシン

上記を実現するために見たサイトや、それで理解したことや学んだことをここに記録して復習しやすいように記録していきます。

シンシン

Nostrを使う上で便利なツールが開発されているリポジトリ

  • Golangで作られたツール群

https://github.com/nbd-wtf/go-nostr

  • Javascriptで作られたツール群

https://github.com/nbd-wtf/nostr-tools

基本的な機能をいろいろ実装しており、ここのソースコードを見ると何やっているかなんとなくわかってくる

  • 秘密鍵・公開鍵の生成
    • 楕円曲線暗号のsecp256k1を使っている
    • 秘密鍵は256bitの数字
    • 公開鍵はこの楕円曲線上の値を取る
  • その他いろいろあるがまだ調べられてないので少しずつ見る