|
|
@ -16,7 +16,7 @@ using namespace std; |
|
|
|
|
|
|
|
|
|
|
|
#include "chainparamsseeds.h" |
|
|
|
#include "chainparamsseeds.h" |
|
|
|
|
|
|
|
|
|
|
|
static CBlock CreateGenesisBlock(const char* pszTimestamp, CScript genesisOutputScript, uint32_t nTime=1231006505, uint32_t nNonce=2083236893, uint32_t nBits=0x1d00ffff, int32_t nVersion=1, const CAmount& genesisReward=50 * COIN) |
|
|
|
static CBlock CreateGenesisBlock(const char* pszTimestamp, const CScript& genesisOutputScript, uint32_t nTime, uint32_t nNonce, uint32_t nBits, int32_t nVersion, const CAmount& genesisReward) |
|
|
|
{ |
|
|
|
{ |
|
|
|
CMutableTransaction txNew; |
|
|
|
CMutableTransaction txNew; |
|
|
|
txNew.nVersion = 1; |
|
|
|
txNew.nVersion = 1; |
|
|
@ -48,10 +48,10 @@ static CBlock CreateGenesisBlock(const char* pszTimestamp, CScript genesisOutput |
|
|
|
* CTxOut(nValue=50.00000000, scriptPubKey=0x5F1DF16B2B704C8A578D0B) |
|
|
|
* CTxOut(nValue=50.00000000, scriptPubKey=0x5F1DF16B2B704C8A578D0B) |
|
|
|
* vMerkleTree: 4a5e1e |
|
|
|
* vMerkleTree: 4a5e1e |
|
|
|
*/ |
|
|
|
*/ |
|
|
|
static CBlock CreateGenesisBlock(uint32_t nTime=1231006505, uint32_t nNonce=2083236893, uint32_t nBits=0x1d00ffff, int32_t nVersion=1, const CAmount& genesisReward=50 * COIN) |
|
|
|
static CBlock CreateGenesisBlock(uint32_t nTime, uint32_t nNonce, uint32_t nBits, int32_t nVersion, const CAmount& genesisReward) |
|
|
|
{ |
|
|
|
{ |
|
|
|
const char* pszTimestamp = "The Times 03/Jan/2009 Chancellor on brink of second bailout for banks"; |
|
|
|
const char* pszTimestamp = "The Times 03/Jan/2009 Chancellor on brink of second bailout for banks"; |
|
|
|
CScript genesisOutputScript = CScript() << ParseHex("04678afdb0fe5548271967f1a67130b7105cd6a828e03909a67962e0ea1f61deb649f6bc3f4cef38c4f35504e51ec112de5c384df7ba0b8d578a4c702b6bf11d5f") << OP_CHECKSIG; |
|
|
|
const CScript genesisOutputScript = CScript() << ParseHex("04678afdb0fe5548271967f1a67130b7105cd6a828e03909a67962e0ea1f61deb649f6bc3f4cef38c4f35504e51ec112de5c384df7ba0b8d578a4c702b6bf11d5f") << OP_CHECKSIG; |
|
|
|
return CreateGenesisBlock(pszTimestamp, genesisOutputScript, nTime, nNonce, nBits, nVersion, genesisReward); |
|
|
|
return CreateGenesisBlock(pszTimestamp, genesisOutputScript, nTime, nNonce, nBits, nVersion, genesisReward); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
@ -91,7 +91,7 @@ public: |
|
|
|
nDefaultPort = 8333; |
|
|
|
nDefaultPort = 8333; |
|
|
|
nPruneAfterHeight = 100000; |
|
|
|
nPruneAfterHeight = 100000; |
|
|
|
|
|
|
|
|
|
|
|
genesis = CreateGenesisBlock(); |
|
|
|
genesis = CreateGenesisBlock(1231006505, 2083236893, 0x1d00ffff, 1, 50 * COIN); |
|
|
|
consensus.hashGenesisBlock = genesis.GetHash(); |
|
|
|
consensus.hashGenesisBlock = genesis.GetHash(); |
|
|
|
assert(consensus.hashGenesisBlock == uint256S("0x000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f")); |
|
|
|
assert(consensus.hashGenesisBlock == uint256S("0x000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f")); |
|
|
|
assert(genesis.hashMerkleRoot == uint256S("0x4a5e1e4baab89f3a32518a88c31bc87f618f76673e2cc77ab2127b7afdeda33b")); |
|
|
|
assert(genesis.hashMerkleRoot == uint256S("0x4a5e1e4baab89f3a32518a88c31bc87f618f76673e2cc77ab2127b7afdeda33b")); |
|
|
@ -164,9 +164,10 @@ public: |
|
|
|
nDefaultPort = 18333; |
|
|
|
nDefaultPort = 18333; |
|
|
|
nPruneAfterHeight = 1000; |
|
|
|
nPruneAfterHeight = 1000; |
|
|
|
|
|
|
|
|
|
|
|
genesis = CreateGenesisBlock(1296688602, 414098458); |
|
|
|
genesis = CreateGenesisBlock(1296688602, 414098458, 0x1d00ffff, 1, 50 * COIN); |
|
|
|
consensus.hashGenesisBlock = genesis.GetHash(); |
|
|
|
consensus.hashGenesisBlock = genesis.GetHash(); |
|
|
|
assert(consensus.hashGenesisBlock == uint256S("0x000000000933ea01ad0ee984209779baaec3ced90fa3f408719526f8d77f4943")); |
|
|
|
assert(consensus.hashGenesisBlock == uint256S("0x000000000933ea01ad0ee984209779baaec3ced90fa3f408719526f8d77f4943")); |
|
|
|
|
|
|
|
assert(genesis.hashMerkleRoot == uint256S("0x4a5e1e4baab89f3a32518a88c31bc87f618f76673e2cc77ab2127b7afdeda33b")); |
|
|
|
|
|
|
|
|
|
|
|
vFixedSeeds.clear(); |
|
|
|
vFixedSeeds.clear(); |
|
|
|
vSeeds.clear(); |
|
|
|
vSeeds.clear(); |
|
|
@ -216,16 +217,19 @@ public: |
|
|
|
consensus.nPowTargetTimespan = 14 * 24 * 60 * 60; // two weeks
|
|
|
|
consensus.nPowTargetTimespan = 14 * 24 * 60 * 60; // two weeks
|
|
|
|
consensus.nPowTargetSpacing = 10 * 60; |
|
|
|
consensus.nPowTargetSpacing = 10 * 60; |
|
|
|
consensus.fPowAllowMinDifficultyBlocks = true; |
|
|
|
consensus.fPowAllowMinDifficultyBlocks = true; |
|
|
|
|
|
|
|
|
|
|
|
pchMessageStart[0] = 0xfa; |
|
|
|
pchMessageStart[0] = 0xfa; |
|
|
|
pchMessageStart[1] = 0xbf; |
|
|
|
pchMessageStart[1] = 0xbf; |
|
|
|
pchMessageStart[2] = 0xb5; |
|
|
|
pchMessageStart[2] = 0xb5; |
|
|
|
pchMessageStart[3] = 0xda; |
|
|
|
pchMessageStart[3] = 0xda; |
|
|
|
genesis = CreateGenesisBlock(1296688602, 2, 0x207fffff); |
|
|
|
|
|
|
|
consensus.hashGenesisBlock = genesis.GetHash(); |
|
|
|
|
|
|
|
nDefaultPort = 18444; |
|
|
|
nDefaultPort = 18444; |
|
|
|
assert(consensus.hashGenesisBlock == uint256S("0x0f9188f13cb7b2c71f2a335e3a4fc328bf5beb436012afca590b1a11466e2206")); |
|
|
|
|
|
|
|
nPruneAfterHeight = 1000; |
|
|
|
nPruneAfterHeight = 1000; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
genesis = CreateGenesisBlock(1296688602, 2, 0x207fffff, 1, 50 * COIN); |
|
|
|
|
|
|
|
consensus.hashGenesisBlock = genesis.GetHash(); |
|
|
|
|
|
|
|
assert(consensus.hashGenesisBlock == uint256S("0x0f9188f13cb7b2c71f2a335e3a4fc328bf5beb436012afca590b1a11466e2206")); |
|
|
|
|
|
|
|
assert(genesis.hashMerkleRoot == uint256S("0x4a5e1e4baab89f3a32518a88c31bc87f618f76673e2cc77ab2127b7afdeda33b")); |
|
|
|
|
|
|
|
|
|
|
|
vFixedSeeds.clear(); //! Regtest mode doesn't have any fixed seeds.
|
|
|
|
vFixedSeeds.clear(); //! Regtest mode doesn't have any fixed seeds.
|
|
|
|
vSeeds.clear(); //! Regtest mode doesn't have any DNS seeds.
|
|
|
|
vSeeds.clear(); //! Regtest mode doesn't have any DNS seeds.
|
|
|
|
|
|
|
|
|
|
|
|