Documentation ¶
Overview ¶
Package slotutil includes ticker and timer-related functions for Ethereum consensus.
Index ¶
- func AbsoluteValueSlotDifference(x, y types.Slot) uint64
- func CountdownToGenesis(ctx context.Context, genesisTime time.Time, genesisValidatorCount uint64, ...)
- func DivideSlotBy(timesPerSlot int64) time.Duration
- func EpochsSinceGenesis(genesis time.Time) types.Epoch
- func MultiplySlotBy(times int64) time.Duration
- func SlotStartTime(genesis uint64, slot types.Slot) time.Time
- func SlotsSinceGenesis(genesis time.Time) types.Slot
- type SlotTicker
- type Ticker
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func AbsoluteValueSlotDifference ¶ added in v1.3.11
AbsoluteValueSlotDifference between two slots.
func CountdownToGenesis ¶ added in v1.0.0
func CountdownToGenesis(ctx context.Context, genesisTime time.Time, genesisValidatorCount uint64, genesisStateRoot [32]byte)
CountdownToGenesis starts a ticker at the specified duration logging the remaining minutes until the genesis chainstart event along with important genesis state metadata such as number of genesis validators.
func DivideSlotBy ¶ added in v1.0.0
DivideSlotBy divides the SECONDS_PER_SLOT configuration parameter by a specified number. It returns a value of time.Duration in milliseconds, useful for dividing values such as 1 second into millisecond-based durations.
func EpochsSinceGenesis ¶ added in v0.3.0
EpochsSinceGenesis returns the number of slots since the provided genesis time.
func MultiplySlotBy ¶ added in v1.4.1
MultiplySlotBy multiplies the SECONDS_PER_SLOT configuration parameter by a specified number. It returns a value of time.Duration in millisecond-based durations.
func SlotStartTime ¶
SlotStartTime returns the start time in terms of its unix epoch value.
Types ¶
type SlotTicker ¶
type SlotTicker struct {
// contains filtered or unexported fields
}
SlotTicker is a special ticker for the beacon chain block. The channel emits over the slot interval, and ensures that the ticks are in line with the genesis time. This means that the duration between the ticks and the genesis time are always a multiple of the slot duration. In addition, the channel returns the new slot number.
func NewSlotTicker ¶ added in v1.2.0
func NewSlotTicker(genesisTime time.Time, secondsPerSlot uint64) *SlotTicker
NewSlotTicker starts and returns a new SlotTicker instance.
func NewSlotTickerWithOffset ¶ added in v1.2.0
func NewSlotTickerWithOffset(genesisTime time.Time, offset time.Duration, secondsPerSlot uint64) *SlotTicker
NewSlotTickerWithOffset starts and returns a SlotTicker instance that allows a offset of time from genesis, entering a offset greater than secondsPerSlot is not allowed.
func (*SlotTicker) C ¶
func (s *SlotTicker) C() <-chan types.Slot
C returns the ticker channel. Call Cancel afterwards to ensure that the goroutine exits cleanly.