Versions in this module Expand all Collapse all v0 v0.4.0 Dec 6, 2021 v0.3.1 Aug 29, 2021 v0.3.0 Aug 27, 2021 Changes in this version + var File_internal_proto_hotstuffpb_hotstuff_proto protoreflect.FileDescriptor + func AggregateQCFromProto(m *AggQC) consensus.AggregateQC + func BlockFromProto(block *Block) *consensus.Block + func PartialCertFromProto(cert *PartialCert) consensus.PartialCert + func ProposalFromProto(p *Proposal) (proposal consensus.ProposeMsg) + func QuorumCertFromProto(qc *QuorumCert) consensus.QuorumCert + func RegisterHotstuffServer(srv *gorums.Server, impl Hotstuff) + func SignatureFromProto(sig *Signature) consensus.Signature + func SyncInfoFromProto(m *SyncInfo) consensus.SyncInfo + func ThresholdSignatureFromProto(sig *ThresholdSignature) consensus.ThresholdSignature + func TimeoutCertFromProto(m *TimeoutCert) consensus.TimeoutCert + func TimeoutMsgFromProto(m *TimeoutMsg) consensus.TimeoutMsg + type AggQC struct + QCs map[uint32]*QuorumCert + Sig *ThresholdSignature + View uint64 + func AggregateQCToProto(aggQC consensus.AggregateQC) *AggQC + func (*AggQC) Descriptor() ([]byte, []int) + func (*AggQC) ProtoMessage() + func (x *AggQC) GetQCs() map[uint32]*QuorumCert + func (x *AggQC) GetSig() *ThresholdSignature + func (x *AggQC) GetView() uint64 + func (x *AggQC) ProtoReflect() protoreflect.Message + func (x *AggQC) Reset() + func (x *AggQC) String() string + type BLS12AggregateSignature struct + Participants []byte + Sig []byte + func (*BLS12AggregateSignature) Descriptor() ([]byte, []int) + func (*BLS12AggregateSignature) ProtoMessage() + func (x *BLS12AggregateSignature) GetParticipants() []byte + func (x *BLS12AggregateSignature) GetSig() []byte + func (x *BLS12AggregateSignature) ProtoReflect() protoreflect.Message + func (x *BLS12AggregateSignature) Reset() + func (x *BLS12AggregateSignature) String() string + type BLS12Signature struct + Sig []byte + func (*BLS12Signature) Descriptor() ([]byte, []int) + func (*BLS12Signature) ProtoMessage() + func (x *BLS12Signature) GetSig() []byte + func (x *BLS12Signature) ProtoReflect() protoreflect.Message + func (x *BLS12Signature) Reset() + func (x *BLS12Signature) String() string + type Block struct + Command []byte + Parent []byte + Proposer uint32 + QC *QuorumCert + View uint64 + func BlockToProto(block *consensus.Block) *Block + func (*Block) Descriptor() ([]byte, []int) + func (*Block) ProtoMessage() + func (x *Block) GetCommand() []byte + func (x *Block) GetParent() []byte + func (x *Block) GetProposer() uint32 + func (x *Block) GetQC() *QuorumCert + func (x *Block) GetView() uint64 + func (x *Block) ProtoReflect() protoreflect.Message + func (x *Block) Reset() + func (x *Block) String() string + type BlockHash struct + Hash []byte + func (*BlockHash) Descriptor() ([]byte, []int) + func (*BlockHash) ProtoMessage() + func (x *BlockHash) GetHash() []byte + func (x *BlockHash) ProtoReflect() protoreflect.Message + func (x *BlockHash) Reset() + func (x *BlockHash) String() string + type Configuration struct + func (c *Configuration) Fetch(ctx context.Context, in *BlockHash) (resp *Block, err error) + func (c *Configuration) Nodes() []*Node + func (c *Configuration) Propose(ctx context.Context, in *Proposal, opts ...gorums.CallOption) + func (c *Configuration) Timeout(ctx context.Context, in *TimeoutMsg, opts ...gorums.CallOption) + func (c Configuration) And(d *Configuration) gorums.NodeListOption + func (c Configuration) Except(rm *Configuration) gorums.NodeListOption + type ECDSASignature struct + R []byte + S []byte + Signer uint32 + func (*ECDSASignature) Descriptor() ([]byte, []int) + func (*ECDSASignature) ProtoMessage() + func (x *ECDSASignature) GetR() []byte + func (x *ECDSASignature) GetS() []byte + func (x *ECDSASignature) GetSigner() uint32 + func (x *ECDSASignature) ProtoReflect() protoreflect.Message + func (x *ECDSASignature) Reset() + func (x *ECDSASignature) String() string + type ECDSAThresholdSignature struct + Sigs []*ECDSASignature + func (*ECDSAThresholdSignature) Descriptor() ([]byte, []int) + func (*ECDSAThresholdSignature) ProtoMessage() + func (x *ECDSAThresholdSignature) GetSigs() []*ECDSASignature + func (x *ECDSAThresholdSignature) ProtoReflect() protoreflect.Message + func (x *ECDSAThresholdSignature) Reset() + func (x *ECDSAThresholdSignature) String() string + type Hotstuff interface + Fetch func(ctx gorums.ServerCtx, request *BlockHash) (response *Block, err error) + NewView func(ctx gorums.ServerCtx, request *SyncInfo) + Propose func(ctx gorums.ServerCtx, request *Proposal) + Timeout func(ctx gorums.ServerCtx, request *TimeoutMsg) + Vote func(ctx gorums.ServerCtx, request *PartialCert) + type Manager struct + func NewManager(opts ...gorums.ManagerOption) (mgr *Manager) + func (m *Manager) NewConfiguration(opts ...gorums.ConfigOption) (c *Configuration, err error) + func (m *Manager) Nodes() []*Node + type Node struct + func (n *Node) NewView(ctx context.Context, in *SyncInfo, opts ...gorums.CallOption) + func (n *Node) Vote(ctx context.Context, in *PartialCert, opts ...gorums.CallOption) + type PartialCert struct + Hash []byte + Sig *Signature + func PartialCertToProto(cert consensus.PartialCert) *PartialCert + func (*PartialCert) Descriptor() ([]byte, []int) + func (*PartialCert) ProtoMessage() + func (x *PartialCert) GetHash() []byte + func (x *PartialCert) GetSig() *Signature + func (x *PartialCert) ProtoReflect() protoreflect.Message + func (x *PartialCert) Reset() + func (x *PartialCert) String() string + type Proposal struct + AggQC *AggQC + Block *Block + func ProposalToProto(proposal consensus.ProposeMsg) *Proposal + func (*Proposal) Descriptor() ([]byte, []int) + func (*Proposal) ProtoMessage() + func (x *Proposal) GetAggQC() *AggQC + func (x *Proposal) GetBlock() *Block + func (x *Proposal) ProtoReflect() protoreflect.Message + func (x *Proposal) Reset() + func (x *Proposal) String() string + type QuorumCert struct + Hash []byte + Sig *ThresholdSignature + View uint64 + func QuorumCertToProto(qc consensus.QuorumCert) *QuorumCert + func (*QuorumCert) Descriptor() ([]byte, []int) + func (*QuorumCert) ProtoMessage() + func (x *QuorumCert) GetHash() []byte + func (x *QuorumCert) GetSig() *ThresholdSignature + func (x *QuorumCert) GetView() uint64 + func (x *QuorumCert) ProtoReflect() protoreflect.Message + func (x *QuorumCert) Reset() + func (x *QuorumCert) String() string + type QuorumSpec interface + FetchQF func(in *BlockHash, replies map[uint32]*Block) (*Block, bool) + type Signature struct + Sig isSignature_Sig + func SignatureToProto(sig consensus.Signature) *Signature + func (*Signature) Descriptor() ([]byte, []int) + func (*Signature) ProtoMessage() + func (m *Signature) GetSig() isSignature_Sig + func (x *Signature) GetBLS12Sig() *BLS12Signature + func (x *Signature) GetECDSASig() *ECDSASignature + func (x *Signature) ProtoReflect() protoreflect.Message + func (x *Signature) Reset() + func (x *Signature) String() string + type Signature_BLS12Sig struct + BLS12Sig *BLS12Signature + type Signature_ECDSASig struct + ECDSASig *ECDSASignature + type SyncInfo struct + AggQC *AggQC + QC *QuorumCert + TC *TimeoutCert + func SyncInfoToProto(syncInfo consensus.SyncInfo) *SyncInfo + func (*SyncInfo) Descriptor() ([]byte, []int) + func (*SyncInfo) ProtoMessage() + func (x *SyncInfo) GetAggQC() *AggQC + func (x *SyncInfo) GetQC() *QuorumCert + func (x *SyncInfo) GetTC() *TimeoutCert + func (x *SyncInfo) ProtoReflect() protoreflect.Message + func (x *SyncInfo) Reset() + func (x *SyncInfo) String() string + type ThresholdSignature struct + AggSig isThresholdSignature_AggSig + func ThresholdSignatureToProto(sig consensus.ThresholdSignature) *ThresholdSignature + func (*ThresholdSignature) Descriptor() ([]byte, []int) + func (*ThresholdSignature) ProtoMessage() + func (m *ThresholdSignature) GetAggSig() isThresholdSignature_AggSig + func (x *ThresholdSignature) GetBLS12Sig() *BLS12AggregateSignature + func (x *ThresholdSignature) GetECDSASigs() *ECDSAThresholdSignature + func (x *ThresholdSignature) ProtoReflect() protoreflect.Message + func (x *ThresholdSignature) Reset() + func (x *ThresholdSignature) String() string + type ThresholdSignature_BLS12Sig struct + BLS12Sig *BLS12AggregateSignature + type ThresholdSignature_ECDSASigs struct + ECDSASigs *ECDSAThresholdSignature + type TimeoutCert struct + Sig *ThresholdSignature + View uint64 + func TimeoutCertToProto(timeoutCert consensus.TimeoutCert) *TimeoutCert + func (*TimeoutCert) Descriptor() ([]byte, []int) + func (*TimeoutCert) ProtoMessage() + func (x *TimeoutCert) GetSig() *ThresholdSignature + func (x *TimeoutCert) GetView() uint64 + func (x *TimeoutCert) ProtoReflect() protoreflect.Message + func (x *TimeoutCert) Reset() + func (x *TimeoutCert) String() string + type TimeoutMsg struct + MsgSig *Signature + SyncInfo *SyncInfo + View uint64 + ViewSig *Signature + func TimeoutMsgToProto(timeoutMsg consensus.TimeoutMsg) *TimeoutMsg + func (*TimeoutMsg) Descriptor() ([]byte, []int) + func (*TimeoutMsg) ProtoMessage() + func (x *TimeoutMsg) GetMsgSig() *Signature + func (x *TimeoutMsg) GetSyncInfo() *SyncInfo + func (x *TimeoutMsg) GetView() uint64 + func (x *TimeoutMsg) GetViewSig() *Signature + func (x *TimeoutMsg) ProtoReflect() protoreflect.Message + func (x *TimeoutMsg) Reset() + func (x *TimeoutMsg) String() string