OpenDHT provides an easy to use distributed in-memory data store. Every node in the network can read and write values to the store. Values are distributed over the network, with redundancy. It includes the following features:
Lightweight and scalable, designed for large networks and small devices;
High resilience to network disruption;
Public key cryptography layer providing optional data signature and encryption (using GnuTLS);
IPv4 and IPv6 support;
Clean and powerful C++14 map API;
Bindings for C, Rust & Python 3;
REST API with an optional HTTP client and server with push notification support.
The following tools are also included:
dhtnodeA command line tool to run a DHT node and perform operations supported by the library (get, put, etc.) with text values.
dhtchatA very simple IM client working over the DHT.