Skip to content
This repository has been archived by the owner on Apr 21, 2023. It is now read-only.

decentralized-identity/keri-dht-py

Repository files navigation

The KERI Working Group is no longer active under DIF. Ongoing KERI work has moved to the Web of Trust GitHub repository.

Docker Image

KERI Discovery using a DHT in Python (archived at DIF)

keri-dht-py

Kademlia based DHT mechanism for KERI Discovery written in Python but leveraging C libraries for Kademlia. For more details, please visit KERI Resources, in particular, the whitepaper. The specifications for KERI are also a good place to go for more information.

Quickest Start

keridht is a python package and can be installed directly from PyPI.

pip install keridht
daemon.py --examples

The second command will print a set of examples of how to start the local DHT node, and which options are available for configuration. Note that on some systems, the python opendht package does not build automatically using cython. In these cases, you will either need to use the docker container, or build manually as described below.

Docker Container

We plan to release a docker container with the DHT soon.

Background and Dependencies

keridht integrates the core KERI libraries (https://github.com/decentralized-identity/keri) with OpenDHT using python. To be as performant as possible, the I/O is handled asynchronously using hio.

Manual Build Process

To manually build opendht on MacOS. Make sure you are in the python virtualenv you intend to use before running this install script.

./install_deps.sh

Running Unit Tests

keridht uses pytest to run all the unit tests. To run all the pre-configured tests, just run pytest from this repository root.

About

DHT mechanism for KERI written in Py

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •