Skip to content

Commit a1c4143

Browse files
committed
Create segnet
1 parent 0db375f commit a1c4143

File tree

3 files changed

+78
-2
lines changed

3 files changed

+78
-2
lines changed

src/chainparams.cpp

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -211,6 +211,59 @@ class CTestNetParams : public CChainParams {
211211
};
212212
static CTestNetParams testNetParams;
213213

214+
/**
215+
* Segnet
216+
*/
217+
class CSegNetParams : public CChainParams {
218+
public:
219+
CSegNetParams() {
220+
strNetworkID = "segnet";
221+
consensus.nSubsidyHalvingInterval = 210000;
222+
consensus.nMajorityEnforceBlockUpgrade = 7;
223+
consensus.nMajorityRejectBlockOutdated = 9;
224+
consensus.nMajorityWindow = 10;
225+
consensus.BIP34Height = -1;
226+
consensus.BIP34Hash = uint256();
227+
consensus.powLimit = uint256S("00000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffff");
228+
consensus.SegWitHeight = 0;
229+
consensus.nPowTargetTimespan = 14 * 24 * 60 * 60; // two weeks
230+
consensus.nPowTargetSpacing = 10 * 60;
231+
consensus.fPowAllowMinDifficultyBlocks = true;
232+
consensus.fPowNoRetargeting = false;
233+
pchMessageStart[0] = 0x55;
234+
pchMessageStart[1] = 0x61;
235+
pchMessageStart[2] = 0xe4;
236+
pchMessageStart[3] = 0x88;
237+
vAlertPubKey = ParseHex("04302390343f91cc401d56d68b123028bf52e5fca1939df127f63c6467cdf9c8e2c14b61104cf817d0b780da337893ecc4aaff1309e536162dabbdb45200ca2b0a");
238+
nDefaultPort = 28333;
239+
nMaxTipAge = 0x7fffffff;
240+
nPruneAfterHeight = 1000;
241+
242+
genesis = CreateGenesisBlock(1451529527, 414098458, 0x1d00ffff, 1, 50 * COIN);
243+
consensus.hashGenesisBlock = genesis.GetHash();
244+
245+
vFixedSeeds.clear();
246+
vSeeds.clear();
247+
248+
base58Prefixes[PUBKEY_ADDRESS] = std::vector<unsigned char>(1,30);
249+
base58Prefixes[SCRIPT_ADDRESS] = std::vector<unsigned char>(1,50);
250+
base58Prefixes[SECRET_KEY] = std::vector<unsigned char>(1,158);
251+
base58Prefixes[EXT_PUBLIC_KEY] = boost::assign::list_of(0x05)(0x35)(0x87)(0xCF).convert_to_container<std::vector<unsigned char> >();
252+
base58Prefixes[EXT_SECRET_KEY] = boost::assign::list_of(0x05)(0x35)(0x83)(0x94).convert_to_container<std::vector<unsigned char> >();
253+
254+
vFixedSeeds.clear();
255+
256+
fMiningRequiresPeers = true;
257+
fDefaultConsistencyChecks = false;
258+
fRequireStandard = false;
259+
fMineBlocksOnDemand = false;
260+
fTestnetToBeDeprecatedFieldRPC = true;
261+
262+
// checkpointData is empty
263+
}
264+
};
265+
static CSegNetParams segNetParams;
266+
214267
/**
215268
* Regression test
216269
*/
@@ -282,6 +335,8 @@ CChainParams& Params(const std::string& chain)
282335
return mainParams;
283336
else if (chain == CBaseChainParams::TESTNET)
284337
return testNetParams;
338+
else if (chain == CBaseChainParams::SEGNET)
339+
return segNetParams;
285340
else if (chain == CBaseChainParams::REGTEST)
286341
return regTestParams;
287342
else

src/chainparamsbase.cpp

Lines changed: 22 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
const std::string CBaseChainParams::MAIN = "main";
1414
const std::string CBaseChainParams::TESTNET = "test";
1515
const std::string CBaseChainParams::REGTEST = "regtest";
16+
const std::string CBaseChainParams::SEGNET = "segnet";
1617

1718
void AppendParamsHelpMessages(std::string& strUsage, bool debugHelp)
1819
{
@@ -51,6 +52,20 @@ class CBaseTestNetParams : public CBaseChainParams
5152
};
5253
static CBaseTestNetParams testNetParams;
5354

55+
/**
56+
* Segnet
57+
*/
58+
class CBaseSegNetParams : public CBaseChainParams
59+
{
60+
public:
61+
CBaseSegNetParams()
62+
{
63+
nRPCPort = 28332;
64+
strDataDir = "segnet";
65+
}
66+
};
67+
static CBaseSegNetParams segNetParams;
68+
5469
/*
5570
* Regression test
5671
*/
@@ -79,6 +94,8 @@ CBaseChainParams& BaseParams(const std::string& chain)
7994
return mainParams;
8095
else if (chain == CBaseChainParams::TESTNET)
8196
return testNetParams;
97+
else if (chain == CBaseChainParams::SEGNET)
98+
return segNetParams;
8299
else if (chain == CBaseChainParams::REGTEST)
83100
return regTestParams;
84101
else
@@ -94,13 +111,16 @@ std::string ChainNameFromCommandLine()
94111
{
95112
bool fRegTest = GetBoolArg("-regtest", false);
96113
bool fTestNet = GetBoolArg("-testnet", false);
114+
bool fSegNet = GetBoolArg("-segnet", false);
97115

98-
if (fTestNet && fRegTest)
99-
throw std::runtime_error("Invalid combination of -regtest and -testnet.");
116+
if ((int)fRegTest + (int)fTestNet + (int)fSegNet > 1)
117+
throw std::runtime_error("Invalid combination of -regtest, -testnet, -segnet.");
100118
if (fRegTest)
101119
return CBaseChainParams::REGTEST;
102120
if (fTestNet)
103121
return CBaseChainParams::TESTNET;
122+
if (fSegNet)
123+
return CBaseChainParams::SEGNET;
104124
return CBaseChainParams::MAIN;
105125
}
106126

src/chainparamsbase.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ class CBaseChainParams
1919
static const std::string MAIN;
2020
static const std::string TESTNET;
2121
static const std::string REGTEST;
22+
static const std::string SEGNET;
2223

2324
const std::string& DataDir() const { return strDataDir; }
2425
int RPCPort() const { return nRPCPort; }

0 commit comments

Comments
 (0)