From b572a18b13d573e4dabc861cc6fa0699b2d22c96 Mon Sep 17 00:00:00 2001 From: Sunny King Date: Thu, 16 Aug 2012 16:32:59 +0100 Subject: [PATCH] PPCoin: Official genesis blocks --- src/main.cpp | 17 ++++++++--------- src/main.h | 4 ++-- src/makefile.unix | 4 ++-- src/ppcoin/genesis.cpp | 23 +++++++++++++++-------- 4 files changed, 27 insertions(+), 21 deletions(-) diff --git a/src/main.cpp b/src/main.cpp index 1908f85..d1fa019 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -2252,34 +2252,33 @@ bool LoadBlockIndex(bool fAllowNew) // vMerkleTree: 4a5e1e // Genesis block - const char* pszTimestamp = "MarketWatch 07/Nov/2011 Gold tops $1,790 to end at over six-week high"; + const char* pszTimestamp = "Matonis 07-AUG-2012 Parallel Currencies And The Roadmap To Monetary Freedom"; CTransaction txNew; - txNew.nTime = 1339538219; + txNew.nTime = 1345083810; 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.vin[0].scriptSig = CScript() << 486604799 << CBigNum(9999) << vector((const unsigned char*)pszTimestamp, (const unsigned char*)pszTimestamp + strlen(pszTimestamp)); txNew.vout[0].SetEmpty(); CBlock block; block.vtx.push_back(txNew); block.hashPrevBlock = 0; block.hashMerkleRoot = block.BuildMerkleTree(); block.nVersion = 1; - block.nTime = 1339540307; + block.nTime = 1345084287; block.nBits = bnProofOfWorkLimit.GetCompact(); - block.nNonce = 1281822831; + block.nNonce = 2179302059; if (fTestNet) { - block.nTime = 1296688602; - block.nBits = 0x1d07fff8; - block.nNonce = 384568319; + block.nTime = 1345090000; + block.nNonce = 122894938; } //// debug print 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("0x1557f46a17fcf8843dbe4c0c0edfd1d17eeff2c3c48d73a59d11f5d176e4b54d")); + assert(block.hashMerkleRoot == uint256("0x3c2d8f85fab4d17aac558cc648a1a58acff0de6deb890c29985690052c5993c2")); block.print(); assert(block.GetHash() == hashGenesisBlock); assert(block.CheckBlock()); diff --git a/src/main.h b/src/main.h index d1b5890..5b95a99 100644 --- a/src/main.h +++ b/src/main.h @@ -47,8 +47,8 @@ static const int fHaveUPnP = true; static const int fHaveUPnP = false; #endif -static const uint256 hashGenesisBlockOfficial("0x000000007c82d1f0aa2896b01bf533a8cc26a1f44790be4ceb4ecde7bee24add"); -static const uint256 hashGenesisBlockTestNet("0x00000007199508e34a9ff81e6ec0c477a4cccff2a4767a8eee39c11db367b008"); +static const uint256 hashGenesisBlockOfficial("0x0000000032fe677166d54963b62a4677d8957e87c508eaa4fd7eb1c880cd27e3"); +static const uint256 hashGenesisBlockTestNet("0x00000001f757bb737f6596503e17cd17b0658ce630cc727c0cca81aec47c9f06"); extern CScript COINBASE_FLAGS; diff --git a/src/makefile.unix b/src/makefile.unix index cae7d44..a141d2b 100644 --- a/src/makefile.unix +++ b/src/makefile.unix @@ -154,9 +154,9 @@ clean: ppcoin/obj/genesis.o: ppcoin/genesis.cpp $(CXX) -c $(xCXXFLAGS) -MMD -o $@ $< - $(CXX) -c $(xCXXFLAGS) -MMD -DPPCOIN_GENESIS -o obj/nogui/init.o init.cpp + $(CXX) -c $(xCXXFLAGS) -MMD -DPPCOIN_GENESIS -o obj/init.o init.cpp -genesis: ppcoin/obj/genesis.o $(OBJS:obj/%=obj/nogui/%) +genesis: ppcoin/obj/genesis.o $(OBJS:obj/%=obj/%) $(CXX) $(CXXFLAGS) -o $@ $^ $(LIBS) -rm -f obj/init.* -rm -f ppcoin/obj/genesis.* diff --git a/src/ppcoin/genesis.cpp b/src/ppcoin/genesis.cpp index 9609161..36b0e4d 100644 --- a/src/ppcoin/genesis.cpp +++ b/src/ppcoin/genesis.cpp @@ -1,7 +1,6 @@ // Copyright (c) 2011 The PPCoin developers // Distributed under the MIT/X11 software license, see the accompanying // file license.txt or http://www.opensource.org/licenses/mit-license.php. -#include "../headers.h" #include "../db.h" #include "../net.h" #include "../init.h" @@ -17,19 +16,20 @@ int main(int argc, char *argv[]) printf("PPCoin Begin Genesis Block\n"); // Genesis block - const char* pszTimestamp = "MarketWatch 07/Nov/2011 Gold tops $1,790 to end at over six-week high"; + const char* pszTimestamp = "Matonis 07-AUG-2012 Parallel Currencies And The Roadmap To Monetary Freedom"; CTransaction txNew; 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.vin[0].scriptSig = CScript() << 486604799 << CBigNum(9999) << vector((const unsigned char*)pszTimestamp, (const unsigned char*)pszTimestamp + strlen(pszTimestamp)); txNew.vout[0].SetEmpty(); + txNew.nTime = 1345083810; // only for testnet CBlock block; block.vtx.push_back(txNew); block.hashPrevBlock = 0; block.hashMerkleRoot = block.BuildMerkleTree(); block.nVersion = 1; - block.nBits = 0x1d00ffff; - block.nTime = GetAdjustedTime(); + block.nBits = CBigNum(~uint256(0) >> 28).GetCompact(); //0x1d00ffff; + block.nTime = 1345090000; //GetAdjustedTime(); block.nNonce = 0; CBigNum bnTarget; @@ -39,9 +39,16 @@ int main(int argc, char *argv[]) { if ((block.nNonce >> 20) << 20 == block.nNonce) { - if (block.vtx[0].nTime + 7200 < GetAdjustedTime() + 60) - block.vtx[0].nTime = GetAdjustedTime(); - block.nTime = GetAdjustedTime(); + //if (block.vtx[0].nTime + 7200 < GetAdjustedTime() + 60) + //{ + // block.vtx[0].nTime = GetAdjustedTime(); + // block.hashMerkleRoot = block.BuildMerkleTree(); + //} + if (block.nNonce > 4000000000) + { + block.nTime++; // = GetAdjustedTime(); + block.nNonce = 0; + } printf("n=%dM hash=%s\n", block.nNonce >> 20, block.GetHash().ToString().c_str()); } -- 1.7.1