[#CChainParams]
= CChainParams
:mrdocs:

Chain parameters describing a particular Bitcoin network&period;

== Synopsis

Declared in `&lt;kernel&sol;chainparams&period;h&gt;`

[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
class CChainParams;
----

== Types

[cols="1,4"]
|===
| Name| Description
| xref:CChainParams/DeploymentOptions.adoc[`DeploymentOptions`] 
| Overrides for consensus deployment activation on a custom chain&period;
| xref:CChainParams/MainNetOptions.adoc[`MainNetOptions`] 
| Options for creating a mainnet CChainParams&period;
| xref:CChainParams/RegTestOptions.adoc[`RegTestOptions`] 
| RegTestOptions holds configurations for creating a regtest CChainParams&period;
| xref:CChainParams/SigNetOptions.adoc[`SigNetOptions`] 
| SigNetOptions holds configurations for creating a signet CChainParams&period;
| xref:CChainParams/TestNetOptions.adoc[`TestNetOptions`] 
| Options for creating a testnet CChainParams&period;
| xref:CChainParams/VersionBitsParameters.adoc[`VersionBitsParameters`] 
| VersionBitsParameters holds activation parameters
|===


== Enums

[cols="1,4"]
|===
| Name| Description
| xref:CChainParams/Base58Type.adoc[`Base58Type`] 
| Index into the table of Base58 version prefixes for each address type&period;
|===


== Member Functions

[cols="1,4"]
|===
| Name| Description
| xref:CChainParams/AssumedBlockchainSize.adoc[`AssumedBlockchainSize`] 
| Minimum free space (in GB) needed for the data directory&period;
| xref:CChainParams/AssumedChainStateSize.adoc[`AssumedChainStateSize`] 
| Minimum free space (in GB) needed for the data directory when pruned&semi; does not include the prune target&period;
| xref:CChainParams/AssumeutxoForBlockhash.adoc[`AssumeutxoForBlockhash`] 
| Looks up the assumeutxo snapshot data for a given base block hash&period;
| xref:CChainParams/AssumeutxoForHeight.adoc[`AssumeutxoForHeight`] 
| Looks up the assumeutxo snapshot data for a given block height&period;
| xref:CChainParams/Base58Prefix.adoc[`Base58Prefix`] 
| Returns the Base58 version prefix bytes for a given address type&period;
| xref:CChainParams/Bech32HRP.adoc[`Bech32HRP`] 
| Returns the human&hyphen;readable part used for Bech32 addresses&period;
| xref:CChainParams/DNSSeeds.adoc[`DNSSeeds`] 
| Returns the list of hostnames to look up for DNS seeds&period;
| xref:CChainParams/DefaultConsistencyChecks.adoc[`DefaultConsistencyChecks`] 
| Default value for the &hyphen;checkmempool and &hyphen;checkblockindex arguments&period;
| xref:CChainParams/FixedSeeds.adoc[`FixedSeeds`] 
| Returns the built&hyphen;in list of fixed peer seeds&period;
| xref:CChainParams/GenesisBlock.adoc[`GenesisBlock`] 
| Returns the genesis block of this chain&period;
| xref:CChainParams/GetAvailableSnapshotHeights.adoc[`GetAvailableSnapshotHeights`] 
| Returns the heights for which an assumeutxo snapshot is available&period;
| xref:CChainParams/GetChainType.adoc[`GetChainType`] 
| Returns the chain type of this instance&period;
| xref:CChainParams/GetChainTypeString.adoc[`GetChainTypeString`] 
| Returns the chain type as a human&hyphen;readable string&period;
| xref:CChainParams/GetConsensus.adoc[`GetConsensus`] 
| Returns the consensus parameters for this chain&period;
| xref:CChainParams/GetDefaultPort.adoc[`GetDefaultPort`] 
| Returns the default P2P port for this chain&period;
| xref:CChainParams/HeadersSync.adoc[`HeadersSync`] 
| Returns the headers&hyphen;sync memory usage parameters&period;
| xref:CChainParams/IsMockableChain.adoc[`IsMockableChain`] 
| Reports whether this chain allows time to be mocked&period;
| xref:CChainParams/IsTestChain.adoc[`IsTestChain`] 
| Reports whether this chain is exclusively used for testing&period;
| xref:CChainParams/MessageStart.adoc[`MessageStart`] 
| Returns the network magic bytes that prefix every P2P message&period;
| xref:CChainParams/MineBlocksOnDemand.adoc[`MineBlocksOnDemand`] 
| Reports whether blocks can be mined on demand without retargeting&period;
| xref:CChainParams/PruneAfterHeight.adoc[`PruneAfterHeight`] 
| Returns the block height below which pruning is not attempted&period;
| xref:CChainParams/TxData.adoc[`TxData`] 
| Returns the transaction statistics used to estimate sync progress&period;
|===


== Static Member Functions

[cols="1,4"]
|===
| Name| Description
| xref:CChainParams/Main-03.adoc[`Main`] 
| `Main` overloads
| xref:CChainParams/RegTest-08.adoc[`RegTest`] 
| `RegTest` overloads
| xref:CChainParams/SigNet-00.adoc[`SigNet`] 
| `SigNet` overloads
| xref:CChainParams/TestNet-04.adoc[`TestNet`] 
| `TestNet` overloads
| xref:CChainParams/TestNet4-00.adoc[`TestNet4`] 
| `TestNet4` overloads
|===


== Protected Member Functions

[cols="1,4"]
|===
| Name| Description
| xref:CChainParams/2constructor.adoc[`CChainParams`]         [.small]#[constructor]#
| Default&hyphen;constructs an empty set of chain parameters&period;
| xref:CChainParams/ApplyDeploymentOptions.adoc[`ApplyDeploymentOptions`] 
| Applies deployment activation overrides to the consensus parameters&period;
|===


== Protected Data Members

[cols="1,4"]
|===
| Name| Description
| xref:CChainParams/base58Prefixes.adoc[`base58Prefixes`] 
| Base58 version prefixes indexed by Base58Type&period;
| xref:CChainParams/bech32_hrp.adoc[`bech32&lowbar;hrp`] 
| Human&hyphen;readable part used for Bech32 addresses&period;
| xref:CChainParams/chainTxData.adoc[`chainTxData`] 
| Transaction statistics used to estimate sync progress&period;
| xref:CChainParams/consensus.adoc[`consensus`] 
| Consensus rule parameters for this chain&period;
| xref:CChainParams/fDefaultConsistencyChecks.adoc[`fDefaultConsistencyChecks`] 
| Whether consistency checks run by default&period;
| xref:CChainParams/genesis.adoc[`genesis`] 
| Genesis block of this chain&period;
| xref:CChainParams/m_assumed_blockchain_size.adoc[`m&lowbar;assumed&lowbar;blockchain&lowbar;size`] 
| Assumed full blockchain size, in gigabytes&period;
| xref:CChainParams/m_assumed_chain_state_size.adoc[`m&lowbar;assumed&lowbar;chain&lowbar;state&lowbar;size`] 
| Assumed pruned chain&hyphen;state size, in gigabytes&period;
| xref:CChainParams/m_assumeutxo_data.adoc[`m&lowbar;assumeutxo&lowbar;data`] 
| Recognized assumeutxo snapshots for this chain&period;
| xref:CChainParams/m_chain_type.adoc[`m&lowbar;chain&lowbar;type`] 
| Chain type of this instance&period;
| xref:CChainParams/m_headers_sync_params.adoc[`m&lowbar;headers&lowbar;sync&lowbar;params`] 
| Headers&hyphen;sync memory usage parameters&period;
| xref:CChainParams/m_is_mockable_chain.adoc[`m&lowbar;is&lowbar;mockable&lowbar;chain`] 
| Whether the block time can be mocked&period;
| xref:CChainParams/nDefaultPort.adoc[`nDefaultPort`] 
| Default P2P port for this chain&period;
| xref:CChainParams/nPruneAfterHeight.adoc[`nPruneAfterHeight`] 
| Block height below which pruning is not attempted&period;
| xref:CChainParams/pchMessageStart.adoc[`pchMessageStart`] 
| Network magic bytes prefixing every P2P message&period;
| xref:CChainParams/vFixedSeeds.adoc[`vFixedSeeds`] 
| Built&hyphen;in list of fixed peer seeds&period;
| xref:CChainParams/vSeeds.adoc[`vSeeds`] 
| Hostnames looked up for DNS seeds&period;
|===


== Non-Member Functions

[cols="1,4"]
|===
| Name| Description
| xref:CreateChainParams.adoc[`CreateChainParams`]
| Creates and returns a std&colon;&colon;unique&lowbar;ptr&lt;CChainParams&gt; of the chosen chain&period;
| xref:Params.adoc[`Params`]
| Return the currently selected parameters&period; This won&apos;t change after app startup, except for unit tests&period;
|===


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