6#ifndef BITCOIN_KERNEL_CHAINPARAMS_H
7#define BITCOIN_KERNEL_CHAINPARAMS_H
23#include <unordered_map>
34 return final_checkpoint->first ;
139 std::optional<std::vector<std::string>>
seeds{};
161 static std::unique_ptr<const CChainParams>
RegTest(
const RegTestOptions& options);
162 static std::unique_ptr<const CChainParams>
SigNet(
const SigNetOptions& options);
163 static std::unique_ptr<const CChainParams>
Main();
164 static std::unique_ptr<const CChainParams>
TestNet();
165 static std::unique_ptr<const CChainParams>
TestNet4();
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.
const MessageStartChars & MessageStart() const
uint64_t m_assumed_chain_state_size
MessageStartChars pchMessageStart
static std::unique_ptr< const CChainParams > Main()
const CBlock & GenesisBlock() const
bool DefaultConsistencyChecks() const
Default value for -checkmempool and -checkblockindex argument.
std::vector< int > GetAvailableSnapshotHeights() const
static std::unique_ptr< const CChainParams > RegTest(const RegTestOptions &options)
const std::vector< unsigned char > & Base58Prefix(Base58Type type) const
uint64_t m_assumed_blockchain_size
std::vector< uint8_t > vFixedSeeds
bool IsMockableChain() const
If this chain allows time to be mocked.
bool fDefaultConsistencyChecks
const ChainTxData & TxData() const
static std::unique_ptr< const CChainParams > TestNet()
const Consensus::Params & GetConsensus() const
std::vector< unsigned char > base58Prefixes[MAX_BASE58_TYPES]
bool IsTestChain() const
If this chain is exclusively used for testing.
bool MineBlocksOnDemand() const
Whether it is possible to mine blocks on demand (no retargeting)
Consensus::Params consensus
uint16_t GetDefaultPort() const
std::vector< AssumeutxoData > m_assumeutxo_data
uint64_t AssumedBlockchainSize() const
Minimum free space (in GB) needed for data directory.
const std::string & Bech32HRP() const
std::vector< std::string > vSeeds
static std::unique_ptr< const CChainParams > TestNet4()
std::optional< AssumeutxoData > AssumeutxoForBlockhash(const uint256 &blockhash) 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
std::optional< AssumeutxoData > AssumeutxoForHeight(int height) const
ChainType GetChainType() const
Return the chain type.
const CCheckpointData & Checkpoints() const
static std::unique_ptr< const CChainParams > SigNet(const SigNetOptions &options)
const std::vector< std::string > & DNSSeeds() const
Return the list of hostnames to look up for DNS seeds.
uint64_t nPruneAfterHeight
const std::vector< uint8_t > & FixedSeeds() const
std::map< int, uint256 > MapCheckpoints
std::optional< ChainType > GetNetworkForMagic(const MessageStartChars &pchMessageStart)
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.
uint64_t m_chain_tx_count
Used to populate the m_chain_tx_count 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.
uint64_t tx_count
total number of transactions between genesis and that timestamp
double dTxRate
estimated number of transactions per second after that timestamp
int64_t nTime
UNIX timestamp of last known number of transactions.
Parameters that influence chain consensus.
std::optional< V > FindFirst(const std::vector< V > &vec, const L fnc)