Skip to content

Commit 01356fa

Browse files
Merge pull request #112 from duality-solutions/genesis
Genesis & Seeds
2 parents daf2864 + e219418 commit 01356fa

2 files changed

Lines changed: 29 additions & 24 deletions

File tree

src/chainparams.cpp

Lines changed: 23 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,7 @@ static void MineGenesis(CBlockHeader& genesisBlock, const uint256& powLimit, boo
9999
*/
100100
static CBlock CreateGenesisBlock(uint32_t nTime, uint32_t nNonce, uint32_t nBits, int32_t nVersion, const CAmount& genesisReward)
101101
{
102-
const char* pszTimestamp = "Sunday 10th Dec 2017: Phase 2 Testing";
102+
const char* pszTimestamp = "NY Times Monday 18th Dec 2017: Google Thinks I’m Dead";
103103
const CScript genesisOutputScript = CScript() << ParseHex("") << OP_CHECKSIG;
104104
return CreateGenesisBlock(pszTimestamp, genesisOutputScript, nTime, nNonce, nBits, nVersion, genesisReward);
105105
}
@@ -112,9 +112,9 @@ class CMainParams : public CChainParams {
112112
public:
113113
CMainParams() {
114114
strNetworkID = "main";
115-
consensus.nRewardsStart = 10; // PoW Rewards begin on block 5137 // TODO: (Amir) Change back to 5137
116-
consensus.nDynodePaymentsStartBlock = 10; // Dynode Payments begin on block 10273
117-
consensus.nMinCountDynodesPaymentStart = 1; // Dynode Payments begin once 500 Dynodes exist or more.
115+
consensus.nRewardsStart = 5137; // PoW Rewards begin on block 5137
116+
consensus.nDynodePaymentsStartBlock = 10273; // Dynode Payments begin on block 10273
117+
consensus.nMinCountDynodesPaymentStart = 500; // Dynode Payments begin once 500 Dynodes exist or more.
118118
consensus.nInstantSendKeepLock = 24;
119119
consensus.nBudgetPaymentsStartBlock = 2055; // actual historical value
120120
consensus.nBudgetPaymentsCycleBlocks = 20545; //Blocks per month
@@ -129,7 +129,6 @@ class CMainParams : public CChainParams {
129129
consensus.nMajorityRejectBlockOutdated = 950;
130130
consensus.nMajorityWindow = 1000;
131131
consensus.powLimit = uint256S("00000fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");
132-
133132
consensus.nPowTargetTimespan = 30 * 64; // Dynamic: 1920 seconds
134133
consensus.nPowTargetSpacing = DEFAULT_AVERAGE_POW_BLOCK_TIME;
135134
consensus.nUpdateDiffAlgoHeight = 10; // Dynamic: Algorithm fork block
@@ -147,8 +146,8 @@ class CMainParams : public CChainParams {
147146

148147
// Deployment of BIP68, BIP112, and BIP113.
149148
consensus.vDeployments[Consensus::DEPLOYMENT_CSV].bit = 0;
150-
consensus.vDeployments[Consensus::DEPLOYMENT_CSV].nStartTime = 1512900600; // Dec 10th 2017 10:10:00
151-
consensus.vDeployments[Consensus::DEPLOYMENT_CSV].nTimeout = 1544443200; // Dec 10th 2018 12:00:00
149+
consensus.vDeployments[Consensus::DEPLOYMENT_CSV].nStartTime = 1513591800; // Dec 18th 2017 10:10:00
150+
consensus.vDeployments[Consensus::DEPLOYMENT_CSV].nTimeout = 1545134400; // Dec 18th 2018 12:00:00
152151

153152
/**
154153
* The message start string is designed to be unlikely to occur in normal data.
@@ -166,14 +165,14 @@ class CMainParams : public CChainParams {
166165
nPruneAfterHeight = 20545;
167166
startNewChain = false;
168167

169-
genesis = CreateGenesisBlock(1512927456, 189357, UintToArith256(consensus.powLimit).GetCompact(), 1, (1 * COIN));
168+
genesis = CreateGenesisBlock(1513619300, 626614, UintToArith256(consensus.powLimit).GetCompact(), 1, (1 * COIN));
170169
if(startNewChain == true) { MineGenesis(genesis, consensus.powLimit, true); }
171170

172171
consensus.hashGenesisBlock = genesis.GetHash();
173172

174173
if(!startNewChain) {
175-
assert(consensus.hashGenesisBlock == uint256S("0x0000047d98c8a65e6f558d1f6d38416fc844f6954ac6ffbd064ee73d34efb8b4"));
176-
assert(genesis.hashMerkleRoot == uint256S("0x3e924e261a371e799520120a67c24209fa087c78506f046ef61f1527b08d451b"));
174+
assert(consensus.hashGenesisBlock == uint256S("0x00000e140b0c3028f898431890e9dea79ae6ca537ac9362c65b45325db712de2"));
175+
assert(genesis.hashMerkleRoot == uint256S("0xfa0e753db5a853ebbc52594eb62fa8219155547b426fba8789fa96dbf07e6ed5"));
177176
}
178177

179178
vSeeds.push_back(CDNSSeedData("dnsseeder.io", "dyn2.dnsseeder.io"));
@@ -208,8 +207,8 @@ class CMainParams : public CChainParams {
208207

209208
checkpointData = (CCheckpointData) {
210209
boost::assign::map_list_of
211-
( 0, uint256S("0x0000047d98c8a65e6f558d1f6d38416fc844f6954ac6ffbd064ee73d34efb8b4")),
212-
1512927456, // * UNIX timestamp of last checkpoint block
210+
( 0, uint256S("0x00000e140b0c3028f898431890e9dea79ae6ca537ac9362c65b45325db712de2")),
211+
1513619300, // * UNIX timestamp of last checkpoint block
213212
0, // * total number of transactions between genesis and last checkpoint
214213
// (the tx=... number in the SetBestChain debug.log lines)
215214
2000 // * estimated number of transactions per day after checkpoint
@@ -260,8 +259,8 @@ class CTestNetParams : public CChainParams {
260259

261260
// Deployment of BIP68, BIP112, and BIP113.
262261
consensus.vDeployments[Consensus::DEPLOYMENT_CSV].bit = 0;
263-
consensus.vDeployments[Consensus::DEPLOYMENT_CSV].nStartTime = 1512900600; // Dec 10th 2017 10:10:00
264-
consensus.vDeployments[Consensus::DEPLOYMENT_CSV].nTimeout = 1544443200; // Dec 10th 2018 12:00:00
262+
consensus.vDeployments[Consensus::DEPLOYMENT_CSV].nStartTime = 1513591800; // Dec 18th 2017 10:10:00
263+
consensus.vDeployments[Consensus::DEPLOYMENT_CSV].nTimeout = 1545134400; // Dec 18th 2018 12:00:00
265264

266265
pchMessageStart[0] = 0x2f;
267266
pchMessageStart[1] = 0x32;
@@ -274,16 +273,16 @@ class CTestNetParams : public CChainParams {
274273
nPruneAfterHeight = 100;
275274
startNewChain = false;
276275

277-
genesis = CreateGenesisBlock(0, 0, UintToArith256(consensus.powLimit).GetCompact(), 1, (1 * COIN));
276+
genesis = CreateGenesisBlock(1513619864, 43629, UintToArith256(consensus.powLimit).GetCompact(), 1, (1 * COIN));
278277
if(startNewChain == true) {
279278
MineGenesis(genesis, consensus.powLimit, true);
280279
}
281280

282281
consensus.hashGenesisBlock = genesis.GetHash();
283282

284283
if(!startNewChain) {
285-
//assert(consensus.hashGenesisBlock == uint256S("0x"));
286-
//assert(genesis.hashMerkleRoot == uint256S("0x"));
284+
assert(consensus.hashGenesisBlock == uint256S("0x0000f2b9ae3231d031e6f5c1e3a5dc1eb936c9ffc61f36c52946ac10f4cf7dae"));
285+
assert(genesis.hashMerkleRoot == uint256S("0xfa0e753db5a853ebbc52594eb62fa8219155547b426fba8789fa96dbf07e6ed5"));
287286
}
288287
vFixedSeeds.clear();
289288
vSeeds.clear();
@@ -317,8 +316,8 @@ class CTestNetParams : public CChainParams {
317316

318317
checkpointData = (CCheckpointData) {
319318
boost::assign::map_list_of
320-
( 0, uint256S("0x")),
321-
0, // * UNIX timestamp of last checkpoint block
319+
( 0, uint256S("0x0000f2b9ae3231d031e6f5c1e3a5dc1eb936c9ffc61f36c52946ac10f4cf7dae")),
320+
1513619864, // * UNIX timestamp of last checkpoint block
322321
0, // * total number of transactions between genesis and last checkpoint
323322
// (the tx=... number in the SetBestChain debug.log lines)
324323
1000 // * estimated number of transactions per day after checkpoint
@@ -381,16 +380,16 @@ class CRegTestParams : public CChainParams {
381380
nPruneAfterHeight = 100;
382381
startNewChain = false;
383382

384-
genesis = CreateGenesisBlock(0, 0, UintToArith256(consensus.powLimit).GetCompact(), 1, (1 * COIN));
383+
genesis = CreateGenesisBlock(1513619951, 1754, UintToArith256(consensus.powLimit).GetCompact(), 1, (1 * COIN));
385384
if(startNewChain == true) {
386385
MineGenesis(genesis, consensus.powLimit, true);
387386
}
388387

389388
consensus.hashGenesisBlock = genesis.GetHash();
390389

391390
if(!startNewChain) {
392-
//assert(consensus.hashGenesisBlock == uint256S("0x"));
393-
//assert(genesis.hashMerkleRoot == uint256S("0x"));
391+
assert(consensus.hashGenesisBlock == uint256S("0x000ab751d858e116043e741d097311f2382e600c219483cfda8f25c7f369cc2c"));
392+
assert(genesis.hashMerkleRoot == uint256S("0xfa0e753db5a853ebbc52594eb62fa8219155547b426fba8789fa96dbf07e6ed5"));
394393
}
395394

396395
vFixedSeeds.clear(); //! Regtest mode doesn't have any fixed seeds.
@@ -407,8 +406,8 @@ class CRegTestParams : public CChainParams {
407406

408407
checkpointData = (CCheckpointData) {
409408
boost::assign::map_list_of
410-
( 0, uint256S("0x")),
411-
0, // * UNIX timestamp of last checkpoint block
409+
( 0, uint256S("0x000ab751d858e116043e741d097311f2382e600c219483cfda8f25c7f369cc2c")),
410+
1513619951, // * UNIX timestamp of last checkpoint block
412411
0, // * total number of transactions between genesis and last checkpoint
413412
// (the tx=... number in the SetBestChain debug.log lines)
414413
500 // * estimated number of transactions per day after checkpoint

src/chainparamsseeds.h

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,12 @@
1717

1818
// Dynamic Seeds
1919
static SeedSpec6 pnSeed6_main[] = {
20+
{{0x00,0x00,0x00,0x00,0xff,0xff,0x2d,0x4c,0xef,0x26}, 33300},
21+
{{0x00,0x00,0x00,0x00,0xff,0xff,0x2d,0x4d,0x56,0xf2}, 33300},
22+
{{0x00,0x00,0x00,0x00,0xff,0xff,0x2d,0x4d,0x45,0xef}, 33300},
23+
{{0x00,0x00,0x00,0x00,0xff,0xff,0x2d,0x20,0x5f,0xcc}, 33300},
24+
{{0x00,0x00,0x00,0x00,0xff,0xff,0x2d,0x4c,0x4c,0x47}, 33300},
25+
{{0x00,0x00,0x00,0x00,0xff,0xff,0x6c,0x3d,0xd8,0xd6}, 33300}
2026
};
2127

2228
static SeedSpec6 pnSeed6_test[] = {

0 commit comments

Comments
 (0)