Changeset View
Changeset View
Standalone View
Standalone View
src/chainparamsbase.cpp
Show All 32 Lines | |||||
static std::unique_ptr<CBaseChainParams> globalChainBaseParams; | static std::unique_ptr<CBaseChainParams> globalChainBaseParams; | ||||
const CBaseChainParams &BaseParams() { | const CBaseChainParams &BaseParams() { | ||||
assert(globalChainBaseParams); | assert(globalChainBaseParams); | ||||
return *globalChainBaseParams; | return *globalChainBaseParams; | ||||
} | } | ||||
/** | |||||
* Port numbers for incoming Tor connections (8334, 18334, 38334, 18445) have | |||||
* been chosen arbitrarily to keep ranges of used ports tight. | |||||
*/ | |||||
std::unique_ptr<CBaseChainParams> | std::unique_ptr<CBaseChainParams> | ||||
CreateBaseChainParams(const std::string &chain) { | CreateBaseChainParams(const std::string &chain) { | ||||
if (chain == CBaseChainParams::MAIN) { | if (chain == CBaseChainParams::MAIN) { | ||||
return std::make_unique<CBaseChainParams>("", 8332); | return std::make_unique<CBaseChainParams>("", 8332, 8334); | ||||
} | } | ||||
if (chain == CBaseChainParams::TESTNET) { | if (chain == CBaseChainParams::TESTNET) { | ||||
return std::make_unique<CBaseChainParams>("testnet3", 18332); | return std::make_unique<CBaseChainParams>("testnet3", 18332, 18334); | ||||
} | } | ||||
if (chain == CBaseChainParams::REGTEST) { | if (chain == CBaseChainParams::REGTEST) { | ||||
return std::make_unique<CBaseChainParams>("regtest", 18443); | return std::make_unique<CBaseChainParams>("regtest", 18443, 18445); | ||||
} | } | ||||
throw std::runtime_error( | throw std::runtime_error( | ||||
strprintf("%s: Unknown chain %s.", __func__, chain)); | strprintf("%s: Unknown chain %s.", __func__, chain)); | ||||
} | } | ||||
void SelectBaseParams(const std::string &chain) { | void SelectBaseParams(const std::string &chain) { | ||||
globalChainBaseParams = CreateBaseChainParams(chain); | globalChainBaseParams = CreateBaseChainParams(chain); | ||||
gArgs.SelectConfigNetwork(chain); | gArgs.SelectConfigNetwork(chain); | ||||
} | } |