mirror of
https://github.com/ElementsProject/elements.git
synced 2026-08-13 12:33:42 +02:00
Elements: Introduce "elements_test" testchain
This commit is contained in:
parent
1e7a271375
commit
7dc1dcf927
3 changed files with 60 additions and 6 deletions
|
|
@ -22,6 +22,7 @@ const std::map<std::string, uint256> CChainParams::supportedChains =
|
|||
( "main", uint256S("0x000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f"))
|
||||
( "test", uint256S("0x000000000933ea01ad0ee984209779baaec3ced90fa3f408719526f8d77f4943"))
|
||||
( "regtest", uint256S("0x0f9188f13cb7b2c71f2a335e3a4fc328bf5beb436012afca590b1a11466e2206"))
|
||||
( "elements_test", uint256S("0xcf97109d25b15952b636e3d98b6fc15e15665e1ba88dd83165b646e05e19da9a"))
|
||||
;
|
||||
|
||||
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)
|
||||
|
|
@ -264,6 +265,53 @@ public:
|
|||
}
|
||||
};
|
||||
|
||||
/**
|
||||
* Sidechain Elements Testnet
|
||||
*/
|
||||
class CElementsTestParams : public CChainParams {
|
||||
public:
|
||||
CElementsTestParams() {
|
||||
strNetworkID = "elements_test";
|
||||
consensus.nSubsidyHalvingInterval = 210000;
|
||||
consensus.nMajorityEnforceBlockUpgrade = 750;
|
||||
consensus.nMajorityRejectBlockOutdated = 950;
|
||||
consensus.nMajorityWindow = 1000;
|
||||
consensus.powLimit = uint256S("00000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffff");
|
||||
consensus.nPowTargetTimespan = 14 * 24 * 60 * 60; // two weeks
|
||||
consensus.nPowTargetSpacing = 10 * 60;
|
||||
consensus.fPowAllowMinDifficultyBlocks = false;
|
||||
|
||||
CScript scriptDestination(CScript() << OP_TRUE);
|
||||
genesis = CreateGenesisBlock(strNetworkID.c_str(), scriptDestination, 1296688602, 0, 0x2007ffff);
|
||||
consensus.hashGenesisBlock = genesis.GetHash();
|
||||
// assert(consensus.hashGenesisBlock == supportedChains.find(strNetworkID)->second);
|
||||
|
||||
nDefaultPort = 28333;
|
||||
nPruneAfterHeight = 100000;
|
||||
fRequireRPCPassword = false;
|
||||
fMiningRequiresPeers = false;
|
||||
fDefaultConsistencyChecks = true;
|
||||
fRequireStandard = false;
|
||||
fMineBlocksOnDemand = false;
|
||||
fTestnetToBeDeprecatedFieldRPC = false;
|
||||
|
||||
pchMessageStart[0] = 0xe0;
|
||||
pchMessageStart[1] = 0x35;
|
||||
pchMessageStart[2] = 0x8e;
|
||||
pchMessageStart[3] = 0xfb;
|
||||
vFixedSeeds.clear();
|
||||
vSeeds.clear();
|
||||
checkpointData = (Checkpoints::CCheckpointData){
|
||||
boost::assign::map_list_of
|
||||
( 0, consensus.hashGenesisBlock),
|
||||
0,
|
||||
0,
|
||||
0
|
||||
};
|
||||
AssignBase58PrefixStyle(base58Prefixes, TEST_BASE58);
|
||||
}
|
||||
};
|
||||
|
||||
Container<CChainParams> cGlobalChainParams;
|
||||
static Container<CChainParams> cGlobalSwitchingChainParams;
|
||||
|
||||
|
|
@ -279,6 +327,8 @@ CChainParams* CChainParams::Factory(const std::string& chain)
|
|||
return new CTestNetParams();
|
||||
else if (chain == CBaseChainParams::REGTEST)
|
||||
return new CRegTestParams();
|
||||
else if (chain == CBaseChainParams::ELEM_TEST)
|
||||
return new CElementsTestParams();
|
||||
else
|
||||
throw std::runtime_error(strprintf(_("%s: Unknown chain %s."), __func__, chain));
|
||||
}
|
||||
|
|
|
|||
|
|
@ -11,6 +11,7 @@
|
|||
const std::string CBaseChainParams::MAIN = "main";
|
||||
const std::string CBaseChainParams::TESTNET = "test";
|
||||
const std::string CBaseChainParams::REGTEST = "regtest";
|
||||
const std::string CBaseChainParams::ELEM_TEST = "elements_test";
|
||||
|
||||
void AppendParamsHelpMessages(std::string& strUsage, bool debugHelp)
|
||||
{
|
||||
|
|
@ -62,18 +63,18 @@ public:
|
|||
}
|
||||
};
|
||||
|
||||
/*
|
||||
* Unit test
|
||||
/**
|
||||
* Sidechain Elements Testnet
|
||||
*/
|
||||
class CBaseUnitTestParams : public CBaseMainParams
|
||||
class CBaseElementsTestParams : public CBaseMainParams
|
||||
{
|
||||
public:
|
||||
CBaseUnitTestParams()
|
||||
CBaseElementsTestParams()
|
||||
{
|
||||
strDataDir = "unittest";
|
||||
nRPCPort = 28332;
|
||||
strDataDir = "elements_test";
|
||||
}
|
||||
};
|
||||
static CBaseUnitTestParams unitTestParams;
|
||||
|
||||
Container<CBaseChainParams> cGlobalChainBaseParams;
|
||||
|
||||
|
|
@ -90,6 +91,8 @@ CBaseChainParams* CBaseChainParams::Factory(const std::string& chain)
|
|||
return new CBaseTestNetParams();
|
||||
else if (chain == CBaseChainParams::REGTEST)
|
||||
return new CBaseRegTestParams();
|
||||
else if (chain == CBaseChainParams::ELEM_TEST)
|
||||
return new CBaseElementsTestParams();
|
||||
else
|
||||
throw std::runtime_error(strprintf(_("%s: Unknown chain %s."), __func__, chain));
|
||||
}
|
||||
|
|
|
|||
|
|
@ -21,6 +21,7 @@ public:
|
|||
static const std::string MAIN;
|
||||
static const std::string TESTNET;
|
||||
static const std::string REGTEST;
|
||||
static const std::string ELEM_TEST;
|
||||
|
||||
const std::string& DataDir() const { return strDataDir; }
|
||||
int RPCPort() const { return nRPCPort; }
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue