Skip to content
This repository was archived by the owner on Sep 20, 2022. It is now read-only.

Latest commit

 

History

History
110 lines (83 loc) · 4.75 KB

README.md

File metadata and controls

110 lines (83 loc) · 4.75 KB

Build Status Go Report Card Coverage Status

Navigation: DEDIS :: Onet

The Cothority Network Library - ONet

The Overlay-network (ONet) is a library for simulation and deployment of decentralized, distributed protocols. It offers an abstraction for tree-based communications between thousands of nodes and is used both in research for testing out new protocols and running simulations, as well as in production to deploy those protocols as a service in a distributed manner.

ONet is developed by DEDIS/EFPL as part of the Cothority project that aims to deploy a large number of conodes for distributed signing and related projects.

Documentation

  • To run and use a conode, have a look at Cothority Node with examples of protocols, services and apps
  • To start a new project by developing and integrating a new protocol, have a look at the Cothority Template
  • To participate as a core-developer, read on!

Further Links

This library offers a framework for research, simulation and deployment of crypto-related protocols with an emphasis of decentralized, distributed protocols.

So you want it all, go down to the base of the code and make it faster / more secure / better understandable. Or perhaps you see a bug and want to fix it yourself. Here is a list of places that can help you:

  • Simulation How to run simulations
  • Library Overview High level description of the Cothority framework
  • Architecture big overview of what ONet does
  • Database gives indications how to handle the database used by onet
  • GoDoc entry point to the go-documentation
  • App support useful libraries if you want to create a CLI app for the cothority

Directories

  • app - libraries to write applications that communicate with services
  • cfgpath - single package to get the configuration-path
  • log - everybody needs its own log-library - this one has log-levels,
  • colors, time, ...
  • network - different type of connections: channels, tcp, to come: tls
  • simul - allowing to run your protocols and services on different
  • platforms with up to 50'000 nodes

Version

We have a development and a stable version. The master-branch in github.com/dedis/onet is the development version that works but can have incompatible changes.

The version at gopkg.in/dedis/onet.v2 is stable and has no incompatible changes. It will get updates from onet/master about once a month, and there should be no API breaking changes.

Also have a look at https://github.com/dedis/onet/blob/master/CHANGELOG.md for any incompatible changes.

License

All repositories for the cothority-project (ONet, cothority, cothority_template) are double-licensed under a GNU/AGPL 3.0 and a commercial license. If you want to have more information, contact us at dedis@epfl.ch.

Contribution

If you want to contribute to Cothority-ONet, please have a look at CONTRIBUTION for licensing details. Once you are OK with those, you can have a look at our coding-guidelines in Coding. In short, we use the github-issues to communicate and pull-requests to do code-review. Travis makes sure that everything goes smoothly. And we'd like to have good code-coverage.

You are very welcome to help us in further developing ONet. Here are two pointers to start:

Contact

You can contact us at https://groups.google.com/forum/#!forum/cothority or privately at dedis@epfl.ch.

Reporting security problems

This library is offered as-is, and without a guarantee. It will need an independent security review before it should be considered ready for use in security-critical applications. If you integrate Onet into your application it is YOUR RESPONSIBILITY to arrange for that audit.

If you notice a possible security problem, please report it to dedis-security@epfl.ch.