PRCYCoin  2.0.0.7rc1
P2P Digital Currency
chainparamsbase.cpp
Go to the documentation of this file.
1 // Copyright (c) 2010 Satoshi Nakamoto
2 // Copyright (c) 2009-2014 The Bitcoin developers
3 // Distributed under the MIT software license, see the accompanying
4 // file COPYING or http://www.opensource.org/licenses/mit-license.php.
5 
6 #include "chainparamsbase.h"
7 
8 #include "util.h"
9 
10 #include <assert.h>
11 
12 #include <boost/assign/list_of.hpp>
13 
14 
19 {
20 public:
22  {
24  nRPCPort = 59683;
25  }
26 };
27 static CBaseMainParams mainParams;
28 
33 {
34 public:
36  {
38  nRPCPort = 59685;
39  strDataDir = "testnet4";
40  }
41 };
42 static CBaseTestNetParams testNetParams;
43 
44 /*
45  * Regression test
46  */
48 {
49 public:
51  {
53  strDataDir = "regtest";
54  }
55 };
56 static CBaseRegTestParams regTestParams;
57 
58 static CBaseChainParams* pCurrentBaseParams = 0;
59 
61 {
62  assert(pCurrentBaseParams);
63  return *pCurrentBaseParams;
64 }
65 
67 {
68  switch (network) {
70  pCurrentBaseParams = &mainParams;
71  break;
73  pCurrentBaseParams = &testNetParams;
74  break;
76  pCurrentBaseParams = &regTestParams;
77  break;
78  default:
79  assert(false && "Unimplemented network");
80  return;
81  }
82 }
83 
85 {
86  bool fRegTest = GetBoolArg("-regtest", false);
87  bool fTestNet = GetBoolArg("-testnet", false);
88 
89  if (fTestNet && fRegTest)
91  if (fRegTest)
93  if (fTestNet)
96 }
97 
99 {
102  return false;
103 
104  SelectBaseParams(network);
105  return true;
106 }
107 
109 {
110  return pCurrentBaseParams != NULL;
111 }
CBaseTestNetParams::CBaseTestNetParams
CBaseTestNetParams()
Definition: chainparamsbase.cpp:35
CBaseChainParams::Network
Network
Definition: chainparamsbase.h:18
SelectBaseParamsFromCommandLine
bool SelectBaseParamsFromCommandLine()
Calls NetworkIdFromCommandLine() and then calls SelectParams as appropriate.
Definition: chainparamsbase.cpp:98
chainparamsbase.h
NetworkIdFromCommandLine
CBaseChainParams::Network NetworkIdFromCommandLine()
Looks for -regtest or -testnet and returns the appropriate Network ID.
Definition: chainparamsbase.cpp:84
CBaseTestNetParams
Testnet (v3)
Definition: chainparamsbase.cpp:32
CBaseRegTestParams::CBaseRegTestParams
CBaseRegTestParams()
Definition: chainparamsbase.cpp:50
CBaseChainParams::strDataDir
std::string strDataDir
Definition: chainparamsbase.h:33
CBaseChainParams::MAX_NETWORK_TYPES
@ MAX_NETWORK_TYPES
Definition: chainparamsbase.h:23
CBaseMainParams::CBaseMainParams
CBaseMainParams()
Definition: chainparamsbase.cpp:21
CBaseChainParams
CBaseChainParams defines the base parameters (shared between prcycoin-cli and prcycoind) of a given i...
Definition: chainparamsbase.h:15
GetBoolArg
bool GetBoolArg(const std::string &strArg, bool fDefault)
Return boolean argument or default value.
Definition: util.cpp:255
CBaseChainParams::MAIN
@ MAIN
Definition: chainparamsbase.h:19
CBaseChainParams::TESTNET
@ TESTNET
Definition: chainparamsbase.h:20
CBaseChainParams::networkID
Network networkID
Definition: chainparamsbase.h:34
SelectBaseParams
void SelectBaseParams(CBaseChainParams::Network network)
Sets the params returned by Params() to those for the given network.
Definition: chainparamsbase.cpp:66
BaseParams
const CBaseChainParams & BaseParams()
Return the currently selected parameters.
Definition: chainparamsbase.cpp:60
CBaseChainParams::REGTEST
@ REGTEST
Definition: chainparamsbase.h:21
fTestNet
bool fTestNet
Definition: kernel.cpp:18
CBaseChainParams::nRPCPort
int nRPCPort
Definition: chainparamsbase.h:32
util.h
CBaseMainParams
Main network.
Definition: chainparamsbase.cpp:18
AreBaseParamsConfigured
bool AreBaseParamsConfigured()
Return true if SelectBaseParamsFromCommandLine() has been called to select a network.
Definition: chainparamsbase.cpp:108
CBaseRegTestParams
Definition: chainparamsbase.cpp:47