Crate hotshot_types

Source
Expand description

Types and Traits for the HotShot consensus module

Modules§

bundle
This module provides the Bundle type
consensus
Provides the core consensus types
constants
configurable constants for hotshot
data
Provides types useful for representing HotShot’s data structures
drb
Holds the types and functions for DRB computation.
epoch_membership
Epoch Membership wrappers
error
Error type for HotShot
event
Events that a HotShot instance can emit
hotshot_config_file
Holds the configuration file specification for a HotShot node.
light_client
Types and structs associated with light client state
message
Network message types
network
Holds the network configuration specification for HotShot nodes.
qc
Implementation for BitVectorQc that uses BLS signature + Bit vector. See more details in hotshot paper.
request_response
Types for the request/response implementations. This module incorporates all of the shared types for all of the network backends.
signature_key
Types and structs for the hotshot signature keys
simple_certificate
Implementations of the simple certificate type. Used for Quorum, DA, and Timeout Certificates
simple_vote
Implementations of the simple vote types.
stake_table
Types and structs related to the stake table
traits
Common traits for the HotShot protocol
upgrade_config
Holds the upgrade configuration specification for HotShot nodes.
utils
Utility functions, type aliases, helper structs and enum definitions.
vid
This module provides:
vote
Vote, Accumulator, and Certificate Types

Macros§

impl_has_epoch
Helper macro for trivial implementation of the HasEpoch trait
impl_has_none_epoch
Helper macro for trivial implementation of the HasEpoch trait for types that have no epoch

Structs§

HotShotConfig
Holds configuration for a HotShot
PeerConfig
structure of peers’ config, including public key, stake value, and state key.
ValidatorConfig
config for validator, including public key, private key, stake value

Functions§

assert_future
yoinked from futures crate
boxed_sync
yoinked from futures crate, adds sync bound that we need
default_epoch_start_block 🔒

Type Aliases§

BoxSyncFuture
Pinned future that is Send and Sync