aethex_consensus/lib.rs
1//! BFT consensus engine for the Axiom Protocol.
2//!
3//! Implements a Tendermint-inspired single-leader PBFT variant:
4//!
5//! ```text
6//! for each height h:
7//! for each round r:
8//! 1. PROPOSE – leader broadcasts a Block
9//! 2. PREVOTE – all validators vote on the proposal
10//! 3. PRECOMMIT – validators lock if they saw 2/3+ prevotes
11//! 4. COMMIT – validators finalise if they saw 2/3+ precommits
12//! ```
13//!
14//! Key types:
15//! - [`ValidatorSet`]: the active set with voting power
16//! - [`Vote`]: a signed prevote or precommit
17//! - [`QuorumCert`]: an aggregate of 2/3+ precommits
18//! - [`Engine`]: drives the state machine
19
20pub mod engine;
21pub mod quorum;
22pub mod validator_set;
23pub mod vote;
24
25pub use engine::Engine;
26pub use quorum::QuorumCert;
27pub use validator_set::{Validator, ValidatorSet};
28pub use vote::{Vote, VoteType};