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

Parameters that influence chain consensus&period;

== Synopsis

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

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

== Member Functions

[cols="1,4"]
|===
| Name| Description
| xref:Consensus/Params/DeploymentHeight.adoc[`DeploymentHeight`] 
| Returns the activation height of a buried deployment&period;
| xref:Consensus/Params/DifficultyAdjustmentInterval.adoc[`DifficultyAdjustmentInterval`] 
| Returns the number of blocks in one difficulty retargeting interval&period;
| xref:Consensus/Params/PowTargetSpacing.adoc[`PowTargetSpacing`] 
| Returns the target spacing between blocks&period;
|===


== Data Members

[cols="1,4"]
|===
| Name| Description
| xref:Consensus/Params/BIP34Hash.adoc[`BIP34Hash`] 
| Hash of the block at which BIP34 becomes active&period;
| xref:Consensus/Params/BIP34Height.adoc[`BIP34Height`] 
| Block height and hash at which BIP34 becomes active
| xref:Consensus/Params/BIP65Height.adoc[`BIP65Height`] 
| Block height at which BIP65 becomes active
| xref:Consensus/Params/BIP66Height.adoc[`BIP66Height`] 
| Block height at which BIP66 becomes active
| xref:Consensus/Params/CSVHeight.adoc[`CSVHeight`] 
| Block height at which CSV (BIP68, BIP112 and BIP113) becomes active
| xref:Consensus/Params/MinBIP9WarningHeight.adoc[`MinBIP9WarningHeight`] 
| Don&apos;t warn about unknown BIP 9 activations below this height&period; This prevents us from warning about the CSV, segwit and taproot activations&period;
| xref:Consensus/Params/SegwitHeight.adoc[`SegwitHeight`] 
| Block height at which Segwit (BIP141, BIP143 and BIP147) becomes active&period; Note that segwit v0 script rules are enforced on all blocks except the BIP 16 exception blocks&period;
| xref:Consensus/Params/defaultAssumeValid.adoc[`defaultAssumeValid`] 
| By default assume that the signatures in ancestors of this block are valid
| xref:Consensus/Params/enforce_BIP94.adoc[`enforce&lowbar;BIP94`] 
| Enforce BIP94 timewarp attack mitigation&period; On testnet4 this also enforces the block storm mitigation&period;
| xref:Consensus/Params/fPowAllowMinDifficultyBlocks.adoc[`fPowAllowMinDifficultyBlocks`] 
| If true, allow minimum&hyphen;difficulty blocks after a long gap (used on test chains)&period;
| xref:Consensus/Params/fPowNoRetargeting.adoc[`fPowNoRetargeting`] 
| If true, disable difficulty retargeting (used on the regression test chain)&period;
| xref:Consensus/Params/hashGenesisBlock.adoc[`hashGenesisBlock`] 
| Hash of the genesis block for this chain&period;
| xref:Consensus/Params/nMinimumChainWork.adoc[`nMinimumChainWork`] 
| The best chain should have at least this much work
| xref:Consensus/Params/nPowTargetSpacing.adoc[`nPowTargetSpacing`] 
| Target spacing between blocks, in seconds&period;
| xref:Consensus/Params/nPowTargetTimespan.adoc[`nPowTargetTimespan`] 
| Length of a difficulty retargeting window, in seconds&period;
| xref:Consensus/Params/nSubsidyHalvingInterval.adoc[`nSubsidyHalvingInterval`] 
| Number of blocks between successive halvings of the block subsidy&period;
| xref:Consensus/Params/powLimit.adoc[`powLimit`] 
| Proof of work parameters
| xref:Consensus/Params/script_flag_exceptions.adoc[`script&lowbar;flag&lowbar;exceptions`] 
| Hashes of blocks that &hyphen; are known to be consensus valid, and &hyphen; buried in the chain, and &hyphen; fail if the default script verify flags are applied&period;
| xref:Consensus/Params/signet_blocks.adoc[`signet&lowbar;blocks`] 
| If true, witness commitments contain a payload equal to a Bitcoin Script solution to the signet challenge&period; See BIP325&period;
| xref:Consensus/Params/signet_challenge.adoc[`signet&lowbar;challenge`] 
| Bitcoin Script challenge that signet block witness commitments must solve (BIP325)&period;
| xref:Consensus/Params/vDeployments.adoc[`vDeployments`] 
| Per&hyphen;deployment BIP9 version&hyphen;bits parameters, indexed by DeploymentPos&period;
|===


== Non-Member Functions

[cols="1,4"]
|===
| Name| Description
| xref:DeploymentEnabled-06.adoc[`&colon;&colon;DeploymentEnabled`]
| Determine if a version&hyphen;bits deployment is enabled (can ever be active)&period;
| xref:DeploymentEnabled-0d.adoc[`&colon;&colon;DeploymentEnabled`]
| Determine if a deployment is enabled (can ever be active)
| xref:PermittedDifficultyTransition.adoc[`&colon;&colon;PermittedDifficultyTransition`]
| Return false if the proof&hyphen;of&hyphen;work requirement specified by new&lowbar;nbits at a given height is not possible, given the proof&hyphen;of&hyphen;work on the prior block as specified by old&lowbar;nbits&period;
|===


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