Cothority network library
Clone or download
kc1212 Merge pull request #508 from dedis/dispatch_err
Do not throw away errors from Dispatch
Latest commit e17c845 Dec 11, 2018
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
app correctly send warnings and errors to stderr Nov 26, 2018
cfgpath Prefer $HOME to doing user lookups Apr 4, 2018
log correctly send warnings and errors to stderr Nov 26, 2018
network Fix 32-bit architecture Nov 29, 2018
simul Merge pull request #508 from dedis/dispatch_err Dec 11, 2018
stable Specify 1.10 correctly. Nov 15, 2018
.gitignore Optionally list the WebSocket-side URL in ServerIdentity Oct 11, 2018
.travis.yml Fix 32-bit architecture Nov 29, 2018
ARCHITECTURE.md Adding more documentation, specifically about deterlab and mininet Jun 7, 2018
AUTHORS more docu Dec 15, 2016
CHANGELOG.md added changelog and a reference in the README (#133) Feb 21, 2017
CLAC copied from cothority Dec 13, 2016
CLAI copied from cothority Dec 13, 2016
CONTRIBUTION updated files Jan 13, 2017
Database-backup-and-recovery.md Update DB files path in the doc Nov 23, 2018
LIBRARY.md Adding more documentation, specifically about deterlab and mininet Jun 7, 2018
LICENSE copied from cothority Dec 13, 2016
LICENSE.AGPL copied from cothority Dec 13, 2016
Makefile Waiting on processes May 29, 2018
README.md Adding libtest-documentation Aug 14, 2018
architecture.png Adding more documentation, specifically about deterlab and mininet Jun 7, 2018
cache.go LRU cache with maximum size Oct 24, 2018
cache_test.go LRU cache with maximum size Oct 24, 2018
context.go Add versions to db Aug 16, 2018
context_test.go Fix 32-bit architecture Nov 29, 2018
export_test.go add expiration to tree and roster caches onet-273 Oct 19, 2018
local.go Catching errors and improving shutdown Nov 28, 2018
local_test.go Adding servers later Oct 25, 2018
messages.go Fix 32-bit architecture Nov 29, 2018
messages.proto added proto2-definition (#184) May 23, 2017
node_test.go Fix 32-bit architecture Nov 29, 2018
onet.go Add the possibility of setting the git tag at build time Apr 19, 2018
onet_test.go Fix context path test Apr 11, 2018
overlay.go Merge pull request #508 from dedis/dispatch_err Dec 11, 2018
overlay_test.go Add a hacky fix to a newly flaky test. Sep 7, 2018
processor.go Do not throw away errors from Dispatch. Dec 6, 2018
processor_test.go Fix 32-bit architecture Nov 29, 2018
protocol.go Fatal when calling GlobalProtocolRegister with server(s) already star… Mar 29, 2018
protocol_test.go Fix 32-bit architecture Nov 29, 2018
server.go Catching errors and improving shutdown Nov 28, 2018
server_test.go Test Closing Fixes Aug 30, 2018
service.go Catching errors and improving shutdown Nov 28, 2018
service_test.go Fix 32-bit architecture Nov 29, 2018
simulation.go Adding ip2ip tunnel and cleaning up Aug 8, 2018
simulation_test.go unbreaking server.Start behaviour May 31, 2018
status.go Revert status to work with protobuf. Feb 19, 2018
status_test.go unbreaking server.Start behaviour May 31, 2018
tree.go Checking TreeMarshal Nov 27, 2018
tree_test.go Preserve the order when using Roster.Concat Nov 14, 2018
treenode.go Catching errors and improving shutdown Nov 28, 2018
treenode_test.go Fix 32-bit architecture Nov 29, 2018
utils.go Returns errors in a slice Jan 8, 2018
utils_test.go Returns errors in a slice Jan 8, 2018
websocket.go Remove debugging; respond to code review comments. Oct 12, 2018
websocket_test.go Fix 32-bit architecture Nov 29, 2018

README.md

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.