Versions in this module Expand all Collapse all v1 v1.1.0 Aug 14, 2019 v1.0.0 Jun 25, 2019 Changes in this version + var DefaultConfig = &Config + var ErrStartedEngine = errors.New("started engine") + var ErrStoppedEngine = errors.New("stopped engine") + var ErrUnauthorizedAddress = errors.New("unauthorized address") + func CheckValidatorSignature(valSet ValidatorSet, data []byte, sig []byte) (common.Address, error) + func GetSignatureAddress(data []byte, sig []byte) (common.Address, error) + func RLPHash(v interface{}) (h common.Hash) + type Backend interface + Address func() common.Address + Broadcast func(prevHash common.Hash, valSet ValidatorSet, payload []byte) error + CheckSignature func(data []byte, addr common.Address, sig []byte) error + Commit func(proposal Proposal, seals [][]byte) error + EventMux func() *event.TypeMux + GetProposer func(number uint64) common.Address + GetRewardBase func() common.Address + GetSubGroupSize func() uint64 + Gossip func(valSet ValidatorSet, payload []byte) error + GossipSubPeer func(prevHash common.Hash, valSet ValidatorSet, payload []byte) error + HasBadProposal func(hash common.Hash) bool + HasPropsal func(hash common.Hash, number *big.Int) bool + LastProposal func() (Proposal, common.Address) + NodeType func() p2p.ConnType + ParentValidators func(proposal Proposal) ValidatorSet + SetCurrentView func(view *View) + Sign func([]byte) ([]byte, error) + Validators func(proposal Proposal) ValidatorSet + Verify func(Proposal) (time.Duration, error) + type CommitEvent struct + Payload []byte + type Config struct + BlockPeriod uint64 + Epoch uint64 + ProposerPolicy ProposerPolicy + RequestTimeout uint64 + SubGroupSize uint64 + type ConsensusMsg struct + Payload []byte + PrevHash common.Hash + type FinalCommittedEvent struct + type MessageEvent struct + Hash common.Hash + Payload []byte + type Preprepare struct + Proposal Proposal + View *View + func (b *Preprepare) DecodeRLP(s *rlp.Stream) error + func (b *Preprepare) EncodeRLP(w io.Writer) error + type Proposal interface + DecodeRLP func(s *rlp.Stream) error + EncodeRLP func(w io.Writer) error + Hash func() common.Hash + Header func() *types.Header + Number func() *big.Int + ParentHash func() common.Hash + String func() string + WithSeal func(header *types.Header) *types.Block + type ProposalSelector func(ValidatorSet, common.Address, uint64) Validator + type ProposerPolicy uint64 + const RoundRobin + const Sticky + const WeightedRandom + type Request struct + Proposal Proposal + type RequestEvent struct + Proposal Proposal + type Subject struct + Digest common.Hash + PrevHash common.Hash + View *View + func (b *Subject) DecodeRLP(s *rlp.Stream) error + func (b *Subject) EncodeRLP(w io.Writer) error + func (b *Subject) String() string + type Validator interface + Address func() common.Address + RewardAddress func() common.Address + String func() string + VotingPower func() uint64 + Weight func() int64 + type ValidatorSet interface + AddValidator func(address common.Address) bool + CalcProposer func(lastProposer common.Address, round uint64) + Copy func() ValidatorSet + F func() int + GetByAddress func(addr common.Address) (int, Validator) + GetByIndex func(i uint64) Validator + GetProposer func() Validator + IsProposer func(address common.Address) bool + IsSubSet func() bool + List func() []Validator + Policy func() ProposerPolicy + Proposers func() []Validator + Refresh func(hash common.Hash, blockNum uint64, config *params.ChainConfig) error + RemoveValidator func(address common.Address) bool + SetBlockNum func(blockNum uint64) + SetSubGroupSize func(size uint64) + Size func() uint64 + SubGroupSize func() uint64 + SubList func(prevHash common.Hash, view *View) []Validator + SubListWithProposer func(prevHash common.Hash, proposer common.Address, view *View) []Validator + TotalVotingPower func() uint64 + type Validators []Validator + func (slice Validators) Len() int + func (slice Validators) Less(i, j int) bool + func (slice Validators) Swap(i, j int) + type View struct + Round *big.Int + Sequence *big.Int + func (v *View) Cmp(y *View) int + func (v *View) DecodeRLP(s *rlp.Stream) error + func (v *View) EncodeRLP(w io.Writer) error + func (v *View) String() string