Bitcoin ABC  0.29.6
P2P Digital Currency
Classes | Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | Friends | List of all members
CChainParams Class Reference

CChainParams defines various tweakable parameters of a given instance of the Bitcoin system. More...

#include <chainparams.h>

Inheritance diagram for CChainParams:
[legend]
Collaboration diagram for CChainParams:
[legend]

Classes

struct  ChainOptions
 

Public Types

enum  Base58Type {
  PUBKEY_ADDRESS , SCRIPT_ADDRESS , SECRET_KEY , EXT_PUBLIC_KEY ,
  EXT_SECRET_KEY , MAX_BASE58_TYPES
}
 

Public Member Functions

const Consensus::ParamsGetConsensus () const
 
const CMessageHeader::MessageMagicDiskMagic () const
 
const CMessageHeader::MessageMagicNetMagic () const
 
uint16_t GetDefaultPort () const
 
uint16_t GetDefaultPort (Network net) const
 
uint16_t GetDefaultPort (const std::string &addr) const
 
const CBlockGenesisBlock () const
 
bool DefaultConsistencyChecks () const
 Default value for -checkmempool and -checkblockindex argument. More...
 
bool RequireStandard () const
 Policy: Filter transactions that do not match well-defined patterns. More...
 
bool IsTestChain () const
 If this chain is exclusively used for testing. More...
 
bool IsMockableChain () const
 If this chain allows time to be mocked. More...
 
uint64_t PruneAfterHeight () const
 
uint64_t AssumedBlockchainSize () const
 Minimum free space (in GB) needed for data directory. More...
 
uint64_t AssumedChainStateSize () const
 Minimum free space (in GB) needed for data directory when pruned; Does not include prune target. More...
 
bool MineBlocksOnDemand () const
 Whether it is possible to mine blocks on demand (no retargeting) More...
 
std::string NetworkIDString () const
 Return the BIP70 network string (main, test or regtest) More...
 
const std::vector< uint8_t > & Base58Prefix (Base58Type type) const
 Return the list of hostnames to look up for DNS seeds. More...
 
const std::string & CashAddrPrefix () const
 
const std::vector< SeedSpec6 > & FixedSeeds () const
 
const CCheckpointDataCheckpoints () const
 
const MapAssumeutxoAssumeutxo () const
 Get allowed assumeutxo configuration. More...
 
const ChainTxDataTxData () const
 

Static Public Member Functions

static std::unique_ptr< const CChainParamsRegTest (const ChainOptions &options)
 
static std::unique_ptr< const CChainParamsMain (const ChainOptions &options)
 
static std::unique_ptr< const CChainParamsTestNet (const ChainOptions &options)
 

Protected Member Functions

 CChainParams ()
 

Protected Attributes

Consensus::Params consensus
 
CMessageHeader::MessageMagic diskMagic
 
CMessageHeader::MessageMagic netMagic
 
uint16_t nDefaultPort
 
uint64_t nPruneAfterHeight
 
uint64_t m_assumed_blockchain_size
 
uint64_t m_assumed_chain_state_size
 
std::vector< std::string > vSeeds
 
std::vector< uint8_t > base58Prefixes [MAX_BASE58_TYPES]
 
std::string cashaddrPrefix
 
std::string strNetworkID
 
CBlock genesis
 
std::vector< SeedSpec6vFixedSeeds
 
bool fDefaultConsistencyChecks
 
bool fRequireStandard
 
bool m_is_test_chain
 
bool m_is_mockable_chain
 
CCheckpointData checkpointData
 
MapAssumeutxo m_assumeutxo_data
 
ChainTxData chainTxData
 

Friends

const std::vector< std::string > GetRandomizedDNSSeeds (const CChainParams &params)
 Return the list of hostnames to look up for DNS seeds. More...
 

Detailed Description

CChainParams defines various tweakable parameters of a given instance of the Bitcoin system.

There are three: the main network on which people trade goods and services, the public test network which gets reset from time to time and a regression test mode which is intended for private networks only. It has minimal difficulty to ensure that blocks can be found instantly.

Definition at line 80 of file chainparams.h.

Member Enumeration Documentation

◆ Base58Type

Enumerator
PUBKEY_ADDRESS 
SCRIPT_ADDRESS 
SECRET_KEY 
EXT_PUBLIC_KEY 
EXT_SECRET_KEY 
MAX_BASE58_TYPES 

