libp2pdht
DHT based on Eth discv5 implementation
Summary
| Latest Version | 0.6.4 |
|---|---|
| License | MIT |
| CI Status | Failing |
| Downloads | 0 |
| Last Indexed | 2026-08-31 07:15 |
Tags
Authors
- Status Research & Development GmbH
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 | ✓ | ✓ | ✓ | - | - | - | - | - | - | - |
Dependencies
| Package | Version | Optional |
|---|---|---|
| nim >= 2.2.4 & < | 3.0.0 | No |
| secp256k1 >= 0.6.0 & < | 0.7.0 | No |
| nimcrypto >= 0.6.2 & < | 0.8.0 | No |
| bearssl >= 0.2.5 & < | 0.3.0 | No |
| chronicles >= 0.11.2 & < | 0.13.0 | No |
| chronos >= 4.2.2 & < | 4.4.0 | No |
| libp2p >= 2.2.0 & < | 3.0.0 | No |
| protobuf_serialization >= 0.5.3 & < | 0.6.0 | No |
| metrics >= 0.2.2 & < | 0.3.0 | No |
| stew >= | 0.4.2 | No |
| stint >= 0.8.1 & < | 0.9.0 | No |
| https://github.com/logos-storage/nim-datastore >= 0.2.1 & < | 0.3.0 | No |
| questionable >= 0.10.15 & < | 0.11.0 | No |
| leveldbstatic >= 0.2.1 & < | 0.3.0 | No |
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