Documentation ¶
Index ¶
- Variables
- 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
- func (*AggQC) Descriptor() ([]byte, []int)deprecated
- func (x *AggQC) GetQCs() map[uint32]*QuorumCert
- func (x *AggQC) GetSig() *ThresholdSignature
- func (x *AggQC) GetView() uint64
- func (*AggQC) ProtoMessage()
- func (x *AggQC) ProtoReflect() protoreflect.Message
- func (x *AggQC) Reset()
- func (x *AggQC) String() string
- type BLS12AggregateSignature
- func (*BLS12AggregateSignature) Descriptor() ([]byte, []int)deprecated
- func (x *BLS12AggregateSignature) GetParticipants() []byte
- func (x *BLS12AggregateSignature) GetSig() []byte
- func (*BLS12AggregateSignature) ProtoMessage()
- func (x *BLS12AggregateSignature) ProtoReflect() protoreflect.Message
- func (x *BLS12AggregateSignature) Reset()
- func (x *BLS12AggregateSignature) String() string
- type BLS12Signature
- type Block
- func (*Block) Descriptor() ([]byte, []int)deprecated
- 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 (*Block) ProtoMessage()
- func (x *Block) ProtoReflect() protoreflect.Message
- func (x *Block) Reset()
- func (x *Block) String() string
- type BlockHash
- type Configuration
- func (c Configuration) And(d *Configuration) gorums.NodeListOption
- func (c Configuration) Except(rm *Configuration) gorums.NodeListOption
- 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)
- type ECDSASignature
- func (*ECDSASignature) Descriptor() ([]byte, []int)deprecated
- func (x *ECDSASignature) GetR() []byte
- func (x *ECDSASignature) GetS() []byte
- func (x *ECDSASignature) GetSigner() uint32
- func (*ECDSASignature) ProtoMessage()
- func (x *ECDSASignature) ProtoReflect() protoreflect.Message
- func (x *ECDSASignature) Reset()
- func (x *ECDSASignature) String() string
- type ECDSAThresholdSignature
- func (*ECDSAThresholdSignature) Descriptor() ([]byte, []int)deprecated
- func (x *ECDSAThresholdSignature) GetSigs() []*ECDSASignature
- func (*ECDSAThresholdSignature) ProtoMessage()
- func (x *ECDSAThresholdSignature) ProtoReflect() protoreflect.Message
- func (x *ECDSAThresholdSignature) Reset()
- func (x *ECDSAThresholdSignature) String() string
- type Hotstuff
- type Manager
- type Node
- type PartialCert
- func (*PartialCert) Descriptor() ([]byte, []int)deprecated
- func (x *PartialCert) GetHash() []byte
- func (x *PartialCert) GetSig() *Signature
- func (*PartialCert) ProtoMessage()
- func (x *PartialCert) ProtoReflect() protoreflect.Message
- func (x *PartialCert) Reset()
- func (x *PartialCert) String() string
- type Proposal
- type QuorumCert
- func (*QuorumCert) Descriptor() ([]byte, []int)deprecated
- func (x *QuorumCert) GetHash() []byte
- func (x *QuorumCert) GetSig() *ThresholdSignature
- func (x *QuorumCert) GetView() uint64
- func (*QuorumCert) ProtoMessage()
- func (x *QuorumCert) ProtoReflect() protoreflect.Message
- func (x *QuorumCert) Reset()
- func (x *QuorumCert) String() string
- type QuorumSpec
- type Signature
- func (*Signature) Descriptor() ([]byte, []int)deprecated
- func (x *Signature) GetBLS12Sig() *BLS12Signature
- func (x *Signature) GetECDSASig() *ECDSASignature
- func (m *Signature) GetSig() isSignature_Sig
- func (*Signature) ProtoMessage()
- func (x *Signature) ProtoReflect() protoreflect.Message
- func (x *Signature) Reset()
- func (x *Signature) String() string
- type Signature_BLS12Sig
- type Signature_ECDSASig
- type SyncInfo
- func (*SyncInfo) Descriptor() ([]byte, []int)deprecated
- func (x *SyncInfo) GetAggQC() *AggQC
- func (x *SyncInfo) GetQC() *QuorumCert
- func (x *SyncInfo) GetTC() *TimeoutCert
- func (*SyncInfo) ProtoMessage()
- func (x *SyncInfo) ProtoReflect() protoreflect.Message
- func (x *SyncInfo) Reset()
- func (x *SyncInfo) String() string
- type ThresholdSignature
- func (*ThresholdSignature) Descriptor() ([]byte, []int)deprecated
- func (m *ThresholdSignature) GetAggSig() isThresholdSignature_AggSig
- func (x *ThresholdSignature) GetBLS12Sig() *BLS12AggregateSignature
- func (x *ThresholdSignature) GetECDSASigs() *ECDSAThresholdSignature
- func (*ThresholdSignature) ProtoMessage()
- func (x *ThresholdSignature) ProtoReflect() protoreflect.Message
- func (x *ThresholdSignature) Reset()
- func (x *ThresholdSignature) String() string
- type ThresholdSignature_BLS12Sig
- type ThresholdSignature_ECDSASigs
- type TimeoutCert
- func (*TimeoutCert) Descriptor() ([]byte, []int)deprecated
- func (x *TimeoutCert) GetSig() *ThresholdSignature
- func (x *TimeoutCert) GetView() uint64
- func (*TimeoutCert) ProtoMessage()
- func (x *TimeoutCert) ProtoReflect() protoreflect.Message
- func (x *TimeoutCert) Reset()
- func (x *TimeoutCert) String() string
- type TimeoutMsg
- func (*TimeoutMsg) Descriptor() ([]byte, []int)deprecated
- func (x *TimeoutMsg) GetMsgSig() *Signature
- func (x *TimeoutMsg) GetSyncInfo() *SyncInfo
- func (x *TimeoutMsg) GetView() uint64
- func (x *TimeoutMsg) GetViewSig() *Signature
- func (*TimeoutMsg) ProtoMessage()
- func (x *TimeoutMsg) ProtoReflect() protoreflect.Message
- func (x *TimeoutMsg) Reset()
- func (x *TimeoutMsg) String() string
Constants ¶
This section is empty.
Variables ¶
var File_internal_proto_hotstuffpb_hotstuff_proto protoreflect.FileDescriptor
Functions ¶
func AggregateQCFromProto ¶
func AggregateQCFromProto(m *AggQC) consensus.AggregateQC
AggregateQCFromProto converts an AggregateQC from the protobuf type to the hotstuff type.
func BlockFromProto ¶
BlockFromProto converts a hotstuffpb.Block to a consensus.Block.
func PartialCertFromProto ¶
func PartialCertFromProto(cert *PartialCert) consensus.PartialCert
PartialCertFromProto converts a hotstuffpb.PartialCert to an ecdsa.PartialCert.
func ProposalFromProto ¶
func ProposalFromProto(p *Proposal) (proposal consensus.ProposeMsg)
ProposalFromProto converts a protobuf message to a ProposeMsg.
func QuorumCertFromProto ¶
func QuorumCertFromProto(qc *QuorumCert) consensus.QuorumCert
QuorumCertFromProto converts a hotstuffpb.QuorumCert to an ecdsa.QuorumCert.
func RegisterHotstuffServer ¶
func SignatureFromProto ¶
SignatureFromProto converts a hotstuffpb.Signature to an ecdsa.Signature.
func SyncInfoFromProto ¶
SyncInfoFromProto converts a SyncInfo struct from the protobuf type to the hotstuff type.
func ThresholdSignatureFromProto ¶
func ThresholdSignatureFromProto(sig *ThresholdSignature) consensus.ThresholdSignature
ThresholdSignatureFromProto converts a protocol buffers message to a threshold signature.
func TimeoutCertFromProto ¶
func TimeoutCertFromProto(m *TimeoutCert) consensus.TimeoutCert
TimeoutCertFromProto converts a timeout certificate from the protobuf type to the hotstuff type.
func TimeoutMsgFromProto ¶
func TimeoutMsgFromProto(m *TimeoutMsg) consensus.TimeoutMsg
TimeoutMsgFromProto converts a TimeoutMsg proto to the hotstuff type.
Types ¶
type AggQC ¶
type AggQC struct { QCs map[uint32]*QuorumCert `` /* 148-byte string literal not displayed */ Sig *ThresholdSignature `protobuf:"bytes,2,opt,name=Sig,proto3" json:"Sig,omitempty"` View uint64 `protobuf:"varint,3,opt,name=View,proto3" json:"View,omitempty"` // contains filtered or unexported fields }
func AggregateQCToProto ¶
func AggregateQCToProto(aggQC consensus.AggregateQC) *AggQC
AggregateQCToProto converts an AggregateQC from the hotstuff type to the protobuf type.
func (*AggQC) Descriptor
deprecated
func (*AggQC) GetQCs ¶
func (x *AggQC) GetQCs() map[uint32]*QuorumCert
func (*AggQC) GetSig ¶
func (x *AggQC) GetSig() *ThresholdSignature
func (*AggQC) ProtoMessage ¶
func (*AggQC) ProtoMessage()
func (*AggQC) ProtoReflect ¶
func (x *AggQC) ProtoReflect() protoreflect.Message
type BLS12AggregateSignature ¶
type BLS12AggregateSignature struct { Sig []byte `protobuf:"bytes,1,opt,name=Sig,proto3" json:"Sig,omitempty"` Participants []byte `protobuf:"bytes,2,opt,name=participants,proto3" json:"participants,omitempty"` // contains filtered or unexported fields }
func (*BLS12AggregateSignature) Descriptor
deprecated
func (*BLS12AggregateSignature) Descriptor() ([]byte, []int)
Deprecated: Use BLS12AggregateSignature.ProtoReflect.Descriptor instead.
func (*BLS12AggregateSignature) GetParticipants ¶
func (x *BLS12AggregateSignature) GetParticipants() []byte
func (*BLS12AggregateSignature) GetSig ¶
func (x *BLS12AggregateSignature) GetSig() []byte
func (*BLS12AggregateSignature) ProtoMessage ¶
func (*BLS12AggregateSignature) ProtoMessage()
func (*BLS12AggregateSignature) ProtoReflect ¶
func (x *BLS12AggregateSignature) ProtoReflect() protoreflect.Message
func (*BLS12AggregateSignature) Reset ¶
func (x *BLS12AggregateSignature) Reset()
func (*BLS12AggregateSignature) String ¶
func (x *BLS12AggregateSignature) String() string
type BLS12Signature ¶
type BLS12Signature struct { Sig []byte `protobuf:"bytes,1,opt,name=Sig,proto3" json:"Sig,omitempty"` // contains filtered or unexported fields }
func (*BLS12Signature) Descriptor
deprecated
func (*BLS12Signature) Descriptor() ([]byte, []int)
Deprecated: Use BLS12Signature.ProtoReflect.Descriptor instead.
func (*BLS12Signature) GetSig ¶
func (x *BLS12Signature) GetSig() []byte
func (*BLS12Signature) ProtoMessage ¶
func (*BLS12Signature) ProtoMessage()
func (*BLS12Signature) ProtoReflect ¶
func (x *BLS12Signature) ProtoReflect() protoreflect.Message
func (*BLS12Signature) Reset ¶
func (x *BLS12Signature) Reset()
func (*BLS12Signature) String ¶
func (x *BLS12Signature) String() string
type Block ¶
type Block struct { Parent []byte `protobuf:"bytes,1,opt,name=Parent,proto3" json:"Parent,omitempty"` QC *QuorumCert `protobuf:"bytes,2,opt,name=QC,proto3" json:"QC,omitempty"` View uint64 `protobuf:"varint,3,opt,name=View,proto3" json:"View,omitempty"` Command []byte `protobuf:"bytes,4,opt,name=Command,proto3" json:"Command,omitempty"` Proposer uint32 `protobuf:"varint,5,opt,name=Proposer,proto3" json:"Proposer,omitempty"` // contains filtered or unexported fields }
func BlockToProto ¶
BlockToProto converts a consensus.Block to a hotstuffpb.Block.
func (*Block) Descriptor
deprecated
func (*Block) GetCommand ¶
func (*Block) GetProposer ¶
func (*Block) GetQC ¶
func (x *Block) GetQC() *QuorumCert
func (*Block) ProtoMessage ¶
func (*Block) ProtoMessage()
func (*Block) ProtoReflect ¶
func (x *Block) ProtoReflect() protoreflect.Message
type BlockHash ¶
type BlockHash struct { Hash []byte `protobuf:"bytes,1,opt,name=Hash,proto3" json:"Hash,omitempty"` // contains filtered or unexported fields }
func (*BlockHash) Descriptor
deprecated
func (*BlockHash) ProtoMessage ¶
func (*BlockHash) ProtoMessage()
func (*BlockHash) ProtoReflect ¶
func (x *BlockHash) ProtoReflect() protoreflect.Message
type Configuration ¶
type Configuration struct { gorums.Configuration // contains filtered or unexported fields }
A Configuration represents a static set of nodes on which quorum remote procedure calls may be invoked.
func (Configuration) And ¶
func (c Configuration) And(d *Configuration) gorums.NodeListOption
And returns a NodeListOption that can be used to create a new configuration combining c and d.
func (Configuration) Except ¶
func (c Configuration) Except(rm *Configuration) gorums.NodeListOption
Except returns a NodeListOption that can be used to create a new configuration from c without the nodes in rm.
func (*Configuration) Fetch ¶
Fetch is a quorum call invoked on all nodes in configuration c, with the same argument in, and returns a combined result.
func (*Configuration) Nodes ¶
func (c *Configuration) Nodes() []*Node
Nodes returns a slice of each available node. IDs are returned in the same order as they were provided in the creation of the Manager.
func (*Configuration) Propose ¶
func (c *Configuration) Propose(ctx context.Context, in *Proposal, opts ...gorums.CallOption)
Propose is a quorum call invoked on all nodes in configuration c, with the same argument in, and returns a combined result.
func (*Configuration) Timeout ¶
func (c *Configuration) Timeout(ctx context.Context, in *TimeoutMsg, opts ...gorums.CallOption)
Timeout is a quorum call invoked on all nodes in configuration c, with the same argument in, and returns a combined result.
type ECDSASignature ¶
type ECDSASignature struct { Signer uint32 `protobuf:"varint,1,opt,name=Signer,proto3" json:"Signer,omitempty"` R []byte `protobuf:"bytes,2,opt,name=R,proto3" json:"R,omitempty"` S []byte `protobuf:"bytes,3,opt,name=S,proto3" json:"S,omitempty"` // contains filtered or unexported fields }
func (*ECDSASignature) Descriptor
deprecated
func (*ECDSASignature) Descriptor() ([]byte, []int)
Deprecated: Use ECDSASignature.ProtoReflect.Descriptor instead.
func (*ECDSASignature) GetR ¶
func (x *ECDSASignature) GetR() []byte
func (*ECDSASignature) GetS ¶
func (x *ECDSASignature) GetS() []byte
func (*ECDSASignature) GetSigner ¶
func (x *ECDSASignature) GetSigner() uint32
func (*ECDSASignature) ProtoMessage ¶
func (*ECDSASignature) ProtoMessage()
func (*ECDSASignature) ProtoReflect ¶
func (x *ECDSASignature) ProtoReflect() protoreflect.Message
func (*ECDSASignature) Reset ¶
func (x *ECDSASignature) Reset()
func (*ECDSASignature) String ¶
func (x *ECDSASignature) String() string
type ECDSAThresholdSignature ¶
type ECDSAThresholdSignature struct { Sigs []*ECDSASignature `protobuf:"bytes,1,rep,name=Sigs,proto3" json:"Sigs,omitempty"` // contains filtered or unexported fields }
func (*ECDSAThresholdSignature) Descriptor
deprecated
func (*ECDSAThresholdSignature) Descriptor() ([]byte, []int)
Deprecated: Use ECDSAThresholdSignature.ProtoReflect.Descriptor instead.
func (*ECDSAThresholdSignature) GetSigs ¶
func (x *ECDSAThresholdSignature) GetSigs() []*ECDSASignature
func (*ECDSAThresholdSignature) ProtoMessage ¶
func (*ECDSAThresholdSignature) ProtoMessage()
func (*ECDSAThresholdSignature) ProtoReflect ¶
func (x *ECDSAThresholdSignature) ProtoReflect() protoreflect.Message
func (*ECDSAThresholdSignature) Reset ¶
func (x *ECDSAThresholdSignature) Reset()
func (*ECDSAThresholdSignature) String ¶
func (x *ECDSAThresholdSignature) String() string
type Hotstuff ¶
type Hotstuff interface { Propose(ctx gorums.ServerCtx, request *Proposal) Vote(ctx gorums.ServerCtx, request *PartialCert) Timeout(ctx gorums.ServerCtx, request *TimeoutMsg) NewView(ctx gorums.ServerCtx, request *SyncInfo) Fetch(ctx gorums.ServerCtx, request *BlockHash) (response *Block, err error) }
Hotstuff is the server-side API for the Hotstuff Service
type Manager ¶
Manager maintains a connection pool of nodes on which quorum calls can be performed.
func NewManager ¶
func NewManager(opts ...gorums.ManagerOption) (mgr *Manager)
NewManager returns a new Manager for managing connection to nodes added to the manager. This function accepts manager options used to configure various aspects of the manager.
func (*Manager) NewConfiguration ¶
func (m *Manager) NewConfiguration(opts ...gorums.ConfigOption) (c *Configuration, err error)
NewConfiguration returns a configuration based on the provided list of nodes (required) and an optional quorum specification. The QuorumSpec is necessary for call types that must process replies. For configurations only used for unicast or multicast call types, a QuorumSpec is not needed. The QuorumSpec interface is also a ConfigOption. Nodes can be supplied using WithNodeMap or WithNodeList, or WithNodeIDs. A new configuration can also be created from an existing configuration, using the And, WithNewNodes, Except, and WithoutNodes methods.
type Node ¶
func (*Node) NewView ¶
NewView is a quorum call invoked on all nodes in configuration c, with the same argument in, and returns a combined result.
func (*Node) Vote ¶
func (n *Node) Vote(ctx context.Context, in *PartialCert, opts ...gorums.CallOption)
Vote is a quorum call invoked on all nodes in configuration c, with the same argument in, and returns a combined result.
type PartialCert ¶
type PartialCert struct { Sig *Signature `protobuf:"bytes,1,opt,name=Sig,proto3" json:"Sig,omitempty"` Hash []byte `protobuf:"bytes,2,opt,name=Hash,proto3" json:"Hash,omitempty"` // contains filtered or unexported fields }
func PartialCertToProto ¶
func PartialCertToProto(cert consensus.PartialCert) *PartialCert
PartialCertToProto converts a consensus.PartialCert to a hotstuffpb.Partialcert.
func (*PartialCert) Descriptor
deprecated
func (*PartialCert) Descriptor() ([]byte, []int)
Deprecated: Use PartialCert.ProtoReflect.Descriptor instead.
func (*PartialCert) GetHash ¶
func (x *PartialCert) GetHash() []byte
func (*PartialCert) GetSig ¶
func (x *PartialCert) GetSig() *Signature
func (*PartialCert) ProtoMessage ¶
func (*PartialCert) ProtoMessage()
func (*PartialCert) ProtoReflect ¶
func (x *PartialCert) ProtoReflect() protoreflect.Message
func (*PartialCert) Reset ¶
func (x *PartialCert) Reset()
func (*PartialCert) String ¶
func (x *PartialCert) String() string
type Proposal ¶
type Proposal struct { Block *Block `protobuf:"bytes,1,opt,name=Block,proto3" json:"Block,omitempty"` AggQC *AggQC `protobuf:"bytes,2,opt,name=AggQC,proto3,oneof" json:"AggQC,omitempty"` // contains filtered or unexported fields }
func ProposalToProto ¶
func ProposalToProto(proposal consensus.ProposeMsg) *Proposal
ProposalToProto converts a ProposeMsg to a protobuf message.
func (*Proposal) Descriptor
deprecated
func (*Proposal) ProtoMessage ¶
func (*Proposal) ProtoMessage()
func (*Proposal) ProtoReflect ¶
func (x *Proposal) ProtoReflect() protoreflect.Message
type QuorumCert ¶
type QuorumCert struct { Sig *ThresholdSignature `protobuf:"bytes,1,opt,name=Sig,proto3" json:"Sig,omitempty"` View uint64 `protobuf:"varint,2,opt,name=View,proto3" json:"View,omitempty"` Hash []byte `protobuf:"bytes,3,opt,name=Hash,proto3" json:"Hash,omitempty"` // contains filtered or unexported fields }
func QuorumCertToProto ¶
func QuorumCertToProto(qc consensus.QuorumCert) *QuorumCert
QuorumCertToProto converts a consensus.QuorumCert to a hotstuffpb.QuorumCert.
func (*QuorumCert) Descriptor
deprecated
func (*QuorumCert) Descriptor() ([]byte, []int)
Deprecated: Use QuorumCert.ProtoReflect.Descriptor instead.
func (*QuorumCert) GetHash ¶
func (x *QuorumCert) GetHash() []byte
func (*QuorumCert) GetSig ¶
func (x *QuorumCert) GetSig() *ThresholdSignature
func (*QuorumCert) GetView ¶
func (x *QuorumCert) GetView() uint64
func (*QuorumCert) ProtoMessage ¶
func (*QuorumCert) ProtoMessage()
func (*QuorumCert) ProtoReflect ¶
func (x *QuorumCert) ProtoReflect() protoreflect.Message
func (*QuorumCert) Reset ¶
func (x *QuorumCert) Reset()
func (*QuorumCert) String ¶
func (x *QuorumCert) String() string
type QuorumSpec ¶
type QuorumSpec interface { gorums.ConfigOption // FetchQF is the quorum function for the Fetch // quorum call method. The in parameter is the request object // supplied to the Fetch method at call time, and may or may not // be used by the quorum function. If the in parameter is not needed // you should implement your quorum function with '_ *BlockHash'. FetchQF(in *BlockHash, replies map[uint32]*Block) (*Block, bool) }
QuorumSpec is the interface of quorum functions for Hotstuff.
type Signature ¶
type Signature struct { // Types that are assignable to Sig: // *Signature_ECDSASig // *Signature_BLS12Sig Sig isSignature_Sig `protobuf_oneof:"Sig"` // contains filtered or unexported fields }
func SignatureToProto ¶
SignatureToProto converts a consensus.Signature to a hotstuffpb.Signature.
func (*Signature) Descriptor
deprecated
func (*Signature) GetBLS12Sig ¶
func (x *Signature) GetBLS12Sig() *BLS12Signature
func (*Signature) GetECDSASig ¶
func (x *Signature) GetECDSASig() *ECDSASignature
func (*Signature) ProtoMessage ¶
func (*Signature) ProtoMessage()
func (*Signature) ProtoReflect ¶
func (x *Signature) ProtoReflect() protoreflect.Message
type Signature_BLS12Sig ¶
type Signature_BLS12Sig struct {
BLS12Sig *BLS12Signature `protobuf:"bytes,2,opt,name=BLS12Sig,proto3,oneof"`
}
type Signature_ECDSASig ¶
type Signature_ECDSASig struct {
ECDSASig *ECDSASignature `protobuf:"bytes,1,opt,name=ECDSASig,proto3,oneof"`
}
type SyncInfo ¶
type SyncInfo struct { QC *QuorumCert `protobuf:"bytes,1,opt,name=QC,proto3,oneof" json:"QC,omitempty"` TC *TimeoutCert `protobuf:"bytes,2,opt,name=TC,proto3,oneof" json:"TC,omitempty"` AggQC *AggQC `protobuf:"bytes,3,opt,name=AggQC,proto3,oneof" json:"AggQC,omitempty"` // contains filtered or unexported fields }
func SyncInfoToProto ¶
SyncInfoToProto converts a SyncInfo struct from the hotstuff type to the protobuf type.
func (*SyncInfo) Descriptor
deprecated
func (*SyncInfo) GetQC ¶
func (x *SyncInfo) GetQC() *QuorumCert
func (*SyncInfo) GetTC ¶
func (x *SyncInfo) GetTC() *TimeoutCert
func (*SyncInfo) ProtoMessage ¶
func (*SyncInfo) ProtoMessage()
func (*SyncInfo) ProtoReflect ¶
func (x *SyncInfo) ProtoReflect() protoreflect.Message
type ThresholdSignature ¶
type ThresholdSignature struct { // Types that are assignable to AggSig: // *ThresholdSignature_ECDSASigs // *ThresholdSignature_BLS12Sig AggSig isThresholdSignature_AggSig `protobuf_oneof:"AggSig"` // contains filtered or unexported fields }
func ThresholdSignatureToProto ¶
func ThresholdSignatureToProto(sig consensus.ThresholdSignature) *ThresholdSignature
ThresholdSignatureToProto converts a threshold signature to a protocol buffers message.
func (*ThresholdSignature) Descriptor
deprecated
func (*ThresholdSignature) Descriptor() ([]byte, []int)
Deprecated: Use ThresholdSignature.ProtoReflect.Descriptor instead.
func (*ThresholdSignature) GetAggSig ¶
func (m *ThresholdSignature) GetAggSig() isThresholdSignature_AggSig
func (*ThresholdSignature) GetBLS12Sig ¶
func (x *ThresholdSignature) GetBLS12Sig() *BLS12AggregateSignature
func (*ThresholdSignature) GetECDSASigs ¶
func (x *ThresholdSignature) GetECDSASigs() *ECDSAThresholdSignature
func (*ThresholdSignature) ProtoMessage ¶
func (*ThresholdSignature) ProtoMessage()
func (*ThresholdSignature) ProtoReflect ¶
func (x *ThresholdSignature) ProtoReflect() protoreflect.Message
func (*ThresholdSignature) Reset ¶
func (x *ThresholdSignature) Reset()
func (*ThresholdSignature) String ¶
func (x *ThresholdSignature) String() string
type ThresholdSignature_BLS12Sig ¶
type ThresholdSignature_BLS12Sig struct {
BLS12Sig *BLS12AggregateSignature `protobuf:"bytes,2,opt,name=BLS12Sig,proto3,oneof"`
}
type ThresholdSignature_ECDSASigs ¶
type ThresholdSignature_ECDSASigs struct {
ECDSASigs *ECDSAThresholdSignature `protobuf:"bytes,1,opt,name=ECDSASigs,proto3,oneof"`
}
type TimeoutCert ¶
type TimeoutCert struct { Sig *ThresholdSignature `protobuf:"bytes,1,opt,name=Sig,proto3" json:"Sig,omitempty"` View uint64 `protobuf:"varint,2,opt,name=View,proto3" json:"View,omitempty"` // contains filtered or unexported fields }
func TimeoutCertToProto ¶
func TimeoutCertToProto(timeoutCert consensus.TimeoutCert) *TimeoutCert
TimeoutCertToProto converts a timeout certificate from the hotstuff type to the protobuf type.
func (*TimeoutCert) Descriptor
deprecated
func (*TimeoutCert) Descriptor() ([]byte, []int)
Deprecated: Use TimeoutCert.ProtoReflect.Descriptor instead.
func (*TimeoutCert) GetSig ¶
func (x *TimeoutCert) GetSig() *ThresholdSignature
func (*TimeoutCert) GetView ¶
func (x *TimeoutCert) GetView() uint64
func (*TimeoutCert) ProtoMessage ¶
func (*TimeoutCert) ProtoMessage()
func (*TimeoutCert) ProtoReflect ¶
func (x *TimeoutCert) ProtoReflect() protoreflect.Message
func (*TimeoutCert) Reset ¶
func (x *TimeoutCert) Reset()
func (*TimeoutCert) String ¶
func (x *TimeoutCert) String() string
type TimeoutMsg ¶
type TimeoutMsg struct { View uint64 `protobuf:"varint,1,opt,name=View,proto3" json:"View,omitempty"` SyncInfo *SyncInfo `protobuf:"bytes,2,opt,name=SyncInfo,proto3" json:"SyncInfo,omitempty"` ViewSig *Signature `protobuf:"bytes,3,opt,name=ViewSig,proto3" json:"ViewSig,omitempty"` MsgSig *Signature `protobuf:"bytes,4,opt,name=MsgSig,proto3,oneof" json:"MsgSig,omitempty"` // contains filtered or unexported fields }
func TimeoutMsgToProto ¶
func TimeoutMsgToProto(timeoutMsg consensus.TimeoutMsg) *TimeoutMsg
TimeoutMsgToProto converts a TimeoutMsg to the protobuf type.
func (*TimeoutMsg) Descriptor
deprecated
func (*TimeoutMsg) Descriptor() ([]byte, []int)
Deprecated: Use TimeoutMsg.ProtoReflect.Descriptor instead.
func (*TimeoutMsg) GetMsgSig ¶
func (x *TimeoutMsg) GetMsgSig() *Signature
func (*TimeoutMsg) GetSyncInfo ¶
func (x *TimeoutMsg) GetSyncInfo() *SyncInfo
func (*TimeoutMsg) GetView ¶
func (x *TimeoutMsg) GetView() uint64
func (*TimeoutMsg) GetViewSig ¶
func (x *TimeoutMsg) GetViewSig() *Signature
func (*TimeoutMsg) ProtoMessage ¶
func (*TimeoutMsg) ProtoMessage()
func (*TimeoutMsg) ProtoReflect ¶
func (x *TimeoutMsg) ProtoReflect() protoreflect.Message
func (*TimeoutMsg) Reset ¶
func (x *TimeoutMsg) Reset()
func (*TimeoutMsg) String ¶
func (x *TimeoutMsg) String() string