Open3

Nostrについて調べたこと

シンシン
  • リレーに接続するためのWebsocketのコネクションはどのタイミングで切断されるか?
nostr.RelayConnect(ctx, "wss://relay-jp.nostr.wirednet.jp")

のように、引数にcontext.Context型のctxを持つので、このctxcancel()されるとリレーからコネクションが切断される。

  • subscribeすると継続的にデータが来るが、これはどのタイミングで切断されるか?

これも同様に

relay.Subscribe(ctx, filters)

ctxcancel()になったタイミングでunsubされる。
NIP-01を見ると、subscribeを停止したいときは["CLOSE", 購読ID]をリレーサーバーに送ることによって停止されるとのこと。

つまり

relay.Subscribe(ctx, filters)

は、ctxが終了したタイミングでリレーサーバーに["CLOSE", 購読ID]を送るため読み取りを中断できる。
リレーとのコネクションを切るわけではなく、特定のIDのsubscribeを停止しているだけとなる。

シンシン

画像投稿について

画像を投稿している人たちのイベントjson見るとパターンが少し違うものがある。

{
  "content": "xxxxxxx https://image.nostr.build/bf5bee557bd72322c50d2d42402afefcc7250611c6c9bd23b840b2c55fb6635c.jpg ",
  "created_at": 1700756927,
  "id": "7bd398957d1ef9de48d1b90121176feb31e7a7b124bb8a280d14982fd0925353",
  "kind": 1,
  "pubkey": "c909252de5546401e9717846a27d3aec0beef9bd8360bcd7cf5480252dd6776d",
  "sig": "770875d6bcaae1afedffd9dbebc4e2f6f41a32ac434a9899450c05c1a4a4962ee157198722c4bde65d2429e52c7e65eb7e5e1ce28a1d1bee0a1ca501614a59aa",
  "tags": [
    [
      "imeta",
      "url https://image.nostr.build/bf5bee557bd72322c50d2d42402afefcc7250611c6c9bd23b840b2c55fb6635c.jpg",
      "blurhash eJHUd~=|00%2xt_NSx$*xGIoX-NZE2S#tQJ,nNVY%2xaR5nOS5NGRP",
      "dim 4032x3024"
    ],
    [
      "r",
      "https://image.nostr.build/bf5bee557bd72322c50d2d42402afefcc7250611c6c9bd23b840b2c55fb6635c.jpg"
    ]
  ]
}

もう一つ


{
  "pubkey": "64057544a03d7f8d24658008cdd9282ec8a2af93b2744873f92529aecc5ade4b",
  "content": "そういえば生協でおやき買いました\n来週届きます https://image.nostr.build/f8ac733d1f6b9b1ddf0641b68ccdf6ee7362a990fd79c5065dbafd95a0a47bd5.jpg",
  "id": "7d4579e18026e1d5c6ecf3b735f98184df476599470476fb6b76a50a724d853e",
  "created_at": 1700756745,
  "sig": "d04ceb657a1584c0fd821f73bebedc78bfd4496fb2d21ef743baadf0f4174f6905c8017cbd4e45c2871ba9b0fb1f5e56ec722bc0798e19059774e98b0182d1d3",
  "kind": 1,
  "tags": [
    [
      "r",
      "https://image.nostr.build/f8ac733d1f6b9b1ddf0641b68ccdf6ee7362a990fd79c5065dbafd95a0a47bd5.jpg"
    ]
  ]
}
  • rタグを付けているもの
  • rタグとimetaタグを付けているもの
    があった

過去の実装の差について調べる