Skip to main content

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};