Skip to content

Commit 19061a8

Browse files
authored
redo
1 parent e3d1650 commit 19061a8

File tree

1 file changed

+22
-103
lines changed

1 file changed

+22
-103
lines changed

src/chainparams.cpp

+22-103
Original file line numberDiff line numberDiff line change
@@ -20,57 +20,9 @@ struct SeedSpec6 {
2020
uint16_t port;
2121
};
2222

23-
24-
25-
static CBlock CreateGenesisBlock(const char* pszTimestamp, const CScript& genesisOutputScript, uint32_t nTime, uint32_t nNonce, uint32_t nBits, int32_t nVersion, const CAmount& genesisReward)
26-
{
27-
CMutableTransaction txNew;
28-
txNew.nVersion = 1;
29-
txNew.vin.resize(1);
30-
txNew.vout.resize(1);
31-
txNew.vin[0].scriptSig = CScript() << 486604799 << CScriptNum(4) << std::vector<unsigned char>((const unsigned char*)pszTimestamp, (const unsigned char*)pszTimestamp + strlen(pszTimestamp));
32-
txNew.vout[0].nValue = genesisReward;
33-
txNew.vout[0].scriptPubKey = genesisOutputScript;
34-
35-
CBlock genesis;
36-
genesis.nTime = nTime;
37-
genesis.nBits = nBits;
38-
genesis.nNonce = nNonce;
39-
genesis.nVersion = nVersion;
40-
genesis.vtx.push_back(MakeTransactionRef(std::move(txNew)));
41-
genesis.hashPrevBlock.SetNull();
42-
genesis.hashMerkleRoot = BlockMerkleRoot(genesis);
43-
return genesis;
44-
}
45-
46-
/**
47-
* Build the genesis block. Note that the output of its generation
48-
* transaction cannot be spent since it did not originally exist in the
49-
* database.
50-
*
51-
* CBlock(hash=12630d16a9, ver=1, hashPrevBlock=0000000000000000000000000000000000000000000000000000000000000000, hashMerkleRoot=12630d16a9, nTime=1426450258, nBits=1e0fffff, nNonce=1312314, vtx=1, vchBlockSig=)
52-
* CTransaction(hash=12630d16a9, nTime=1426450258, ver=1, vin.size=1, vout.size=1, nLockTime=0)
53-
* CTxIn(COutPoint(0000000000, 4294967295), coinbase 00012a24323020466562203230313420426974636f696e2041544d7320636f6d6520746f20555341)
54-
* CTxOut(empty)
55-
* vMerkleTree: 12630d16a9
56-
*/
57-
static CBlock CreateGenesisBlock(uint32_t nTime, uint32_t nNonce, uint nBits, int nVersion, const CAmount& genesisReward)
58-
{
59-
const char* pszTimestamp = "plz time stamp. stahp";
60-
const CScript genesisOutputScript = CScript() << ParseHex("0x0") << OP_CHECKSIG;
61-
return CreateGenesisBlock(pszTimestamp, genesisOutputScript, nTime, nNonce, nBits, nVersion, genesisReward);
62-
}
63-
64-
/**
65-
* Main network
66-
*/
67-
/**
68-
* What makes a good checkpoint block?
69-
* + Is surrounded by blocks with reasonable timestamps
70-
* (no blocks before with a timestamp after, none after with
71-
* timestamp before)
72-
* + Contains no strange transactions
73-
*/
23+
//
24+
// Main network
25+
//
7426

