Documentation ¶
Overview ¶
The storage point of all protocols that Cothority can run.
If you want to add a new protocol, chose one of example/channels or example/handlers and copy it to a new directory under protocols. Adjust all names and implement your protocol. You can always test it using the _test.go test.
For simulating your protocol, insert the include-path below, so that the Cothority-framework knows about it. Now you can copy one of simul/runfiles/test_channels.toml, adjust the Simulation-name and change the parameters to your liking. You can run it like any other simulation now:
cd simul go build ./simul runfiles/test_yourprotocol.toml matplotlib/plot.py test_data/test_yourprotocol.csv
Don't forget to tell us on the cothority-mailing list about your new protocol!
Directories ¶
Path | Synopsis |
---|---|
Package bftcosi store a novel way of scaling BFT for high scale internet applications especially blockchains
|
Package bftcosi store a novel way of scaling BFT for high scale internet applications especially blockchains |
Package byzcoin store a novel way of implementing the Bitcoin protocol using CoSi for signing sidechains.
|
Package byzcoin store a novel way of implementing the Bitcoin protocol using CoSi for signing sidechains. |
blockchain
Bitcoin-blockchain specific functions.
|
Bitcoin-blockchain specific functions. |
blockchain/blkparser
Basically adapation from the file at https://github.com/tsileo/blkparser Copy/paste from the file at https://github.com/tsileo/blkparser Basically adapation from the file at https://github.com/tsileo/blkparser Package blkparser basically is an adaptation from a file at https://github.com/tsileo/blkparser
|
Basically adapation from the file at https://github.com/tsileo/blkparser Copy/paste from the file at https://github.com/tsileo/blkparser Basically adapation from the file at https://github.com/tsileo/blkparser Package blkparser basically is an adaptation from a file at https://github.com/tsileo/blkparser |
pbft
Package pbft is the Practical Byzantine Fault Tolerance algorithm with some simplifications.
|
Package pbft is the Practical Byzantine Fault Tolerance algorithm with some simplifications. |
Package cosi implements a round of a Collective Signing protocol.
|
Package cosi implements a round of a Collective Signing protocol. |
Package example contains simple examples of protocols and simulations that can be used as base for your experiments.
|
Package example contains simple examples of protocols and simulations that can be used as base for your experiments. |
channels
Package example_channels contains an example demonstrating how to write a protocol and a simulation using channels for message communication.
|
Package example_channels contains an example demonstrating how to write a protocol and a simulation using channels for message communication. |
handlers
Package example_handlers contains an example demonstrating how to write a protocol and a simulation using handlers (aka callbacks) for message communication.
|
Package example_handlers contains an example demonstrating how to write a protocol and a simulation using handlers (aka callbacks) for message communication. |
JVSS provides a threshold signing scheme based on Shamir's joint verifiable secret sharing algorithm and Schnorr signatures.
|
JVSS provides a threshold signing scheme based on Shamir's joint verifiable secret sharing algorithm and Schnorr signatures. |
Package manage implements protocols used when setting up and testing a tree.
|
Package manage implements protocols used when setting up and testing a tree. |
Package randhound is a client/server protocol that allows a list of nodes to produce a public random string in an unbiasable and verifiable way given that a threshold of nodes is honest.
|
Package randhound is a client/server protocol that allows a list of nodes to produce a public random string in an unbiasable and verifiable way given that a threshold of nodes is honest. |
Click to show internal directories.
Click to hide internal directories.