sociomantic-tsunami / dhtproto

Distributed Hash Table protocol definition, client, fake node, and tests
Boost Software License 1.0
5 stars 22 forks source link

Description

dhtproto is a library that contains the protocol for the Distributed Hash Table (DHT), including:

A Tale of Two Protocols

The code in this repo is currently in transition. There exist two parallel client/server architectures in the repo, a new architecture (dubbed "neo") -- based on the core code in the swarm/neo package -- and a legacy architecture -- based on the core code located in the other packages of swarm. The neo protocol is being introduced in stages, progressively adding features to the core client and server code over a series of alpha releases in a separate branch (named neo).

Note that the DHT client and node defined in this repo support both neo and legacy features.

When sufficient neo features have been implemented and the legacy protocol is no longer in active use, the legacy protocol will be deprecated and eventually removed.

Dependencies

========== ======= Dependency Version ========== ======= ocean v5.0.x swarm v6.0.x turtle v10.0.x ========== =======

Versioning

dhtproto's versioning follows Neptune <https://github.com/sociomantic-tsunami/neptune/blob/master/doc/library-user.rst>_.

This means that the major version is increased for breaking changes, the minor version is increased for feature releases, and the patch version is increased for bug fixes that don't cause breaking changes.

Support Guarantees

Maintained Major Branches

======= ==================== =============== ===== Major Initial release date Supported until Notes ======= ==================== =============== ===== v15.x.x v15.0.0_: 04/06/2019 TBD ======= ==================== =============== =====

.. _v15.0.0: https://github.com/sociomantic-tsunami/dhtproto/releases/tag/v15.0.0

Contributing

See the guide for contributing to Neptune-versioned libraries <https://github.com/sociomantic-tsunami/neptune/blob/master/doc/library-contributor.rst>_.