Crate commonware_consensus

Crate commonware_consensus 

Source
Expand description

Order opaque messages in a Byzantine environment.

§Status

commonware-consensus is ALPHA software and is not yet recommended for production use. Developers should expect breaking changes and occasional instability.

Modules§

aggregation
Recover quorum certificates over an externally synchronized sequencer of items.
application
Adapters and wrappers for crate::Application implementations.
marshal
Ordered delivery of finalized blocks.
ordered_broadcast
Ordered, reliable broadcast across reconfigurable participants.
simplex
Simple and fast BFT agreement inspired by Simplex Consensus.
types
Consensus types shared across the crate.

Structs§

Reporters
A struct used to report activity to multiple Reporters (which may or may not be present).

Traits§

Application
Application is a minimal interface for standard implementations that operate over a stream of epoched blocks.
Automaton
Automaton is the interface responsible for driving the consensus forward by proposing new payloads and verifying payloads proposed by other participants.
Block
Block is the interface for a block in the blockchain.
CertifiableAutomaton
CertifiableAutomaton extends Automaton with the ability to certify payloads before finalization.
Epochable
Epochable is a trait that provides access to the epoch number. Any consensus message or object that is associated with a specific epoch should implement this.
Monitor
Monitor is the interface an external actor can use to observe the progress of a consensus implementation.
Relay
Relay is the interface responsible for broadcasting payloads to the network.
Reporter
Reporter is the interface responsible for reporting activity to some external actor.
VerifyingApplication
An extension of Application that provides the ability to implementations to verify blocks.
Viewable
Viewable is a trait that provides access to the view (round) number. Any consensus message or object that is associated with a specific view should implement this.