From ecd0a7f2fb278551d820a021fbb051df31e159d6 Mon Sep 17 00:00:00 2001 From: Sunny King Date: Tue, 12 Jun 2012 23:45:21 +0100 Subject: [PATCH] PPCoin: Remove coinbase output in genesis block --- src/main.cpp | 13 ++++++------- src/ppcoin/genesis.cpp | 15 +++++++++------ 2 files changed, 15 insertions(+), 13 deletions(-) diff --git a/src/main.cpp b/src/main.cpp index 3552d4e..a258284 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -30,7 +30,7 @@ map mapNextTx; map mapBlockIndex; set > setStakeSeen; -uint256 hashGenesisBlock("0x000000006d52486334316794cc38ffeb7ebf35a7ebd661fd39f5f46b0d001575"); +uint256 hashGenesisBlock("0x000000007c82d1f0aa2896b01bf533a8cc26a1f44790be4ceb4ecde7bee24add"); static CBigNum bnProofOfWorkLimit(~uint256(0) >> 32); const int nInitialBlockThreshold = 120; // Regard blocks up until N-threshold as "initial download" CBlockIndex* pindexGenesisBlock = NULL; @@ -1802,20 +1802,19 @@ bool LoadBlockIndex(bool fAllowNew) // Genesis block const char* pszTimestamp = "MarketWatch 07/Nov/2011 Gold tops $1,790 to end at over six-week high"; CTransaction txNew; - txNew.nTime = 1325878371; + txNew.nTime = 1339538219; txNew.vin.resize(1); txNew.vout.resize(1); txNew.vin[0].scriptSig = CScript() << 486604799 << CBigNum(4) << vector((const unsigned char*)pszTimestamp, (const unsigned char*)pszTimestamp + strlen(pszTimestamp)); - txNew.vout[0].nValue = GetProofOfWorkReward(bnProofOfWorkLimit.GetCompact()); - txNew.vout[0].scriptPubKey = CScript() << ParseHex("04678afdb0fe5548271967f1a67130b7105cd6a828e03909a67962e0ea1f61deb649f6bc3f4cef38c4f35504e51ec112de5c384df7ba0b8d578a4c702b6bf11d5f") << OP_CHECKSIG; + txNew.vout[0].SetEmpty(); CBlock block; block.vtx.push_back(txNew); block.hashPrevBlock = 0; block.hashMerkleRoot = block.BuildMerkleTree(); block.nVersion = 1; - block.nTime = 1325882536; + block.nTime = 1339540307; block.nBits = bnProofOfWorkLimit.GetCompact(); - block.nNonce = 2081920190; + block.nNonce = 1281822831; if (fTestNet) { @@ -1828,7 +1827,7 @@ bool LoadBlockIndex(bool fAllowNew) printf("%s\n", block.GetHash().ToString().c_str()); printf("%s\n", hashGenesisBlock.ToString().c_str()); printf("%s\n", block.hashMerkleRoot.ToString().c_str()); - assert(block.hashMerkleRoot == uint256("0xc7311b56de266580cca65be108ae53d7100b5c3b17da8b1106044103abd7a521")); + assert(block.hashMerkleRoot == uint256("0x1557f46a17fcf8843dbe4c0c0edfd1d17eeff2c3c48d73a59d11f5d176e4b54d")); block.print(); assert(block.GetHash() == hashGenesisBlock); assert(block.CheckBlock()); diff --git a/src/ppcoin/genesis.cpp b/src/ppcoin/genesis.cpp index e87157a..9609161 100644 --- a/src/ppcoin/genesis.cpp +++ b/src/ppcoin/genesis.cpp @@ -22,8 +22,7 @@ int main(int argc, char *argv[]) txNew.vin.resize(1); txNew.vout.resize(1); txNew.vin[0].scriptSig = CScript() << 486604799 << CBigNum(4) << vector((const unsigned char*)pszTimestamp, (const unsigned char*)pszTimestamp + strlen(pszTimestamp)); - txNew.vout[0].nValue = 9999 * COIN; - txNew.vout[0].scriptPubKey = CScript() << ParseHex("04678afdb0fe5548271967f1a67130b7105cd6a828e03909a67962e0ea1f61deb649f6bc3f4cef38c4f35504e51ec112de5c384df7ba0b8d578a4c702b6bf11d5f") << OP_CHECKSIG; + txNew.vout[0].SetEmpty(); CBlock block; block.vtx.push_back(txNew); block.hashPrevBlock = 0; @@ -38,10 +37,14 @@ int main(int argc, char *argv[]) while (block.GetHash() > bnTarget.getuint256()) { - if (block.nNonce % 1048576 == 0) - printf("n=%dM hash=%s\n", block.nNonce / 1048576, + if ((block.nNonce >> 20) << 20 == block.nNonce) + { + if (block.vtx[0].nTime + 7200 < GetAdjustedTime() + 60) + block.vtx[0].nTime = GetAdjustedTime(); + block.nTime = GetAdjustedTime(); + printf("n=%dM hash=%s\n", block.nNonce >> 20, block.GetHash().ToString().c_str()); - block.nTime = GetAdjustedTime(); + } block.nNonce++; } @@ -51,4 +54,4 @@ int main(int argc, char *argv[]) block.print(); printf("PPCoin End Genesis Block\n"); -} +} -- 1.7.1