の間で十分と交差しています。Kademliaの最も近い良いノードiは、ハッシュID与えられた最も近い良いノードを見つけるために定義されたKademliaのアルゴリズムを使用し、bep44の実装に取り組んで2つの要求
私のプログラムを使用して、私はgo run main.go -put "Hello World!" -kname mykey -salt foobar2 -b public
を実行し、100ノード以上(良い)に格納された値を取得します。
今、私はそれを複数回連続して実行すると、put要求によって書き込まれたIPのセットがうまく交差しません。
getリクエストを実行しようとすると、照会されたipsのセットがプットセットと交差しないため、値が見つからないような問題があります。
私は通常後〜1Kのクエリのリストで終わる公共のDHTブートストラップノード "router.utorrent.com:6881",
"router.bittorrent.com:6881",
"dht.transmissionbt.com:6881",
私は、ノードを照会するとき、私は8つの、最も近いノード(nodes := s.ClosestGoodNodes(8, msg.InfoHash())
)を選択し、使用して私のテストで
再帰的トラバーサル。私の理解で
は、DHTテーブルの情報ハッシュのアドレスを格納するテーブルの状況与えられた決定論的です。私は連続したクエリを行っているので、私はテーブルが実際には変わると思っていますが、それほど多くはありません。
どのように店のノードセットが交差していないが起こるのでしょうか?
私の実装はhttps://github.com/anacrolix/dhtの上に構築されています。すべてのkadmelia実装はanacrolixによって提供されていますが、正しいと思います。 –