DHT based on the [lip2p kademlia spec](https://github.com/libp2p/specs/tree/master/kad-dht)
01488104e5
This patch adds a findNode message sending the actual target ID as in traditional Kademlia lookup. This in contrast to the actual findNode message that send information about the distance only, leading to more secure but slower lookups. Having both primitives allows us to select which to use per use case. Current naming is findNode for the distance based message and findNodeFast for the message added in this patch. |
||
---|---|---|
.github/workflows | ||
libp2pdht | ||
tests | ||
.gitignore | ||
LICENSE-APACHEv2 | ||
LICENSE-MIT | ||
README.md | ||
codecov.yml | ||
libp2pdht.nim | ||
libp2pdht.nimble |
README.md
A DHT implementation for Dagger
](https://codecov.io/gh/status-im/nim-libp2p-dht)
This DHT implementation is aiming to provide a DHT for Dagger with the following properties
- flexible transport usage with
- fast UDP based operation
- fallback to TCP-based operation (maybe though libp2p)
- support operation on top of libp2p
- flexible message encoding that plays well with the above transports
- provide node lookup, content storage/lookup, and provider storage/lookup operations
- roughly follow the libp2p-dht specifications from https://github.com/libp2p/specs/tree/master/kad-dht
- provide compatibility mode with the above specs
Current implementation is based on nim-eth's Discovery v5 implementation. Base files were copied from nim-eth@779d767b024175a51cf74c79ec7513301ebe2f46