[#Consensus-BIP9Deployment]
= xref:Consensus.adoc[Consensus]::BIP9Deployment
:relfileprefix: ../
:mrdocs:

Struct for each individual consensus rule change using BIP9&period;

== Synopsis

Declared in `&lt;consensus&sol;params&period;h&gt;`

[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
struct BIP9Deployment;
----

== Data Members

[cols="1,4"]
|===
| Name| Description
| xref:Consensus/BIP9Deployment/bit.adoc[`bit`] 
| Bit position to select the particular bit in nVersion&period;
| xref:Consensus/BIP9Deployment/min_activation_height.adoc[`min&lowbar;activation&lowbar;height`] 
| If lock in occurs, delay activation until at least this block height&period; Note that activation will only occur on a retarget boundary&period;
| xref:Consensus/BIP9Deployment/nStartTime.adoc[`nStartTime`] 
| Start MedianTime for version bits miner confirmation&period; Can be a date in the past
| xref:Consensus/BIP9Deployment/nTimeout.adoc[`nTimeout`] 
| Timeout&sol;expiry MedianTime for the deployment attempt&period;
| xref:Consensus/BIP9Deployment/period.adoc[`period`] 
| Period of blocks to check signalling in (usually retarget period, ie params&period;DifficultyAdjustmentInterval())
| xref:Consensus/BIP9Deployment/threshold.adoc[`threshold`] 
| Minimum blocks including miner confirmation of the total of 2016 blocks in a retargeting period, which is also used for BIP9 deployments&period; Examples&colon; 1916 for 95%, 1512 for testchains&period;
|===


== Static Data Members

[cols="1,4"]
|===
| Name| Description
| xref:Consensus/BIP9Deployment/ALWAYS_ACTIVE.adoc[`ALWAYS&lowbar;ACTIVE`] 
| Special value for nStartTime indicating that the deployment is always active&period; This is useful for testing, as it means tests don&apos;t need to deal with the activation process (which takes at least 3 BIP9 intervals)&period; Only tests that specifically test the behaviour during activation cannot use this&period;
| xref:Consensus/BIP9Deployment/NEVER_ACTIVE.adoc[`NEVER&lowbar;ACTIVE`] 
| Special value for nStartTime indicating that the deployment is never active&period; This is useful for integrating the code changes for a new feature prior to deploying it on some or all networks&period;
| xref:Consensus/BIP9Deployment/NO_TIMEOUT.adoc[`NO&lowbar;TIMEOUT`] 
| Constant for nTimeout very far in the future&period;
|===



[.small]#Created with https://www.mrdocs.com[MrDocs]#
