iotex-core: Index | Files

package rolldpos

import ""


Package Files



const ProtocolID = "rolldpos"

ProtocolID is the identity of this protocol

type Protocol Uses

type Protocol struct {
    // contains filtered or unexported fields

Protocol defines an epoch protocol

func NewProtocol Uses

func NewProtocol(numCandidateDelegates uint64, numDelegates uint64, numSubEpochs uint64) *Protocol

NewProtocol returns a new rolldpos protocol

func (*Protocol) GetEpochHeight Uses

func (p *Protocol) GetEpochHeight(epochNum uint64) uint64

GetEpochHeight returns the start height of an epoch

func (*Protocol) GetEpochLastBlockHeight Uses

func (p *Protocol) GetEpochLastBlockHeight(epochNum uint64) uint64

GetEpochLastBlockHeight returns the last height of an epoch

func (*Protocol) GetEpochNum Uses

func (p *Protocol) GetEpochNum(height uint64) uint64

GetEpochNum returns the number of the epoch for a given height

func (*Protocol) GetSubEpochNum Uses

func (p *Protocol) GetSubEpochNum(height uint64) uint64

GetSubEpochNum returns the sub epoch number of a block height

func (*Protocol) Handle Uses

func (p *Protocol) Handle(context.Context, action.Action, protocol.StateManager) (*action.Receipt, error)

Handle handles a modification

func (*Protocol) NumCandidateDelegates Uses

func (p *Protocol) NumCandidateDelegates() uint64

NumCandidateDelegates returns the number of delegate candidates for an epoch

func (*Protocol) NumDelegates Uses

func (p *Protocol) NumDelegates() uint64

NumDelegates returns the number of delegates in an epoch

func (*Protocol) NumSubEpochs Uses

func (p *Protocol) NumSubEpochs() uint64

NumSubEpochs returns the number of sub-epochs in an epoch

func (*Protocol) ReadState Uses

func (p *Protocol) ReadState(context.Context, protocol.StateManager, []byte, ...[]byte) ([]byte, error)

ReadState read the state on blockchain via protocol

func (*Protocol) Validate Uses

func (p *Protocol) Validate(context.Context, action.Action) error

Validate validates a modification

Package rolldpos imports 3 packages (graph) and is imported by 7 packages. Updated 2019-08-12. Refresh now. Tools for package owners.