Skip to main content

Crate mysticeti_core

Crate mysticeti_core 

Source
Expand description

Mysticeti DAG consensus protocol core (transport-agnostic).

Re-exports§

pub use block_handler::BlockHandler;
pub use block_handler::NoOpBlockHandler;
pub use block_manager::BlockManager;
pub use block_store::BlockStore;
pub use commit_observer::CommitObserver;
pub use commit_observer::SimpleCommitObserver;
pub use committee::Authority;
pub use committee::Committee;
pub use config::Parameters;
pub use config::PrivateConfig;
pub use config::Identifier;
pub use consensus::CommittedSubDag;
pub use consensus::LeaderStatus;
pub use consensus::Linearizer;
pub use consensus::UniversalCommitter;
pub use core::Core;
pub use crypto::block_digest;
pub use crypto::verify_block;
pub use crypto::PublicKey;
pub use crypto::SecretKey;
pub use data::Data;
pub use message::NetworkMessage;
pub use types::AuthorityIndex;
pub use types::BaseStatement;
pub use types::BlockDigest;
pub use types::BlockReference;
pub use types::BlockSignature;
pub use types::EpochNumber;
pub use types::RoundNumber;
pub use types::StatementBlock;
pub use types::Transaction;
pub use types::TransactionLocator;
pub use types::TransactionLocatorRange;
pub use types::Vote;

Modules§

block_handler
Block handler: produce new blocks and statements (transactions + votes) for the core.
block_manager
Block manager: causal ordering, inclusion invariants, and block creation support.
block_store
Block storage: store and retrieve blocks by reference.
block_validator
DAG and statement invariants: validate blocks before adding to the store.
commit_observer
Commit observer: handle committed leaders and produce CommittedSubDag for execution.
committee
Committee: validator set, stake, quorum thresholds, leader election, genesis.
config
Configuration: parameters, per-validator identifiers, private config.
consensus
Wave-based consensus: base committer, universal committer, linearizer.
core
Core loop: add blocks, try new block, try commit, drive WAL and commit observer.
crypto
Signing and verification of blocks; block digest; public key type.
data
Data wrapper with cached serialized bytes to avoid re-serialization when sending to multiple peers.
message
Wire message types for the Mysticeti protocol (transport-agnostic).
types
Protocol types: blocks, references, statements, and round numbers.