|
|
@ -145,13 +145,17 @@ static CMainParams mainParams; |
|
|
|
/**
|
|
|
|
/**
|
|
|
|
* Testnet (v3) |
|
|
|
* Testnet (v3) |
|
|
|
*/ |
|
|
|
*/ |
|
|
|
class CTestNetParams : public CMainParams { |
|
|
|
class CTestNetParams : public CChainParams { |
|
|
|
public: |
|
|
|
public: |
|
|
|
CTestNetParams() { |
|
|
|
CTestNetParams() { |
|
|
|
strNetworkID = "test"; |
|
|
|
strNetworkID = "test"; |
|
|
|
|
|
|
|
consensus.nSubsidyHalvingInterval = 210000; |
|
|
|
consensus.nMajorityEnforceBlockUpgrade = 51; |
|
|
|
consensus.nMajorityEnforceBlockUpgrade = 51; |
|
|
|
consensus.nMajorityRejectBlockOutdated = 75; |
|
|
|
consensus.nMajorityRejectBlockOutdated = 75; |
|
|
|
consensus.nMajorityWindow = 100; |
|
|
|
consensus.nMajorityWindow = 100; |
|
|
|
|
|
|
|
consensus.powLimit = uint256S("00000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffff"); |
|
|
|
|
|
|
|
consensus.nPowTargetTimespan = 14 * 24 * 60 * 60; // two weeks
|
|
|
|
|
|
|
|
consensus.nPowTargetSpacing = 10 * 60; |
|
|
|
consensus.fPowAllowMinDifficultyBlocks = true; |
|
|
|
consensus.fPowAllowMinDifficultyBlocks = true; |
|
|
|
pchMessageStart[0] = 0x0b; |
|
|
|
pchMessageStart[0] = 0x0b; |
|
|
|
pchMessageStart[1] = 0x11; |
|
|
|
pchMessageStart[1] = 0x11; |
|
|
@ -161,9 +165,7 @@ public: |
|
|
|
nDefaultPort = 18333; |
|
|
|
nDefaultPort = 18333; |
|
|
|
nPruneAfterHeight = 1000; |
|
|
|
nPruneAfterHeight = 1000; |
|
|
|
|
|
|
|
|
|
|
|
//! Modify the testnet genesis block so the timestamp is valid for a later start.
|
|
|
|
genesis = CreateGenesisBlock(1296688602, 414098458); |
|
|
|
genesis.nTime = 1296688602; |
|
|
|
|
|
|
|
genesis.nNonce = 414098458; |
|
|
|
|
|
|
|
consensus.hashGenesisBlock = genesis.GetHash(); |
|
|
|
consensus.hashGenesisBlock = genesis.GetHash(); |
|
|
|
assert(consensus.hashGenesisBlock == uint256S("0x000000000933ea01ad0ee984209779baaec3ced90fa3f408719526f8d77f4943")); |
|
|
|
assert(consensus.hashGenesisBlock == uint256S("0x000000000933ea01ad0ee984209779baaec3ced90fa3f408719526f8d77f4943")); |
|
|
|
|
|
|
|
|
|
|
@ -204,7 +206,7 @@ static CTestNetParams testNetParams; |
|
|
|
/**
|
|
|
|
/**
|
|
|
|
* Regression test |
|
|
|
* Regression test |
|
|
|
*/ |
|
|
|
*/ |
|
|
|
class CRegTestParams : public CTestNetParams { |
|
|
|
class CRegTestParams : public CChainParams { |
|
|
|
public: |
|
|
|
public: |
|
|
|
CRegTestParams() { |
|
|
|
CRegTestParams() { |
|
|
|
strNetworkID = "regtest"; |
|
|
|
strNetworkID = "regtest"; |
|
|
@ -213,13 +215,14 @@ public: |
|
|
|
consensus.nMajorityRejectBlockOutdated = 950; |
|
|
|
consensus.nMajorityRejectBlockOutdated = 950; |
|
|
|
consensus.nMajorityWindow = 1000; |
|
|
|
consensus.nMajorityWindow = 1000; |
|
|
|
consensus.powLimit = uint256S("7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"); |
|
|
|
consensus.powLimit = uint256S("7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"); |
|
|
|
|
|
|
|
consensus.nPowTargetTimespan = 14 * 24 * 60 * 60; // two weeks
|
|
|
|
|
|
|
|
consensus.nPowTargetSpacing = 10 * 60; |
|
|
|
|
|
|
|
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.nTime = 1296688602; |
|
|
|
genesis = CreateGenesisBlock(1296688602, 2, 0x207fffff); |
|
|
|
genesis.nBits = 0x207fffff; |
|
|
|
|
|
|
|
genesis.nNonce = 2; |
|
|
|
|
|
|
|
consensus.hashGenesisBlock = genesis.GetHash(); |
|
|
|
consensus.hashGenesisBlock = genesis.GetHash(); |
|
|
|
nDefaultPort = 18444; |
|
|
|
nDefaultPort = 18444; |
|
|
|
assert(consensus.hashGenesisBlock == uint256S("0x0f9188f13cb7b2c71f2a335e3a4fc328bf5beb436012afca590b1a11466e2206")); |
|
|
|
assert(consensus.hashGenesisBlock == uint256S("0x0f9188f13cb7b2c71f2a335e3a4fc328bf5beb436012afca590b1a11466e2206")); |
|
|
@ -242,6 +245,11 @@ public: |
|
|
|
0, |
|
|
|
0, |
|
|
|
0 |
|
|
|
0 |
|
|
|
}; |
|
|
|
}; |
|
|
|
|
|
|
|
base58Prefixes[PUBKEY_ADDRESS] = std::vector<unsigned char>(1,111); |
|
|
|
|
|
|
|
base58Prefixes[SCRIPT_ADDRESS] = std::vector<unsigned char>(1,196); |
|
|
|
|
|
|
|
base58Prefixes[SECRET_KEY] = std::vector<unsigned char>(1,239); |
|
|
|
|
|
|
|
base58Prefixes[EXT_PUBLIC_KEY] = boost::assign::list_of(0x04)(0x35)(0x87)(0xCF).convert_to_container<std::vector<unsigned char> >(); |
|
|
|
|
|
|
|
base58Prefixes[EXT_SECRET_KEY] = boost::assign::list_of(0x04)(0x35)(0x83)(0x94).convert_to_container<std::vector<unsigned char> >(); |
|
|
|
} |
|
|
|
} |
|
|
|
}; |
|
|
|
}; |
|
|
|
static CRegTestParams regTestParams; |
|
|
|
static CRegTestParams regTestParams; |
|
|
|