Bitcoin Core  0.20.99
P2P Digital Currency
Classes | Functions | Variables
chainparams.cpp File Reference
#include <chainparams.h>
#include <chainparamsseeds.h>
#include <consensus/merkle.h>
#include <hash.h>
#include <tinyformat.h>
#include <util/system.h>
#include <util/strencodings.h>
#include <versionbitsinfo.h>
#include <assert.h>
#include <boost/algorithm/string/classification.hpp>
#include <boost/algorithm/string/split.hpp>
Include dependency graph for chainparams.cpp:

Go to the source code of this file.

Classes

class  CMainParams
 Main network. More...
 
class  CTestNetParams
 Testnet (v3) More...
 
class  SigNetParams
 Signet. More...
 
class  CRegTestParams
 Regression test. More...
 

Functions

static CBlock CreateGenesisBlock (const char *pszTimestamp, const CScript &genesisOutputScript, uint32_t nTime, uint32_t nNonce, uint32_t nBits, int32_t nVersion, const CAmount &genesisReward)
 
static CBlock CreateGenesisBlock (uint32_t nTime, uint32_t nNonce, uint32_t nBits, int32_t nVersion, const CAmount &genesisReward)
 Build the genesis block. More...
 
const CChainParamsParams ()
 Return the currently selected parameters. More...
 
std::unique_ptr< const CChainParamsCreateChainParams (const ArgsManager &args, const std::string &chain)
 Creates and returns a std::unique_ptr<CChainParams> of the chosen chain. More...
 
void SelectParams (const std::string &network)
 Sets the params returned by Params() to those for the given chain name. More...
 

Variables

static std::unique_ptr< const CChainParamsglobalChainParams
 

Function Documentation

◆ CreateChainParams()

std::unique_ptr<const CChainParams> CreateChainParams ( const ArgsManager args,
const std::string &  chain 
)

Creates and returns a std::unique_ptr<CChainParams> of the chosen chain.

Returns
a CChainParams* of the chosen chain.
Exceptions
astd::runtime_error if the chain is not supported.

Definition at line 510 of file chainparams.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ CreateGenesisBlock() [1/2]

static CBlock CreateGenesisBlock ( const char *  pszTimestamp,
const CScript genesisOutputScript,
uint32_t  nTime,
uint32_t  nNonce,
uint32_t  nBits,
int32_t  nVersion,
const CAmount genesisReward 
)
static

Definition at line 21 of file chainparams.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ CreateGenesisBlock() [2/2]

static CBlock CreateGenesisBlock ( uint32_t  nTime,
uint32_t  nNonce,
uint32_t  nBits,
int32_t  nVersion,
const CAmount genesisReward 
)
static

Build the genesis block.

Note that the output of its generation transaction cannot be spent since it did not originally exist in the database.

CBlock(hash=000000000019d6, ver=1, hashPrevBlock=00000000000000, hashMerkleRoot=4a5e1e, nTime=1231006505, nBits=1d00ffff, nNonce=2083236893, vtx=1) CTransaction(hash=4a5e1e, ver=1, vin.size=1, vout.size=1, nLockTime=0) CTxIn(COutPoint(000000, -1), coinbase 04ffff001d0104455468652054696d65732030332f4a616e2f32303039204368616e63656c6c6f72206f6e206272696e6b206f66207365636f6e64206261696c6f757420666f722062616e6b73) CTxOut(nValue=50.00000000, scriptPubKey=0x5F1DF16B2B704C8A578D0B) vMerkleTree: 4a5e1e

Definition at line 53 of file chainparams.cpp.

Here is the call graph for this function:

◆ Params()

const CChainParams& Params ( )

Return the currently selected parameters.

This won't change after app startup, except for unit tests.

Definition at line 505 of file chainparams.cpp.

◆ SelectParams()

void SelectParams ( const std::string &  chain)

Sets the params returned by Params() to those for the given chain name.

Exceptions
std::runtime_errorwhen the chain is not supported.

Definition at line 524 of file chainparams.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

Variable Documentation

◆ globalChainParams

std::unique_ptr<const CChainParams> globalChainParams
static

Definition at line 503 of file chainparams.cpp.