1 // Copyright (c) 2011 The PPCoin developers
2 // Distributed under the MIT/X11 software license, see the accompanying
3 // file license.txt or http://www.opensource.org/licenses/mit-license.php.
4 #include "../headers.h"
12 using namespace boost;
14 int main(int argc, char *argv[])
16 fPrintToConsole = true;
17 printf("PPCoin Begin Genesis Block\n");
20 const char* pszTimestamp = "MarketWatch 07/Nov/2011 Gold tops $1,790 to end at over six-week high";
24 txNew.vin[0].scriptSig = CScript() << 486604799 << CBigNum(4) << vector<unsigned char>((const unsigned char*)pszTimestamp, (const unsigned char*)pszTimestamp + strlen(pszTimestamp));
25 txNew.vout[0].nValue = 9999 * COIN;
26 txNew.vout[0].scriptPubKey = CScript() << ParseHex("04678afdb0fe5548271967f1a67130b7105cd6a828e03909a67962e0ea1f61deb649f6bc3f4cef38c4f35504e51ec112de5c384df7ba0b8d578a4c702b6bf11d5f") << OP_CHECKSIG;
28 block.vtx.push_back(txNew);
29 block.hashPrevBlock = 0;
30 block.hashMerkleRoot = block.BuildMerkleTree();
32 block.nBits = 0x1d00ffff;
33 block.nTime = GetAdjustedTime();
37 bnTarget.SetCompact(block.nBits);
39 while (block.GetHash() > bnTarget.getuint256())
41 if (block.nNonce % 1048576 == 0)
42 printf("n=%dM hash=%s\n", block.nNonce / 1048576,
43 block.GetHash().ToString().c_str());
44 block.nTime = GetAdjustedTime();
48 printf("PPCoin Found Genesis Block:\n");
49 printf("genesis hash=%s\n", block.GetHash().ToString().c_str());
50 printf("merkle root=%s\n", block.hashMerkleRoot.ToString().c_str());
53 printf("PPCoin End Genesis Block\n");