diff --git a/TODO.md b/TODO.md index d250a4550..fa7b35f85 100644 --- a/TODO.md +++ b/TODO.md @@ -13,6 +13,7 @@ DONE: - Added darkcoin seednodes - Adress versions (Public keys, Multisig keys) - Changed genesisblockhash and timestamp +- Reviewed and updated checkpoints MUST-HAVE: @@ -22,7 +23,6 @@ MUST-HAVE: - Adjust difficulty/subsidity (KGW, DGW based on blockheight) - Add masternode payment checks a.k.a. enforcement (based on blockheight) - Remove bitcoin dead weight (SHA256, hardcoded keys, nodes) -- Review and update checkpoints ADD-ON: @@ -34,3 +34,4 @@ ADD-ON: - Darksend, Instant Transactions, Atomic Transfers, etc. pp. - Figure out what regression tests are and fix them - Define BIP38 address prefixes EXT_PUBLIC_KEY and EXT_SECRET_KEY for Darkcoin +- Include centralized checkpoint syncing (peercoin style) diff --git a/src/chainparams.cpp b/src/chainparams.cpp index 524d5a462..992166164 100644 --- a/src/chainparams.cpp +++ b/src/chainparams.cpp @@ -58,11 +58,14 @@ public: genesis.nBits = 0x1e0ffff0; genesis.nNonce = 28917698; - /* exit without failure */ - printf("So far so good... Next: Update X11! \n"); + hashGenesisBlock = genesis.GetHash(); + + /* exit without failure */ /* @TODO Debug remove! */ + printf("%s #HASH\n", hashGenesisBlock.ToString().c_str()); /* @TODO Debug remove! */ + printf("%s #HARD\n", uint256("0x00000ffd590b1485b3caadc19b22e6379c733355108f107a430458cdf3407ab6").ToString().c_str()); /* @TODO Debug remove! */ + printf("So far so good... Next: Update X11! \n"); /* @TODO Debug remove! */ exit(0); /* @TODO Debug remove! */ - hashGenesisBlock = genesis.GetHash(); assert(hashGenesisBlock == uint256("0x00000ffd590b1485b3caadc19b22e6379c733355108f107a430458cdf3407ab6")); assert(genesis.hashMerkleRoot == uint256("0xe0028eb9648db56b1ac77cf090b99048a8007e2bb64b68f092c03c7f56a662c7")); @@ -127,11 +130,14 @@ public: genesis.nTime = 1390666206; genesis.nNonce = 3861367235; - /* exit without failure */ - printf("So far so good... Next: Update X11! \n"); + hashGenesisBlock = genesis.GetHash(); + + /* exit without failure */ /* @TODO Debug remove! */ + printf("%s #HASH\n", hashGenesisBlock.ToString().c_str()); /* @TODO Debug remove! */ + printf("%s #HARD\n", uint256("0x00000bafbc94add76cb75e2ec92894837288a481e5c005f6563d91623bf8bc2c").ToString().c_str()); /* @TODO Debug remove! */ + printf("So far so good... Next: Update X11! \n"); /* @TODO Debug remove! */ exit(0); /* @TODO Debug remove! */ - hashGenesisBlock = genesis.GetHash(); assert(hashGenesisBlock == uint256("0x00000bafbc94add76cb75e2ec92894837288a481e5c005f6563d91623bf8bc2c")); vFixedSeeds.clear(); @@ -169,10 +175,6 @@ public: nDefaultPort = 19994; strDataDir = "regtest"; - /* exit without failure */ - printf("So far so good... Next: Update X11! \n"); - exit(0); /* @TODO Debug remove! */ - assert(hashGenesisBlock == uint256("0x0f9188f13cb7b2c71f2a335e3a4fc328bf5beb436012afca590b1a11466e2206")); vSeeds.clear(); // Regtest mode doesn't have any DNS seeds. diff --git a/src/checkpoints.cpp b/src/checkpoints.cpp index b685a22d9..2facf369e 100644 --- a/src/checkpoints.cpp +++ b/src/checkpoints.cpp @@ -1,4 +1,5 @@ // Copyright (c) 2009-2014 The Bitcoin developers +// Copyright (c) 2014 vertoe & the Darkcoin developers // Distributed under the MIT/X11 software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. @@ -39,37 +40,36 @@ namespace Checkpoints // + Contains no strange transactions static MapCheckpoints mapCheckpoints = boost::assign::map_list_of - ( 11111, uint256("0x0000000069e244f73d78e8fd29ba2fd2ed618bd6fa2ee92559f542fdb26e7c1d")) - ( 33333, uint256("0x000000002dd5588a74784eaa7ab0507a18ad16a236e7b1ce69f00d7ddfb5d0a6")) - ( 74000, uint256("0x0000000000573993a3c9e41ce34471c079dcf5f52a0e824a81e7f953b8661a20")) - (105000, uint256("0x00000000000291ce28027faea320c8d2b054b2e0fe44a773f3eefb151d6bdc97")) - (134444, uint256("0x00000000000005b12ffd4cd315cd34ffd4a594f430ac814c91184a0d42d2b0fe")) - (168000, uint256("0x000000000000099e61ea72015e79632f216fe6cb33d7899acb35b75c8303b763")) - (193000, uint256("0x000000000000059f452a5f7340de6682a977387c17010ff6e6c3bd83ca8b1317")) - (210000, uint256("0x000000000000048b95347e83192f69cf0366076336c639f9b7228e9ba171342e")) - (216116, uint256("0x00000000000001b4f4b433e81ee46494af945cf96014816a4e2370f11b23df4e")) - (225430, uint256("0x00000000000001c108384350f74090433e7fcf79a606b8e797f065b130575932")) - (250000, uint256("0x000000000000003887df1f29024b06fc2200b55f8af8f35453d7be294df2d214")) - (279000, uint256("0x0000000000000001ae8c72a0b0c301f67e3afca10e819efa9041e458e9bd7e40")) - (295000, uint256("0x00000000000000004d9b4ef50f0f9d686fd69db2e03af35a100370c64632a983")) + ( 1500, uint256("0x000000aaf0300f59f49bc3e970bad15c11f961fe2347accffff19d96ec9778e3")) + ( 4991, uint256("0x000000003b01809551952460744d5dbb8fcbd6cbae3c220267bf7fa43f837367")) + ( 9918, uint256("0x00000000213e229f332c0ffbe34defdaa9e74de87f2d8d1f01af8d121c3c170b")) + ( 16912, uint256("0x00000000075c0d10371d55a60634da70f197548dbbfa4123e12abfcbc5738af9")) + ( 23912, uint256("0x0000000000335eac6703f3b1732ec8b2f89c3ba3a7889e5767b090556bb9a276")) + ( 35457, uint256("0x0000000000b0ae211be59b048df14820475ad0dd53b9ff83b010f71a77342d9f")) + ( 45479, uint256("0x000000000063d411655d590590e16960f15ceea4257122ac430c6fbe39fbf02d")) + ( 55895, uint256("0x0000000000ae4c53a43639a4ca027282f69da9c67ba951768a20415b6439a2d7")) + ( 68899, uint256("0x0000000000194ab4d3d9eeb1f2f792f21bb39ff767cb547fe977640f969d77b7")) + ( 74619, uint256("0x000000000011d28f38f05d01650a502cc3f4d0e793fbc26e2a2ca71f07dc3842")) + ( 75095, uint256("0x0000000000193d12f6ad352a9996ee58ef8bdc4946818a5fec5ce99c11b87f0d")) + ( 88805, uint256("0x00000000001392f1652e9bf45cd8bc79dc60fe935277cd11538565b4a94fa85f")) ; static const CCheckpointData data = { &mapCheckpoints, - 1397080064, // * UNIX timestamp of last checkpoint block - 36544669, // * total number of transactions between genesis and last checkpoint + 1403283082, // * UNIX timestamp of last checkpoint block + 511516, // * total number of transactions between genesis and last checkpoint // (the tx=... number in the SetBestChain debug.log lines) - 60000.0 // * estimated number of transactions per day after checkpoint + 7701.12 // * estimated number of transactions per day after checkpoint }; static MapCheckpoints mapCheckpointsTestnet = boost::assign::map_list_of - ( 546, uint256("000000002a936ca763904c3c35fce2f3556c559c0214345d31b1bcebf76acb70")) + ( 44, uint256("0000058784a8cdd3b4dc5ce684d24a1d5fecc3d47f9cd71218d04a1a322318a1")) ; static const CCheckpointData dataTestnet = { &mapCheckpointsTestnet, - 1338180505, - 16341, - 300 + 1393373461, + 3000, + 30 }; static MapCheckpoints mapCheckpointsRegtest =