Page MenuHomePhabricator

chainparamsbase.cpp
No OneTemporary

chainparamsbase.cpp

// Copyright (c) 2010 Satoshi Nakamoto
// Copyright (c) 2009-2015 The Bitcoin Core developers
// Distributed under the MIT software license, see the accompanying
// file COPYING or http://www.opensource.org/licenses/mit-license.php.
#include <chainparamsbase.h>
#include <tinyformat.h>
#include <util.h>
#include <cassert>
const std::string CBaseChainParams::MAIN = "main";
const std::string CBaseChainParams::TESTNET = "test";
const std::string CBaseChainParams::REGTEST = "regtest";
void SetupChainParamsBaseOptions() {
gArgs.AddArg("-regtest",
"Enter regression test mode, which uses a special chain in "
"which blocks can be solved instantly. This is intended for "
"regression testing tools and app development.",
true, OptionsCategory::CHAINPARAMS);
gArgs.AddArg("-testnet", _("Use the test chain"), false,
OptionsCategory::CHAINPARAMS);
}
/**
* Main network
*/
class CBaseMainParams : public CBaseChainParams {
public:
CBaseMainParams() { nRPCPort = 8332; }
};
/**
* Testnet (v3)
*/
class CBaseTestNetParams : public CBaseChainParams {
public:
CBaseTestNetParams() {
nRPCPort = 18332;
strDataDir = "testnet3";
}
};
/*
* Regression test
*/
class CBaseRegTestParams : public CBaseChainParams {
public:
CBaseRegTestParams() {
nRPCPort = 18332;
strDataDir = "regtest";
}
};
static std::unique_ptr<CBaseChainParams> globalChainBaseParams;
const CBaseChainParams &BaseParams() {
assert(globalChainBaseParams);
return *globalChainBaseParams;
}
std::unique_ptr<CBaseChainParams>
CreateBaseChainParams(const std::string &chain) {
if (chain == CBaseChainParams::MAIN)
return std::unique_ptr<CBaseChainParams>(new CBaseMainParams());
else if (chain == CBaseChainParams::TESTNET)
return std::unique_ptr<CBaseChainParams>(new CBaseTestNetParams());
else if (chain == CBaseChainParams::REGTEST)
return std::unique_ptr<CBaseChainParams>(new CBaseRegTestParams());
else
throw std::runtime_error(
strprintf("%s: Unknown chain %s.", __func__, chain));
}
void SelectBaseParams(const std::string &chain) {
globalChainBaseParams = CreateBaseChainParams(chain);
gArgs.SelectConfigNetwork(chain);
}

File Metadata

Mime Type
text/x-c++
Expires
Sat, Nov 23, 10:03 (1 d, 21 h)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
4518404
Default Alt Text
chainparamsbase.cpp (2 KB)

Event Timeline