7527
// Convert the pnSeeds6 array into usable address objects.
7628
static void convertSeed6(std::vector<CAddress> &vSeedsOut, const SeedSpec6 *data, unsigned int count)
@@ -93,53 +45,18 @@ static void convertSeed6(std::vector<CAddress> &vSeedsOut, const SeedSpec6 *data
9345
class CMainParams : public CChainParams {
9446
public:
9547
CMainParams() {
96-
// Blocks 0 - 144999 are conventional difficulty calculation
97-
nMajorityEnforceBlockUpgrade = 750;
98-
nMajorityRejectBlockOutdated = 950;
99-
nMajorityWindow = 1000;
100-
BIP34Height = 99324612;
101-
BIP34Hash = uint256("0x4bd3308d384e80094e4659f9a3245e6f444688edbec0ad88b9a5dfd4be87454e");
102-
BIP65Height = 99324613; //
103-
BIP66Height = 99324613; // 80d1364201e5df97e696c03bdd24dc885e8617b9de51e453c10a4f629b1e797a - this is the last block that could be v2, 1900 blocks past the last v2 block
104-
powLimit = CBigNum(~uint256(0) >> 20);
105-
fDigishieldDifficultyCalculation = false;
106-
fPowAllowMinDifficultyBlocks = false;
107-
fPowAllowDigishieldMinDifficultyBlocks = false;
108-
fPowNoRetargeting = false;
109-
nRuleChangeActivationThreshold = 750; // 95% of 10,080
110-
.nMinerConfirmationWindow = 1000; // 60 * 24 * 7 = 10,080 blocks, or one week
111-
vDeployments[DEPLOYMENT_TESTDUMMY].bit = 28;
112-
vDeployments[DEPLOYMENT_TESTDUMMY].nStartTime = 1199145601; // January 1, 2008
113-
vDeployments[DEPLOYMENT_TESTDUMMY].nTimeout = 1230767999; // December 31, 2008
114-
115-
// Deployment of BIP68, BIP112, and BIP113.
116-
// XXX: BIP heights and hashes all need to be updated to Nyancoin values
117-
vDeployments[Consensus::DEPLOYMENT_CSV].bit = 0;
118-
vDeployments[Consensus::DEPLOYMENT_CSV].nStartTime = 1612942090; //
119-
vDeployments[Consensus::DEPLOYMENT_CSV].nTimeout = 1613546890; //
120-
121-
// Deployment of SegWit (BIP141, BIP143, and BIP147)
122-
vDeployments[Consensus::DEPLOYMENT_SEGWIT].bit = 1;
123-
vDeployments[Consensus::DEPLOYMENT_SEGWIT].nStartTime = 1612942090; //
124-
vDeployments[Consensus::DEPLOYMENT_SEGWIT].nTimeout = 0; // Disabled
125-
126-
// The best chain should have at least this much work.
127-
nMinimumChainWork = uint256("0x00000000000000000000000000000000000000000000000000fd6e84dd5364d4"); // Block 11461900
128-
129-
// By default assume that the signatures in ancestors of this block are valid.
130-
defaultAssumeValid = uint256("0xb477d9bc0721a1b96547495404583d68123f471fdd1d4058a9adff2fa7452298"); // Block 11461900
131-
13248
// The message start string is designed to be unlikely to occur in normal data.
13349
// The characters are rarely used upper ASCII, not valid as UTF-8, and produce
13450
// a large 4-byte int at any alignment.
13551
pchMessageStart[0] = 0x65;
13652
pchMessageStart[1] = 0x44;
13753
pchMessageStart[2] = 0x15;
13854
pchMessageStart[3] = 0x06;
55+
vAlertPubKey = ParseHex("0447626947b30cd4d1bcf0573e51789e75c412ff7b304a5f106713ce50b6a99f047e1f924209836130933712edd86dda3454821060d591778d93b077fc4e11aa52");
13956
nDefaultPort = 17014;
14057
nRPCPort = 17015;
14158
bnProofOfWorkLimit = CBigNum(~uint256(0) >> 20);
142-
59+
14360
// Build the genesis block. Note that the output of the genesis coinbase cannot
14461
// be spent as it did not originally exist in the database.
14562
//
@@ -186,11 +103,11 @@ class CMainParams : public CChainParams {
186103
vSeeds.push_back(CDNSSeedData("lab-support-node0", "ldoge.nerdlabs001.com"));
187104
vSeeds.push_back(CDNSSeedData("lab-support-node1", "ldoge.nerdlabs001.com"));
188105

189-
base58Prefixes[PUBKEY_ADDRESS] = std::vector<unsigned char>(1,90);
190-
base58Prefixes[SCRIPT_ADDRESS] = std::vector<unsigned char>(1,8);
191-
base58Prefixes[SECRET_KEY] = std::vector<unsigned char>(1,171);
192-
base58Prefixes[EXT_PUBLIC_KEY] = boost::assign::list_of(0x04)(0x88)(0xB2)(0x1E).convert_to_container<std::vector<unsigned char> >();
193-
base58Prefixes[EXT_SECRET_KEY] = boost::assign::list_of(0x04)(0x88)(0xAD)(0xE4).convert_to_container<std::vector<unsigned char> >();
106+
base58Prefixes[PUBKEY_ADDRESS] = list_of(90);
107+
base58Prefixes[SCRIPT_ADDRESS] = list_of(8);
108+
base58Prefixes[SECRET_KEY] = list_of(171);
109+
base58Prefixes[EXT_PUBLIC_KEY] = list_of(0x04)(0x88)(0xB2)(0x1E);
110+
base58Prefixes[EXT_SECRET_KEY] = list_of(0x04)(0x88)(0xAD)(0xE4);
194111

195112
convertSeed6(vFixedSeeds, pnSeed6, ARRAYLEN(pnSeed6));
196113
}
@@ -245,12 +162,14 @@ class CTestNetParams : public CMainParams {
245162
vSeeds.push_back(CDNSSeedData("lab-support-node0", "ldoge.nerdlabs001.com"));
246163
vSeeds.push_back(CDNSSeedData("lab-support-node1", "ldoge.nerdlabs001.com"));
247164

248-
base58Prefixes[PUBKEY_ADDRESS] = std::vector<unsigned char>(1,90);
249-
base58Prefixes[SCRIPT_ADDRESS] = std::vector<unsigned char>(1,8);
250-
base58Prefixes[SECRET_KEY] = std::vector<unsigned char>(1,171);
251-
base58Prefixes[EXT_PUBLIC_KEY] = boost::assign::list_of(0x04)(0x88)(0xB2)(0x1E).convert_to_container<std::vector<unsigned char> >();
252-
base58Prefixes[EXT_SECRET_KEY] = boost::assign::list_of(0x04)(0x88)(0xAD)(0xE4).convert_to_container<std::vector<unsigned char> >();
253-
165+
base58Prefixes[PUBKEY_ADDRESS] = list_of(111);
166+
base58Prefixes[SCRIPT_ADDRESS] = list_of(196);
167+
base58Prefixes[SECRET_KEY] = list_of(239);
168+
base58Prefixes[EXT_PUBLIC_KEY] = list_of(0x04)(0x35)(0x87)(0xCF);
169+
base58Prefixes[EXT_SECRET_KEY] = list_of(0x04)(0x35)(0x83)(0x94);
170+
171+
convertSeed6(vFixedSeeds, pnSeed6_test, ARRAYLEN(pnSeed6_test));
172+
254173

255174
}
256175
virtual Network NetworkID() const { return CChainParams::TESTNET; }
@@ -268,10 +187,10 @@ class CRegTestParams : public CTestNetParams {
268187
pchMessageStart[1] = 0xa9;
269188
pchMessageStart[2] = 0xb7;
270189
pchMessageStart[3] = 0xca;
271-
bnProofOfWorkLimit = CBigNum(~uint256(0) >> 1);
272-
genesis.nTime = 1426450258;
273-
genesis.nBits = bnProofOfWorkLimit.GetCompact();
274-
genesis.nNonce = 1;
190+
bnProofOfWorkLimit = CBigNum(~uint256(0) >> 20);
191+
genesis.nTime = 1426450258;
192+
genesis.nBits = bnProofOfWorkLimit.GetCompact();
193+
genesis.nNonce = 925125;
275194
hashGenesisBlock = genesis.GetHash();
276195
nDefaultPort = 18445;
277196
nRPCPort = 18446;

0 commit comments

Comments
 (0)