Consensus::BIP9Deployment

Struct for each individual consensus rule change using BIP9.

Synopsis

Declared in <consensus/params.h>

struct BIP9Deployment;

Data Members

NameDescription
bit Bit position to select the particular bit in nVersion.
min_activation_height If lock in occurs, delay activation until at least this block height. Note that activation will only occur on a retarget boundary.
nStartTime Start MedianTime for version bits miner confirmation. Can be a date in the past
nTimeout Timeout/expiry MedianTime for the deployment attempt.
period Period of blocks to check signalling in (usually retarget period, ie params.DifficultyAdjustmentInterval())
threshold Minimum blocks including miner confirmation of the total of 2016 blocks in a retargeting period, which is also used for BIP9 deployments. Examples: 1916 for 95%, 1512 for testchains.

Static Data Members

NameDescription
ALWAYS_ACTIVE Special value for nStartTime indicating that the deployment is always active. This is useful for testing, as it means tests don't need to deal with the activation process (which takes at least 3 BIP9 intervals). Only tests that specifically test the behaviour during activation cannot use this.
NEVER_ACTIVE Special value for nStartTime indicating that the deployment is never active. This is useful for integrating the code changes for a new feature prior to deploying it on some or all networks.
NO_TIMEOUT Constant for nTimeout very far in the future.