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: u8
determines 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: EpochNumber
specifies the first epoch in which the bit gains meaning.
timeout: EpochNumber
specifies 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: EpochNumber
specifies the epoch at which the softfork is allowed to become active.
period: EpochNumber
the length in epochs of the signalling period
threshold: Ratio
the ratio of blocks with the version bit set required to activate the feature
since: EpochNumber
The first epoch which the current state applies
state: DeploymentState
With each epoch and softfork, we associate a deployment state. The possible states are:
DEFINED
is the first state that each softfork starts. The blocks of 0 epoch is by definition in this state for each deployment.STARTED
for all blocks reach or past the start_epoch.LOCKED_IN
for one period after the first period with STARTED blocks of which at least threshold has the associated bit set in version.ACTIVE
for all blocks after the LOCKED_IN period.FAILED
for all blocks after the timeout_epoch, if LOCKED_IN was not reached.