Definition at line 82 of file chainparams.h.

Constructor & Destructor Documentation

◆ CChainParams()

CChainParams::CChainParams ( )
inlineprotected

Definition at line 155 of file chainparams.h.

Member Function Documentation

◆ AssumedBlockchainSize()

uint64_t CChainParams::AssumedBlockchainSize ( ) const
inline

Minimum free space (in GB) needed for data directory.

Definition at line 116 of file chainparams.h.

Here is the caller graph for this function:

◆ AssumedChainStateSize()

uint64_t CChainParams::AssumedChainStateSize ( ) const
inline

Minimum free space (in GB) needed for data directory when pruned; Does not include prune target.

Definition at line 121 of file chainparams.h.

Here is the caller graph for this function:

◆ Assumeutxo()

const MapAssumeutxo& CChainParams::Assumeutxo ( ) const
inline

Get allowed assumeutxo configuration.

See also
ChainstateManager

Definition at line 138 of file chainparams.h.

Here is the caller graph for this function:

◆ Base58Prefix()

const std::vector<uint8_t>& CChainParams::Base58Prefix ( Base58Type  type) const
inline

Return the list of hostnames to look up for DNS seeds.

Definition at line 129 of file chainparams.h.

Here is the caller graph for this function:

◆ CashAddrPrefix()

const std::string& CChainParams::CashAddrPrefix ( ) const
inline

Definition at line 132 of file chainparams.h.

Here is the caller graph for this function:

◆ Checkpoints()

const CCheckpointData& CChainParams::Checkpoints ( ) const
inline

Definition at line 134 of file chainparams.h.

Here is the caller graph for this function:

◆ DefaultConsistencyChecks()

bool CChainParams::DefaultConsistencyChecks ( ) const
inline

Default value for -checkmempool and -checkblockindex argument.

Definition at line 107 of file chainparams.h.

Here is the caller graph for this function:

◆ DiskMagic()

const CMessageHeader::MessageMagic& CChainParams::DiskMagic ( ) const
inline

Definition at line 93 of file chainparams.h.

◆ FixedSeeds()

const std::vector<SeedSpec6>& CChainParams::FixedSeeds ( ) const
inline

Definition at line 133 of file chainparams.h.

Here is the caller graph for this function:

◆ GenesisBlock()

const CBlock& CChainParams::GenesisBlock ( ) const
inline

Definition at line 105 of file chainparams.h.

Here is the caller graph for this function:

◆ GetConsensus()

const Consensus::Params& CChainParams::GetConsensus ( ) const
inline

Definition at line 92 of file chainparams.h.

Here is the caller graph for this function:

◆ GetDefaultPort() [1/3]

uint16_t CChainParams::GetDefaultPort ( ) const
inline

Definition at line 95 of file chainparams.h.

Here is the caller graph for this function:

◆ GetDefaultPort() [2/3]

uint16_t CChainParams::GetDefaultPort ( const std::string &  addr) const
inline

Definition at line 99 of file chainparams.h.

Here is the call graph for this function:

◆ GetDefaultPort() [3/3]

uint16_t CChainParams::GetDefaultPort ( Network  net) const
inline

Definition at line 96 of file chainparams.h.

Here is the call graph for this function:

◆ IsMockableChain()

bool CChainParams::IsMockableChain ( ) const
inline

If this chain allows time to be mocked.

Definition at line 113 of file chainparams.h.

Here is the caller graph for this function:

◆ IsTestChain()

bool CChainParams::IsTestChain ( ) const
inline

If this chain is exclusively used for testing.

Definition at line 111 of file chainparams.h.

Here is the caller graph for this function:

◆ Main()

std::unique_ptr< const CChainParams > CChainParams::Main ( const ChainOptions options)
static

Definition at line 502 of file chainparams.cpp.

Here is the caller graph for this function:

◆ MineBlocksOnDemand()

bool CChainParams::MineBlocksOnDemand ( ) const
inline

Whether it is possible to mine blocks on demand (no retargeting)

Definition at line 125 of file chainparams.h.

Here is the caller graph for this function:

◆ NetMagic()

const CMessageHeader::MessageMagic& CChainParams::NetMagic ( ) const
inline

Definition at line 94 of file chainparams.h.

