Documentation
¶
Index ¶
Constants ¶
const (
// ProtocolID defines the ID of this protocol
ProtocolID = "poll"
)
Variables ¶
var ErrDelegatesNotAsExpected = errors.New("delegates are not as expected")
ErrDelegatesNotAsExpected is an error that the delegates are not as expected
var ErrNoElectionCommittee = errors.New("no election committee specified")
ErrNoElectionCommittee is an error that the election committee is not specified
var ErrProposedDelegatesLength = errors.New("the proposed delegate list length")
ErrProposedDelegatesLength is an error that the proposed delegate list length is not right
Functions ¶
This section is empty.
Types ¶
type GetBlockTime ¶
GetBlockTime defines a function to get block creation time
type GetEpochHeight ¶
GetEpochHeight defines a function to get the corresponding epoch height given an epoch number
type GetEpochNum ¶
GetEpochNum defines a function to get epoch number given a block height
type Protocol ¶
type Protocol interface {
// Initialize fetches the poll result for genesis block
Initialize(context.Context, protocol.StateManager) error
// Handle handles a vote
Handle(context.Context, action.Action, protocol.StateManager) (*action.Receipt, error)
// Validate validates a vote
Validate(context.Context, action.Action) error
// DelegatesByHeight returns the delegates by chain height
DelegatesByHeight(uint64) (state.CandidateList, error)
// ReadState read the state on blockchain via protocol
ReadState(context.Context, protocol.StateManager, []byte, ...[]byte) ([]byte, error)
}
Protocol defines the protocol of handling votes
func NewGovernanceChainCommitteeProtocol ¶
func NewGovernanceChainCommitteeProtocol( cm protocol.ChainManager, electionCommittee committee.Committee, initGravityChainHeight uint64, getBlockTime GetBlockTime, getEpochHeight GetEpochHeight, getEpochNum GetEpochNum, numCandidateDelegates uint64, numDelegates uint64, initialCandidatesInterval time.Duration, ) (Protocol, error)
NewGovernanceChainCommitteeProtocol creates a Poll Protocol which fetch result from governance chain
func NewLifeLongDelegatesProtocol ¶
NewLifeLongDelegatesProtocol creates a poll protocol with life long delegates