Crate parsec[][src]

This is an implementation of PARSEC (Protocol for Asynchronous, Reliable, Secure and Efficient Consensus). For details of the protocol, see the RFC and the whitepaper.

Structs

Block

A struct representing a collection of votes by peers for a network event of type T.

Parsec

The main object which manages creating and receiving gossip about network events from peers, and which provides a sequence of consensused Blocks by applying the PARSEC algorithm.

Proof

A basic helper to carry a given Signature along with the signer's PublicId.

Request

A gossip request message.

Response

A gossip response message.

Vote

A helper struct carrying some data and a signature of this data.

Enums

Error

Parsec error variants.

Traits

NetworkEvent

This represents the type which will be voted for by peers; generally it is the set of constraints on T throughout this library.

PublicId

The public identity of a node. It provides functionality to allow it to be used as an asymmetric signing public key.

SecretId

The secret identity of a node. It provides functionality to allow it to be used as an asymmetric signing secret key and to also yield the associated public identity.