aaa on Nostr: ...
用户第一次用某个客户端,这个客户端里没有任何用户历史数据,它只有默认的relay servers list。此时,用kind 3来广播用户所用的relays,就是这些默认的relays,广播到哪里呢,就是这些默认的relay上。
此时用户所用的relay list,就是有两种:
1、用户以前的relay list,在以前的relay servers上
2、用户在新客户端所用的relay list,在这个list里的relay servers上。
两种完全不冲突。
如果用户手动添加以前使用的relay server,那么客户端应该先去以前这个relay server上查询用户的relay list,然后跟当前的relay list合并,最后再广播到默认relay list servers+用户添加的relay server上。【本质上就是个查询不同数据库,合并信息,并同步到这些数据库里】
所以我上面回复的逻辑,就是说,不管客户端使用哪些relay servers,都应该先去查kind 3,有则合并。
Published at
2023-03-01 12:08:30Event JSON
{
"id": "d1d883e718e6bc1392217e13a95121bb4fb079504d8d721acc21ae747232e4b6",
"pubkey": "36e8d5095a5b9a6c828efab190c7724122e11576ad1f60ab84203eccbf0c6a1e",
"created_at": 1677672510,
"kind": 1,
"tags": [
[
"e",
"d15caa78e5c0a25b6fa2c73c4b03481b4e948245cb0a748c89a893b02f961a14",
"",
"root"
],
[
"e",
"30131c7748f8b38584c7c0114c22c0ae484f4462ccde76576f4c94e6d1a1d31b",
"",
"reply"
],
[
"p",
"8888888890493e0c6a6e4a24ae3319a0d7fc595ca3d8e5cae19954e1139008d3"
],
[
"p",
"45c41f21e1cf715fa6d9ca20b8e002a574db7bb49e96ee89834c66dac5446b7a"
],
[
"p",
"d543c820050efd6d2c1536b0990111ac293a4431e6a12929432366e0aa8001e7"
],
[
"p",
"36e8d5095a5b9a6c828efab190c7724122e11576ad1f60ab84203eccbf0c6a1e"
],
[
"p",
"f0c864cf573de171053bef4df3b31c6593337a097fbbd9f20d78506e490c6b64"
]
],
"content": "用户第一次用某个客户端,这个客户端里没有任何用户历史数据,它只有默认的relay servers list。此时,用kind 3来广播用户所用的relays,就是这些默认的relays,广播到哪里呢,就是这些默认的relay上。\n\n此时用户所用的relay list,就是有两种:\n1、用户以前的relay list,在以前的relay servers上\n2、用户在新客户端所用的relay list,在这个list里的relay servers上。\n\n两种完全不冲突。\n\n如果用户手动添加以前使用的relay server,那么客户端应该先去以前这个relay server上查询用户的relay list,然后跟当前的relay list合并,最后再广播到默认relay list servers+用户添加的relay server上。【本质上就是个查询不同数据库,合并信息,并同步到这些数据库里】\n\n所以我上面回复的逻辑,就是说,不管客户端使用哪些relay servers,都应该先去查kind 3,有则合并。",
"sig": "480ac64fa94cc12f3a08f133e150daf2f76f4db7526ae1174c6b32c316308091d16d130fee550c9d513559c3ec0e0ca4f8ba085b33c3b608b077b855262208f0"
}