consensus

package
v0.3.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 13, 2019 License: MIT Imports: 8 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func GeneratorSignature

func GeneratorSignature(signature crypto.Digest, pk crypto.PublicKey) (crypto.Digest, error)

signature prev block pk miner

Types

type BaseTarget

type BaseTarget = uint64

type ConsensusValidator

type ConsensusValidator struct {
	// contains filtered or unexported fields
}

func NewConsensusValidator

func NewConsensusValidator(state stateInfoProvider) (*ConsensusValidator, error)

func (*ConsensusValidator) ValidateHeaders

func (cv *ConsensusValidator) ValidateHeaders(headers []proto.BlockHeader, startHeight uint64) error

type FairPosCalculator

type FairPosCalculator struct {
}

func (*FairPosCalculator) CalculateBaseTarget

func (calc *FairPosCalculator) CalculateBaseTarget(
	targetBlockDelaySeconds uint64,
	confirmedHeight uint64,
	confirmedTarget uint64,
	confirmedTimestamp uint64,
	greatGrandParentTimestamp uint64,
	applyingBlockTimestamp uint64,
) (BaseTarget, error)

func (*FairPosCalculator) CalculateDelay

func (calc *FairPosCalculator) CalculateDelay(hit *Hit, confirmedTarget BaseTarget, balance uint64) (uint64, error)

type Hit

type Hit = big.Int

func GenHit

func GenHit(generatorSig []byte) (*Hit, error)

type NxtPosCalculator

type NxtPosCalculator struct {
}

func (*NxtPosCalculator) CalculateBaseTarget

func (calc *NxtPosCalculator) CalculateBaseTarget(
	targetBlockDelaySeconds uint64,
	prevHeight uint64,
	prevTarget uint64,
	parentTimestamp uint64,
	greatGrandParentTimestamp uint64,
	currentTimestamp uint64,
) (BaseTarget, error)

func (*NxtPosCalculator) CalculateDelay

func (calc *NxtPosCalculator) CalculateDelay(hit *Hit, parentTarget BaseTarget, balance uint64) (uint64, error)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL