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

Distributed-EPFL/drop

Repository files navigation

drop

CI Crates.io codecov

A Rust framework for the development of distributed systems

The drop framework provides low level constructs useful when implementing any kind of distributed systems, such as cryptographic primitives for secure network communications based on sodiumoxide, secure connections using either tcp or uTp and abstractions allowing you to focus on implementing your distributed algorithm without focusing on low-level details.

The framework is split in different modules focusing on different tasks:

  • crypto: cryptographic utilities to hash values, sign and seal messages as well as provide encrypted streams
  • data: abstraction to synchronize a view of a set efficiently
  • net: secure connections that do not require a central authority
  • system: automated management of connections in a distributed system

Usage

To use drop in your library of application add this to your Cargo.toml

[dependencies]
drop = "0.1"

Each modules is gated behind a cargo feature with the crypto module enabled by default

Documentation

The documentation is available here

Some examples are also available in the examples directory