Bitcoin Core  28.1.0
P2P Digital Currency
chainparamsbase.h
Go to the documentation of this file.
1 // Copyright (c) 2014-2020 The Bitcoin Core developers
2 // Distributed under the MIT software license, see the accompanying
3 // file COPYING or http://www.opensource.org/licenses/mit-license.php.
4 
5 #ifndef BITCOIN_CHAINPARAMSBASE_H
6 #define BITCOIN_CHAINPARAMSBASE_H
7 
8 #include <util/chaintype.h>
9 
10 #include <cstdint>
11 #include <memory>
12 #include <string>
13 
14 class ArgsManager;
15 
21 {
22 public:
23  const std::string& DataDir() const { return strDataDir; }
24  uint16_t RPCPort() const { return m_rpc_port; }
25 
26  CBaseChainParams() = delete;
27  CBaseChainParams(const std::string& data_dir, uint16_t rpc_port)
28  : m_rpc_port(rpc_port), strDataDir(data_dir) {}
29 
30 private:
31  const uint16_t m_rpc_port;
32  std::string strDataDir;
33 };
34 
38 std::unique_ptr<CBaseChainParams> CreateBaseChainParams(const ChainType chain);
39 
44 
50 
52 void SelectBaseParams(const ChainType chain);
53 
55 #define LIST_CHAIN_NAMES "main, test, testnet4, signet, regtest"
56 
57 #endif // BITCOIN_CHAINPARAMSBASE_H
std::unique_ptr< CBaseChainParams > CreateBaseChainParams(const ChainType chain)
Creates and returns a std::unique_ptr<CBaseChainParams> of the chosen chain.
std::string strDataDir
CBaseChainParams(const std::string &data_dir, uint16_t rpc_port)
const uint16_t m_rpc_port
void SelectBaseParams(const ChainType chain)
Sets the params returned by Params() to those for the given chain.
CBaseChainParams()=delete
const std::string & DataDir() const
uint16_t RPCPort() const
ChainType
Definition: chaintype.h:11
const CBaseChainParams & BaseParams()
Return the currently selected parameters.
CBaseChainParams defines the base parameters (shared between bitcoin-cli and bitcoind) of a given ins...
void SetupChainParamsBaseOptions(ArgsManager &argsman)
Set the arguments for chainparams.