Module solana_sdk::clock

source ·
Expand description

Information about the network’s clock, ticks, slots, etc.

Time in Solana is marked primarily by slots, which occur approximately every 400 milliseconds, and are numbered sequentially. For every slot, a leader is chosen from the validator set, and that leader is expected to produce a new block, though sometimes leaders may fail to do so. Blocks can be identified by their slot number, and some slots do not contain a block.

An approximation of the passage of real-world time can be calculated by multiplying a number of slots by DEFAULT_MS_PER_SLOT, which is a constant target time for the network to produce slots. Note though that this method suffers a variable amount of drift, as the network does not produce slots at exactly the target rate, and the greater number of slots being calculated for, the greater the drift. Epochs cannot be used this way as they contain variable numbers of slots.

The network’s current view of the real-world time can always be accessed via Clock::unix_timestamp, which is produced by an oracle derived from the validator set.

Structs

A representation of network time.

Constants

The expected duration of a slot (400 milliseconds).
The number of slots per epoch after initial network warmup.
The default tick rate that the cluster attempts to achieve (160 per second).
Transaction forwarding, which leader to forward to and how long to hold
The time window of recent block hash values over which the bank will track signatures.
More delay is expected if CUDA is not enabled (as signature verification takes longer)
This is maximum time consumed in forwarding a transaction from one node to next, before it can be processed in the target node
The number of milliseconds per tick (6).
SLOT_MSDeprecated
The expected duration of a slot (400 milliseconds).

Type Definitions

Uniquely distinguishes every version of a slot.
The unit of time a given leader schedule is honored.
The unit of time given to a leader for encoding a block.
The number of slots in a epoch.
An index to the slots of a epoch.
An approximate measure of real-world time.