Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func BeaconEntriesForBlock ¶
func BeaconEntriesForBlock(ctx context.Context, bSchedule Schedule, nv network.Version, epoch abi.ChainEpoch, parentEpoch abi.ChainEpoch, prev types.BeaconEntry) ([]types.BeaconEntry, error)
func ValidateBlockValues ¶
func ValidateBlockValues(bSchedule Schedule, nv network.Version, h *types.BlockHeader, parentEpoch abi.ChainEpoch, prevEntry types.BeaconEntry) error
Types ¶
type BeaconPoint ¶
type BeaconPoint struct { Start abi.ChainEpoch Beacon RandomBeacon }
type RandomBeacon ¶
type RandomBeacon interface { Entry(context.Context, uint64) <-chan Response VerifyEntry(types.BeaconEntry, types.BeaconEntry) error MaxBeaconRoundForEpoch(network.Version, abi.ChainEpoch) uint64 }
RandomBeacon represents a system that provides randomness to Lotus. Other components interrogate the RandomBeacon to acquire randomness that's valid for a specific chain epoch. Also to verify beacon entries that have been posted on chain.
func NewMockBeacon ¶
func NewMockBeacon(interval time.Duration) RandomBeacon
type Response ¶
type Response struct { Entry types.BeaconEntry Err error }
type Schedule ¶
type Schedule []BeaconPoint
func (Schedule) BeaconForEpoch ¶
func (bs Schedule) BeaconForEpoch(e abi.ChainEpoch) RandomBeacon
Click to show internal directories.
Click to hide internal directories.