libp2pdht
DHT based on the libp2p Kademlia spec
Summary
| Latest Version | Unknown |
|---|---|
| License | Apache License 2.0 |
| CI Status | Failing |
| Downloads | 0 |
| Last Indexed | 2026-07-21 05:24 |
Tags
Installation
nimble install libp2pdht
choosenim install libp2pdht
git clone https://github.com/codex-storage/nim-codex-dht
OS Compatibility
| Platform | Linux | macOS | Windows | FreeBSD | OpenBSD | NetBSD | Android | iOS | WASM | Embedded |
|---|---|---|---|---|---|---|---|---|---|---|
| libp2pdht | ✓ | ✓ | ✓ | - | - | - | - | - | - | - |
Source
| Repository | https://github.com/codex-storage/nim-codex-dht |
|---|---|
| Homepage | https://github.com/codex-storage/nim-codex-dht |
| Registry Source | nimble_official |
README
A DHT implementation for Logos Storage
This DHT implementation is aiming to provide a DHT for Logos Storage with the following properties * flexible secure transport usage with * fast UDP based operation * eventual fallback to TCP-based operation (maybe though libp2p) * eventually 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 * eventually provide compatibility mode with the above specs
Current implementation is based on nim-eth's Discovery v5 implementation.
Base files were copied from status-im/nim-eth@779d767b024175a51cf74c79ec7513301ebe2f46
Building
This repo is setup to use Nimble lockfiles. This requires Nimble 0.14+ which isn't installed by default when this was written. If nimble -v reports 0.13.x then you will need to install Nimble 0.14. Note that using Nimble 0.14 changes how Nimble behaves!
Nimble 0.14 can be install by:
nimble install nimble@0.14.2
After this you can setup your Nimble environment. Note that this will build the pinned version of Nim! The first run can take ~15 minutes.
nimble setup # creates a nimble.paths used for rest of Nimble commands
nimble testAll
You can also run tasks directly:
nim testAll