Documentation ¶
Index ¶
Constants ¶
View Source
const (
// ProtocolID defines the ID of this protocol
ProtocolID = "poll"
)
Variables ¶
View Source
var ErrNoElectionCommittee = errors.New("no election committee specified")
ErrNoElectionCommittee is an error that the election committee is not specified
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
type GetEpochNum ¶
GetEpochNum defines a function to get epoch number
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(ctx context.Context, act 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, ) (Protocol, error)
NewGovernanceChainCommitteeProtocol creates a Poll Protocol which fetch result from governance chain
func NewLifeLongDelegatesProtocol ¶
NewLifeLongDelegatesProtocol creates a poll protocol with life long delegates
Click to show internal directories.
Click to hide internal directories.