solana-clock 4.0.0

Solana Clock and Time Definitions
Documentation

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

Time in Solana is marked primarily by slots, which 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 the SDK's default 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. Furthermore, the effective target is changed dynamically by SIMD-0525, so clients that require the cluster's current value must not assume the SDK default reflects the cluster.

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.