6 #ifndef BITCOIN_KERNEL_CHAINPARAMS_H
7 #define BITCOIN_KERNEL_CHAINPARAMS_H
23 #include <unordered_map>
34 return final_checkpoint->first ;
138 std::optional<std::vector<std::string>>
seeds{};
159 static std::unique_ptr<const CChainParams>
RegTest(
const RegTestOptions& options);
160 static std::unique_ptr<const CChainParams>
SigNet(
const SigNetOptions& options);
161 static std::unique_ptr<const CChainParams>
Main();
162 static std::unique_ptr<const CChainParams>
TestNet();
std::string ChainTypeToString(ChainType chain)
CChainParams defines various tweakable parameters of a given instance of the Bitcoin system.
std::string GetChainTypeString() const
Return the chain type string.
uint64_t m_assumed_chain_state_size
MessageStartChars pchMessageStart
const std::vector< unsigned char > & Base58Prefix(Base58Type type) const
static std::unique_ptr< const CChainParams > Main()
bool DefaultConsistencyChecks() const
Default value for -checkmempool and -checkblockindex argument.
static std::unique_ptr< const CChainParams > RegTest(const RegTestOptions &options)
const std::vector< std::string > & DNSSeeds() const
Return the list of hostnames to look up for DNS seeds.
const ChainTxData & TxData() const
std::optional< AssumeutxoData > AssumeutxoForHeight(int height) const
const std::string & Bech32HRP() const
uint64_t m_assumed_blockchain_size
const CCheckpointData & Checkpoints() const
std::vector< uint8_t > vFixedSeeds
bool IsMockableChain() const
If this chain allows time to be mocked.
bool fDefaultConsistencyChecks
static std::unique_ptr< const CChainParams > TestNet()
std::vector< unsigned char > base58Prefixes[MAX_BASE58_TYPES]
bool IsTestChain() const
If this chain is exclusively used for testing.
std::optional< AssumeutxoData > AssumeutxoForBlockhash(const uint256 &blockhash) const
bool MineBlocksOnDemand() const
Whether it is possible to mine blocks on demand (no retargeting)
Consensus::Params consensus
const std::vector< uint8_t > & FixedSeeds() const
const Consensus::Params & GetConsensus() const
uint16_t GetDefaultPort() const
std::vector< AssumeutxoData > m_assumeutxo_data
uint64_t AssumedBlockchainSize() const
Minimum free space (in GB) needed for data directory.
std::vector< std::string > vSeeds
const MessageStartChars & MessageStart() const
uint64_t AssumedChainStateSize() const
Minimum free space (in GB) needed for data directory when pruned; Does not include prune target.
uint64_t PruneAfterHeight() const
CCheckpointData checkpointData
ChainType GetChainType() const
Return the chain type.
const CBlock & GenesisBlock() const
static std::unique_ptr< const CChainParams > SigNet(const SigNetOptions &options)
uint64_t nPruneAfterHeight
std::map< int, uint256 > MapCheckpoints
std::array< uint8_t, 4 > MessageStartChars
Holds configuration for use during UTXO snapshot load and validation.
AssumeutxoHash hash_serialized
The expected hash of the deserialized UTXO set.
unsigned int nChainTx
Used to populate the nChainTx value, which is used during BlockManager::LoadBlockIndex().
uint256 blockhash
The hash of the base block for this snapshot.
AssumeutxoHash(const uint256 &hash)
RegTestOptions holds configurations for creating a regtest CChainParams.
std::unordered_map< Consensus::DeploymentPos, VersionBitsParameters > version_bits_parameters
std::unordered_map< Consensus::BuriedDeployment, int > activation_heights
SigNetOptions holds configurations for creating a signet CChainParams.
std::optional< std::vector< uint8_t > > challenge
std::optional< std::vector< std::string > > seeds
VersionBitsParameters holds activation parameters.
int min_activation_height
MapCheckpoints mapCheckpoints
Holds various statistics on transactions within a chain.
double dTxRate
estimated number of transactions per second after that timestamp
int64_t nTime
UNIX timestamp of last known number of transactions.
int64_t nTxCount
total number of transactions between genesis and that timestamp
Parameters that influence chain consensus.
std::optional< V > FindFirst(const std::vector< V > &vec, const L fnc)