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.
- 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!
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
- 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
We have a development and a stable version. The
github.com/dedis/onet is the development version that works but can have
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.
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 email@example.com.
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:
- Open issues what we know to fail and how to work around it
- [[Coding|https://github.com/dedis/Coding]] technical aspects of programming in Cothority