Arnaud 64091a17ee
chore: update nim 2.2.8 (#111)
* Update to 2.2.8

* Reduce chronicles requirement version

* Restore Nim 2.2.4 in nimble

* Update ci

* Update ci version

* Try to remove windows

* Restore previous action

* Try to upgrade nimble version

* Try to fix dependencies issue

* Try to downgrade nimble

* Try 0.20.0

* Add nimble lock

* Remove nimble custom install

* Trying something

* Fix syntax

* debug

* Restore dependencies version and update chronos upper bound version

* Remove debug statements

* Remove debug statements

* Remove debug statements

* Update codexdht/private/eth/p2p/discoveryv5/providers/maintenance.nim

Co-authored-by: Eric <5089238+emizzle@users.noreply.github.com>

* Update codexdht/private/eth/p2p/discoveryv5/providers/maintenance.nim

Co-authored-by: Eric <5089238+emizzle@users.noreply.github.com>

* Refactor to use questionable

* Revert unneeded changes

* Remove spaces

---------

Co-authored-by: Eric <5089238+emizzle@users.noreply.github.com>
2026-04-21 15:25:19 +04:00
2026-04-21 15:25:19 +04:00
2026-04-21 15:25:19 +04:00
2024-12-09 18:56:18 +01:00
2023-07-12 14:58:29 -07:00
2026-04-21 15:25:19 +04:00
2025-12-23 23:23:31 +02:00
2025-12-15 13:46:04 +01:00

A DHT implementation for Logos Storage

License: Apache License: MIT Stability: experimental CI (GitHub Actions) codecov

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

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
Description
A DHT based on Discv5 with libp2p provider records support
Readme
Languages
Nim 100%