DHT based on the [lip2p kademlia spec](https://github.com/libp2p/specs/tree/master/kad-dht)
Go to file
Csaba Kiraly a9d0d0d69b
fix cross-connect key exchange
Since key exchange can be started both ways simultaneously, and
these might not get finalised with UDP transport, we can't be
sure what encryption key will be used by the other side:
- the one derived in the key-exchange started by us,
- the one derived in the key-exchange started by the other node.
To alleviate this issue, we store two decryption keys in each session.

Signed-off-by: Csaba Kiraly <csaba.kiraly@gmail.com>
2023-09-12 11:57:05 +02:00
.github/workflows track nim-libp2p's unstable branch and nim-bearssl's master branch (#51) 2022-11-02 10:21:05 -06:00
libp2pdht fix cross-connect key exchange 2023-09-12 11:57:05 +02:00
tests simulation: bump bucketIpLimit to 100000 to avoid test issues 2023-09-05 08:53:00 +02:00
.gitignore Add setup files 2022-07-12 15:45:53 +03:00
LICENSE-APACHEv2 initial commit based on nim-eth@779d767b024175a51cf74c79ec7513301ebe2f46 2022-02-14 01:51:28 +01:00
LICENSE-MIT initial commit based on nim-eth@779d767b024175a51cf74c79ec7513301ebe2f46 2022-02-14 01:51:28 +01:00
README.md protobuf encoding for all message types 2022-04-07 14:47:35 -05:00
codecov.yml update codecov path to be informational 2022-03-22 11:00:26 +11:00
config.nims Add setup files 2022-07-12 15:45:53 +03:00
libp2pdht.nim feat: reorg project to add nimble build system 2022-02-25 09:10:43 +11:00
libp2pdht.nimble update .nimble and .lock files to work 2023-07-11 10:51:33 +02:00
nimble.lock use ChronoSim version of nim-chronos 2023-09-05 08:46:31 +02:00

README.md

A DHT implementation for Dagger

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

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

Current implementation is based on nim-eth's Discovery v5 implementation.

Base files were copied from status-im/nim-eth@779d767b024175a51cf74c79ec7513301ebe2f46