15 #include <boost/assign/list_of.hpp>
19 static CBlock CreateGenesisBlock(
const char* pszTimestamp,
const CScript& genesisOutputScript, uint32_t nTime, uint32_t nNonce, uint32_t nBits, int32_t nVersion,
const CAmount& genesisReward)
25 txNew.
vin[0].scriptSig =
CScript() << 486604799 <<
CScriptNum(4) << std::vector<unsigned char>((
const unsigned char*)pszTimestamp, (
const unsigned char*)pszTimestamp + strlen(pszTimestamp));
26 txNew.
vout[0].nValue = genesisReward;
27 txNew.
vout[0].scriptPubKey = genesisOutputScript;
30 genesis.
nTime = nTime;
31 genesis.
nBits = nBits;
34 genesis.
vtx.push_back(MakeTransactionRef(std::move(txNew)));
51 static CBlock CreateGenesisBlock(uint32_t nTime, uint32_t nNonce, uint32_t nBits, int32_t nVersion,
const CAmount& genesisReward)
53 const char* pszTimestamp =
"Nintondo";
54 const CScript genesisOutputScript =
CScript() <<
ParseHex(
"040184710fa689ad5023690c80f3a49c8f13f8d45b8c857fbcbc8bc4a8e4d3eb4b10f4d4604fa08dce601aaf0f470216fe1b51850b4acf21b179c45070ac7b03a9") <<
OP_CHECKSIG;
55 return CreateGenesisBlock(pszTimestamp, genesisOutputScript, nTime, nNonce, nBits, nVersion, genesisReward);
151 vAlertPubKey =
ParseHex(
"04d4da7a5dae4db797d9b0644d57a5cd50e05a70f36091cd62e2fc41c98ded06340be5a43a35e185690cd9cde5d72da8f6d065b499b06f51dcfba14aad859f443a");
155 genesis = CreateGenesisBlock(1386325540, 99943, 0x1e0ffff0, 1, 88 * COIN);
183 boost::assign::map_list_of
184 ( 0,
uint256S(
"0x1a91e3dace36e2be3bf030a65679fe821aa1d6ef92e7c9902eb318182c355691"))
185 ( 104679,
uint256S(
"0x35eb87ae90d44b98898fec8c39577b76cb1eb08e1261cfc10706c8ce9a1d01cf"))
186 ( 145000,
uint256S(
"0xcc47cae70d7c5c92828d3214a266331dde59087d4a39071fa76ddfff9b7bde72"))
187 ( 371337,
uint256S(
"0x60323982f9c5ff1b5a954eac9dc1269352835f47c2c5222691d80f0d50dcf053"))
188 ( 450000,
uint256S(
"0xd279277f8f846a224d776450aa04da3cf978991a182c6f3075db4c48b173bbd7"))
189 ( 771275,
uint256S(
"0x1b7d789ed82cbdc640952e7e7a54966c6488a32eaad54fc39dff83f310dbaaed"))
190 ( 1000000,
uint256S(
"0x6aae55bea74235f0c80bd066349d4440c31f2d0f27d54265ecd484d8c1d11b47"))
191 ( 1250000,
uint256S(
"0x00c7a442055c1a990e11eea5371ca5c1c02a0677b33cc88ec728c45edc4ec060"))
192 ( 1500000,
uint256S(
"0xf1d32d6920de7b617d51e74bdf4e58adccaa582ffdc8657464454f16a952fca6"))
193 ( 1750000,
uint256S(
"0x5c8e7327984f0d6f59447d89d143e5f6eafc524c82ad95d176c5cec082ae2001"))
194 ( 2000000,
uint256S(
"0x9914f0e82e39bbf21950792e8816620d71b9965bdbbc14e72a95e3ab9618fea8"))
195 ( 2031142,
uint256S(
"0x893297d89afb7599a3c571ca31a3b80e8353f4cf39872400ad0f57d26c4c5d42"))
196 ( 2250000,
uint256S(
"0x0a87a8d4e40dca52763f93812a288741806380cd569537039ee927045c6bc338"))
197 ( 2510150,
uint256S(
"0x77e3f4a4bcb4a2c15e8015525e3d15b466f6c022f6ca82698f329edef7d9777e"))
198 ( 2750000,
uint256S(
"0xd4f8abb835930d3c4f92ca718aaa09bef545076bd872354e0b2b85deefacf2e3"))
199 ( 3000000,
uint256S(
"0x195a83b091fb3ee7ecb56f2e63d01709293f57f971ccf373d93890c8dc1033db"))
200 ( 3250000,
uint256S(
"0x7f3e28bf9e309c4b57a4b70aa64d3b2ea5250ae797af84976ddc420d49684034"))
201 ( 3500000,
uint256S(
"0xeaa303b93c1c64d2b3a2cdcf6ccf21b10cc36626965cc2619661e8e1879abdfb"))
202 ( 3606083,
uint256S(
"0x954c7c66dee51f0a3fb1edb26200b735f5275fe54d9505c76ebd2bcabac36f1e"))
309 vAlertPubKey =
ParseHex(
"042756726da3c7ef515d89212ee1705023d14be389e25fe15611585661b9a20021908b2b80a3c7200a0139dd2b26946606aab0eef9aa7689a6dc2c7eee237fa834");
313 genesis = CreateGenesisBlock(1391503289, 997879, 0x1e0ffff0, 1, 88 * COIN);
341 boost::assign::map_list_of
342 ( 0,
uint256S(
"0xbb0a78264637406b6360aad926284d544d7049f45189db5664f3c4d07350559e"))
343 ( 483173,
uint256S(
"0xa804201ca0aceb7e937ef7a3c613a9b7589245b10cc095148c4ce4965b0b73b5"))
344 ( 591117,
uint256S(
"0x5f6b93b2c28cedf32467d900369b8be6700f0649388a7dbfd3ebd4a01b1ffad8"))
345 ( 658924,
uint256S(
"0xed6c8324d9a77195ee080f225a0fca6346495e08ded99bcda47a8eea5a8a620b"))
346 ( 703635,
uint256S(
"0x839fa54617adcd582d53030a37455c14a87a806f6615aa8213f13e196230ff7f"))
347 ( 1000000,
uint256S(
"0x1fe4d44ea4d1edb031f52f0d7c635db8190dc871a190654c41d2450086b8ef0e"))
348 ( 1202214,
uint256S(
"0xa2179767a87ee4e95944703976fee63578ec04fa3ac2fc1c9c2c83587d096977"))
349 ( 1250000,
uint256S(
"0xb46affb421872ca8efa30366b09694e2f9bf077f7258213be14adb05a9f41883"))
350 ( 1500000,
uint256S(
"0x0caa041b47b4d18a4f44bdc05cef1a96d5196ce7b2e32ad3e4eb9ba505144917"))
351 ( 1750000,
uint256S(
"0x8042462366d854ad39b8b95ed2ca12e89a526ceee5a90042d55ebb24d5aab7e9"))
352 ( 2000000,
uint256S(
"0xd6acde73e1b42fc17f29dcc76f63946d378ae1bd4eafab44d801a25be784103c"))
353 ( 2250000,
uint256S(
"0xc4342ae6d9a522a02e5607411df1b00e9329563ef844a758d762d601d42c86dc"))
354 ( 2500000,
uint256S(
"0x3a66ec4933fbb348c9b1889aaf2f732fe429fd9a8f74fee6895eae061ac897e2"))
355 ( 2750000,
uint256S(
"0x473ea9f625d59f534ffcc9738ffc58f7b7b1e0e993078614f5484a9505885563"))
356 ( 3062910,
uint256S(
"0x113c41c00934f940a41f99d18b2ad9aefd183a4b7fe80527e1e6c12779bd0246"))
443 genesis = CreateGenesisBlock(1296688602, 2, 0x207fffff, 1, 88 * COIN);
459 boost::assign::map_list_of
460 ( 0,
uint256S(
"0x3d2160a3b5dc4a9d62e7e66a295f70313ac808440ef7400d6c0772171ce973a5"))
487 assert(pCurrentParams);
488 return *pCurrentParams;
510 return testNetParams;
512 return regTestParams;
514 throw std::runtime_error(
strprintf(
"%s: Unknown chain %s.", __func__, chain));
520 pCurrentParams = &
Params(network);
int64_t CAmount
Amount in satoshis (Can be negative)
void SelectParams(const std::string &network)
Sets the params returned by Params() to those for the given BIP70 chain name.
const CChainParams & Params()
Return the currently selected parameters.
void UpdateRegtestBIP9Parameters(Consensus::DeploymentPos d, int64_t nStartTime, int64_t nTimeout)
Allows modifying the BIP9 regtest parameters.
void SelectBaseParams(const std::string &chain)
Sets the params returned by Params() to those for the given network.
static const std::string REGTEST
static const std::string TESTNET
static const std::string MAIN
BIP70 chain name strings (main, test or regtest)
std::vector< CTransactionRef > vtx
CChainParams defines various tweakable parameters of a given instance of the Bitcoin system.
Consensus::Params * pConsensusRoot
bool fDefaultConsistencyChecks
std::vector< SeedSpec6 > vFixedSeeds
std::vector< unsigned char > base58Prefixes[MAX_BASE58_TYPES]
std::vector< CDNSSeedData > vSeeds
Consensus::Params consensus
bool fMiningRequiresPeers
CCheckpointData checkpointData
std::vector< unsigned char > vAlertPubKey
Raw pub key bytes for the broadcast alert signing key.
CMessageHeader::MessageStartChars pchMessageStart
uint64_t nPruneAfterHeight
Consensus::Params auxpowConsensus
Consensus::Params digishieldConsensus
Consensus::Params digishieldConsensus
Consensus::Params auxpowConsensus
void UpdateBIP9Parameters(Consensus::DeploymentPos d, int64_t nStartTime, int64_t nTimeout)
Serialized script, used inside transaction inputs and outputs.
Consensus::Params auxpowConsensus
Consensus::Params minDifficultyConsensus
Consensus::Params digishieldConsensus
uint256 BlockMerkleRoot(const CBlock &block, bool *mutated)
A mutable version of CTransaction.
std::vector< CTxOut > vout
int bit
Bit position to select the particular bit in nVersion.
int64_t nTimeout
Timeout/expiry MedianTime for the deployment attempt.
int64_t nStartTime
Start MedianTime for version bits miner confirmation.
Parameters that influence chain consensus.
bool fDigishieldDifficultyCalculation
Dogecoin-specific parameters.
int BIP65Height
Block height at which BIP65 becomes active.
const Consensus::Params * GetConsensus(uint32_t nTargetHeight) const
uint32_t nMinerConfirmationWindow
uint256 defaultAssumeValid
int32_t nAuxpowChainId
Auxpow parameters.
bool fPowAllowDigishieldMinDifficultyBlocks
int BIP34Height
Block height and hash at which BIP34 becomes active.
int nSubsidyHalvingInterval
BIP9Deployment vDeployments[MAX_VERSION_BITS_DEPLOYMENTS]
uint256 nMinimumChainWork
uint32_t nRuleChangeActivationThreshold
Minimum blocks including miner confirmation of the total of 2016 blocks in a retargeting period,...
int64_t nPowTargetTimespan
uint32_t nCoinbaseMaturity
int BIP66Height
Block height at which BIP66 becomes active.
uint256 powLimit
Proof of work parameters.
int nMajorityRejectBlockOutdated
uint32_t nHeightEffective
Height-aware consensus parameters.
int nMajorityEnforceBlockUpgrade
Used to check majorities for block version upgrade.
int64_t nPowTargetSpacing
bool fPowAllowMinDifficultyBlocks
uint256 uint256S(const char *str)
vector< unsigned char > ParseHex(const char *psz)