Crate hotshot_types

source ·
Expand description

Types and Traits for the HotShot consensus module


  • Provides the core consensus types
  • configurable constants for hotshot
  • Provides types useful for representing HotShot’s data structures
  • Error type for HotShot
  • Events that a HotShot instance can emit
  • Types and structs associated with light client state
  • Network message types
  • Implementation for BitVectorQc that uses BLS signature + Bit vector. See more details in hotshot paper.
  • Types and structs for the hotshot signature keys
  • Implementations of the simple certificate type. Used for Quorum, DA, and Timeout Certificates
  • Implementations of the simple vote types.
  • Types and structs related to the stake table
  • Common traits for the HotShot protocol
  • Utility functions, type aliases, helper structs and enum definitions.
  • This module provides:
  • Vote, Accumulator, and Certificate Types


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


  • the type of consensus to run. Either: wait for a signal to start a view, or constantly run you almost always want continuous incremental is just for testing



Type Aliases§