Crate filecoin_f3_gpbft

Crate filecoin_f3_gpbft 

Source
Expand description

GPBFT consensus protocol implementation.

This module provides the core structures and logic for the GPBFT consensus protocol, including:

  • Chain and tipset structures for blockchain state representation
  • Power table management for validator voting power tracking
  • Consensus phases and payload structures
  • Justification and verification mechanisms
  • Network types such as ActorId, StoragePower, and PubKey

Key components:

  • ECChain: Represents a chain of tipsets
  • PowerTable: Manages validator voting power
  • Payload: Contains consensus round information
  • Justification: Holds votes and signatures for consensus decisions

This module enables:

  • Building and validating blockchain structures
  • Managing validator power and keys
  • Progressing through consensus phases
  • Creating and verifying consensus decisions

It provides the foundational types and logic for implementing GPBFT consensus in a blockchain network.

Re-exports§

pub use crate::chain::ECChain;
pub use crate::chain::Tipset;
pub use crate::chain::cid_from_bytes;
pub use crate::justification::Justification;
pub use crate::payload::Payload;
pub use crate::payload::Phase;
pub use crate::payload::SupplementalData;
pub use powertable::PowerEntries;
pub use powertable::PowerEntry;
pub use powertable::PowerTable;
pub use powertable::is_strong_quorum;

Modules§

api
chain
justification
payload
powertable
test_utils

Structs§

BigInt
A big signed integer type.
BitField
A bit field with buffered insertion/removal that serializes to/from RLE+. Similar to HashSet<u64>, but more memory-efficient when long runs of 1s and 0s are present.
CborError
Error type for encoding and decoding data through any Forest supported protocol.
PubKey
PubKey represents a public key used for cryptographic operations in the network.

Enums§

GPBFTError
NetworkName
NetworkName represents the name of the Filecoin network.
Sign
A Sign is a BigInt’s composing element.

Traits§

Zero
Defines an additive identity element for Self.

Functions§

to_vec_cbor
Serializes a value to a vector.

Type Aliases§

ActorId
ActorId represents the unique identifier for an actor in the Filecoin network.
Cid
A Cid that contains a multihash with an allocated size of 512 bits.
StoragePower
StoragePower represents the amount of storage power an actor has in the network.