Here is the caller graph for this function:

◆ NetworkIDString()

std::string CChainParams::NetworkIDString ( ) const
inline

Return the BIP70 network string (main, test or regtest)

Definition at line 127 of file chainparams.h.

Here is the caller graph for this function:

◆ PruneAfterHeight()

uint64_t CChainParams::PruneAfterHeight ( ) const
inline

Definition at line 114 of file chainparams.h.

Here is the caller graph for this function:

◆ RegTest()

std::unique_ptr< const CChainParams > CChainParams::RegTest ( const ChainOptions options)
static

Definition at line 497 of file chainparams.cpp.

Here is the caller graph for this function:

◆ RequireStandard()

bool CChainParams::RequireStandard ( ) const
inline

Policy: Filter transactions that do not match well-defined patterns.

Definition at line 109 of file chainparams.h.

Here is the caller graph for this function:

◆ TestNet()

std::unique_ptr< const CChainParams > CChainParams::TestNet ( const ChainOptions options)
static

Definition at line 507 of file chainparams.cpp.

Here is the caller graph for this function:

◆ TxData()

const ChainTxData& CChainParams::TxData ( ) const
inline

Definition at line 140 of file chainparams.h.

Here is the caller graph for this function:

Friends And Related Function Documentation

◆ GetRandomizedDNSSeeds

const std::vector<std::string> GetRandomizedDNSSeeds ( const CChainParams params)
friend

Return the list of hostnames to look up for DNS seeds.

Definition at line 11 of file dnsseeds.cpp.

Member Data Documentation

◆ base58Prefixes

std::vector<uint8_t> CChainParams::base58Prefixes[MAX_BASE58_TYPES]
protected

Definition at line 165 of file chainparams.h.

◆ cashaddrPrefix

std::string CChainParams::cashaddrPrefix
protected

Definition at line 166 of file chainparams.h.

◆ chainTxData

ChainTxData CChainParams::chainTxData
protected

Definition at line 176 of file chainparams.h.

◆ checkpointData

CCheckpointData CChainParams::checkpointData
protected

Definition at line 174 of file chainparams.h.

◆ consensus

Consensus::Params CChainParams::consensus
protected

Definition at line 157 of file chainparams.h.

◆ diskMagic

CMessageHeader::MessageMagic CChainParams::diskMagic
protected

Definition at line 158 of file chainparams.h.

◆ fDefaultConsistencyChecks

bool CChainParams::fDefaultConsistencyChecks
protected

Definition at line 170 of file chainparams.h.

◆ fRequireStandard

bool CChainParams::fRequireStandard
protected

Definition at line 171 of file chainparams.h.

◆ genesis

CBlock CChainParams::genesis
protected

Definition at line 168 of file chainparams.h.

◆ m_assumed_blockchain_size

uint64_t CChainParams::m_assumed_blockchain_size
protected

Definition at line 162 of file chainparams.h.

◆ m_assumed_chain_state_size

uint64_t CChainParams::m_assumed_chain_state_size
protected

Definition at line 163 of file chainparams.h.

◆ m_assumeutxo_data

MapAssumeutxo CChainParams::m_assumeutxo_data
protected

Definition at line 175 of file chainparams.h.

◆ m_is_mockable_chain

bool CChainParams::m_is_mockable_chain
protected

Definition at line 173 of file chainparams.h.

◆ m_is_test_chain

bool CChainParams::m_is_test_chain
protected

Definition at line 172 of file chainparams.h.

◆ nDefaultPort

uint16_t CChainParams::nDefaultPort
protected

Definition at line 160 of file chainparams.h.

◆ netMagic

CMessageHeader::MessageMagic CChainParams::netMagic
protected

Definition at line 159 of file chainparams.h.

◆ nPruneAfterHeight

uint64_t CChainParams::nPruneAfterHeight
protected

Definition at line 161 of file chainparams.h.

◆ strNetworkID

std::string CChainParams::strNetworkID
protected

Definition at line 167 of file chainparams.h.

◆ vFixedSeeds

std::vector<SeedSpec6> CChainParams::vFixedSeeds
protected

Definition at line 169 of file chainparams.h.

◆ vSeeds

std::vector<std::string> CChainParams::vSeeds
protected

Definition at line 164 of file chainparams.h.


The documentation for this class was generated from the following files: