Documentation
¶
There is no documentation for this package.
Directories
¶
| Path | Synopsis |
|---|---|
|
Binaries for testing consensus over the network.
|
Binaries for testing consensus over the network. |
|
generateblock
command
|
|
|
genresults
command
This package generates text files that can be used to generate graphs from benchmark results.
|
This package generates text files that can be used to generate graphs from benchmark results. |
|
gento
command
This package outputs test options files to disk based on the variables.
|
This package outputs test options files to disk based on the variables. |
|
gettestconsids
command
This package contains a command that loads a json TestOptionsCons file and outs the cons ids.
|
This package contains a command that loads a json TestOptionsCons file and outs the cons ids. |
|
instancesetup
command
|
|
|
localrun
command
This package runs a test given a test configuration stored in a json file.
|
This package runs a test given a test configuration stored in a json file. |
|
preg
command
This package contains code for running a Preg object that represents a participant register object that is accessable through RPC.
|
This package contains code for running a Preg object that represents a participant register object that is accessable through RPC. |
|
rpcbench
command
This package runs a benchmark over the network given a test configuration stored in a json file.
|
This package runs a benchmark over the network given a test configuration stored in a json file. |
|
rpcnode
command
This package contains the code for running consensus processes through a process running an RPC interface.
|
This package contains the code for running consensus processes through a process running an RPC interface. |
|
runcmd
command
Code for a binary that will run a command on an list of nodes through ssh.
|
Code for a binary that will run a command on an list of nodes through ssh. |
|
General configuration settings (see issue https://github.com/tcrain/cons/issues/8)
|
General configuration settings (see issue https://github.com/tcrain/cons/issues/8) |
|
The code for consensus.
|
The code for consensus. |
|
auth
Packages for authentication using signatures.
|
Packages for authentication using signatures. |
|
auth/bitid
In order to describe which nodes have signed a multi-signature, the indecies of the sorted list of consensus participants public keys are encoded into binary objects called BitIDs, this is still in development.
|
In order to describe which nodes have signed a multi-signature, the indecies of the sorted list of consensus participants public keys are encoded into binary objects called BitIDs, this is still in development. |
|
auth/sig
This package implements different types of signing mechanisms.
|
This package implements different types of signing mechanisms. |
|
channel
This package contains the core network sending and receiving functionalities, see subpackage csnet for TCP and UDP implementations.
|
This package contains the core network sending and receiving functionalities, see subpackage csnet for TCP and UDP implementations. |
|
channel/csnet
This package contains the code for maintining and using TCP and UDP networking for the consensus.
|
This package contains the code for maintining and using TCP and UDP networking for the consensus. |
|
channelinterface
This package contains higher level network abstractions that will run on top and along side of the channel and csnet packages.
|
This package contains higher level network abstractions that will run on top and along side of the channel and csnet packages. |
|
cons
Package contains the main consensus implementations.
|
Package contains the main consensus implementations. |
|
cons/bincons1
Implementation of signature based binary consensus algorithm.
|
Implementation of signature based binary consensus algorithm. |
|
cons/binconsrnd1
Implementation of signature based binary consensus algorithm.
|
Implementation of signature based binary consensus algorithm. |
|
cons/binconsrnd2
Implementation of non-signature based binary consensus algorithm.
|
Implementation of non-signature based binary consensus algorithm. |
|
cons/binconsrnd3
Implementation of signature based binary consensus algorithm.
|
Implementation of signature based binary consensus algorithm. |
|
cons/binconsrnd4
Implementation of signature based binary consensus algorithm.
|
Implementation of signature based binary consensus algorithm. |
|
cons/binconsrnd5
Implementation of signature based binary consensus algorithm.
|
Implementation of signature based binary consensus algorithm. |
|
cons/binconsrnd6
Implementation of signature based binary consensus algorithm.
|
Implementation of signature based binary consensus algorithm. |
|
cons/mvcons1
Implementation of multi-valued consensus reduction to BinCons1.
|
Implementation of multi-valued consensus reduction to BinCons1. |
|
cons/mvcons2
Implementation of multi-valued consensus in the likeness of PBFT.
|
Implementation of multi-valued consensus in the likeness of PBFT. |
|
cons/mvcons3
Implementation of multi-valued consensus in the likeness of PBFT.
|
Implementation of multi-valued consensus in the likeness of PBFT. |
|
cons/mvcons4
Implementation of multi-valued consensus in the likeness of PBFT.
|
Implementation of multi-valued consensus in the likeness of PBFT. |
|
consinterface
The consinterface package defines the interfaces for implementations of the consensus objects.
|
The consinterface package defines the interfaces for implementations of the consensus objects. |
|
consinterface/forwardchecker
ForwardCheckers keep track of successfully processes consensus messages and decide if they should be forwarded on the network or not.
|
ForwardCheckers keep track of successfully processes consensus messages and decide if they should be forwarded on the network or not. |
|
consinterface/memberchecker
Membercheckers are responsible for tracking who can participate in consensus by having a list of their public keys.
|
Membercheckers are responsible for tracking who can participate in consensus by having a list of their public keys. |
|
consinterface/messagestate
MessageState tracks the signed messages received for each consensus instance, and does things like reject duplicates and check message thresholds.
|
MessageState tracks the signed messages received for each consensus instance, and does things like reject duplicates and check message thresholds. |
|
logging
Basic logging functionality.
|
Basic logging functionality. |
|
messages
Package messages objects and methods for basic serialization of data into structured messages that can be read by this project.
|
Package messages objects and methods for basic serialization of data into structured messages that can be read by this project. |
|
messagetypes
This package contains the code for the messages that will be used during consensus.
|
This package contains the code for the messages that will be used during consensus. |
|
network
This package contains utilities for setting up a network of consensus nodes.
|
This package contains utilities for setting up a network of consensus nodes. |
|
rpcsetup
This package contains functions for running nodes over a network, who communicate using RPC for test setup.
|
This package contains functions for running nodes over a network, who communicate using RPC for test setup. |
|
statemachine
Implementations of different state machines.
|
Implementations of different state machines. |
|
stats
Package for keeping statistics about the execution of consensus.
|
Package for keeping statistics about the execution of consensus. |
|
storage
Package storage contains objects for storing decided value and consensus state to disk, or in memory if desired.
|
Package storage contains objects for storing decided value and consensus state to disk, or in memory if desired. |
|
testobjects
Objects shared by some tests.
|
Objects shared by some tests. |
|
utils
Errors and random helper functions.
|
Errors and random helper functions. |
Click to show internal directories.
Click to hide internal directories.

