Struct ckb_jsonrpc_types::DeploymentInfo
source · pub struct DeploymentInfo {
pub bit: u8,
pub start: EpochNumber,
pub timeout: EpochNumber,
pub min_activation_epoch: EpochNumber,
pub period: EpochNumber,
pub threshold: Ratio,
pub since: EpochNumber,
pub state: DeploymentState,
}Expand description
An object containing various state info regarding deployments of consensus changes
Fields§
§bit: u8determines which bit in the version field of the block is to be used to signal the softfork lock-in and activation.
It is chosen from the set {0,1,2,…,28}.
start: EpochNumberspecifies the first epoch in which the bit gains meaning.
timeout: EpochNumberspecifies an epoch at which the miner signaling ends. Once this epoch has been reached, if the softfork has not yet locked_in (excluding this epoch block’s bit state), the deployment is considered failed on all descendants of the block.
min_activation_epoch: EpochNumberspecifies the epoch at which the softfork is allowed to become active.
period: EpochNumberthe length in epochs of the signalling period
threshold: Ratiothe ratio of blocks with the version bit set required to activate the feature
since: EpochNumberThe first epoch which the current state applies
state: DeploymentStateWith each epoch and softfork, we associate a deployment state. The possible states are:
DEFINEDis the first state that each softfork starts. The blocks of 0 epoch is by definition in this state for each deployment.STARTEDfor all blocks reach or past the start_epoch.LOCKED_INfor one period after the first period with STARTED blocks of which at least threshold has the associated bit set in version.ACTIVEfor all blocks after the LOCKED_IN period.FAILEDfor all blocks after the timeout_epoch, if LOCKED_IN was not reached.