コード例 #1
0
unsigned int GetNextWorkRequired(const CBlockIndex* pindexLast, const CBlockHeader *pblock, const Consensus::Params& params)
{
    unsigned int retarget = DIFF_DGW;

    // mainnet/regtest share a configuration
    if (Params().NetworkIDString() == CBaseChainParams::MAIN || Params().NetworkIDString() == CBaseChainParams::REGTEST) 
	{
        retarget = DIFF_DGW;
    }
	else 
	{
        retarget = DIFF_DGW;
    }

    // Bitcoin style retargeting
    if (retarget == DIFF_BTC)
    {
        return GetNextWorkRequiredBTC(pindexLast, pblock, params);
    }

    // Retarget using Kimoto Gravity Wave
    else if (retarget == DIFF_KGW)
    {
        return KimotoGravityWell(pindexLast, params);
    }

    // Retarget using Dark Gravity Wave 3 by default
    return DarkGravityWave(pindexLast, params);
}
コード例 #2
0
ファイル: pow.cpp プロジェクト: bancoteam/dash
unsigned int GetNextWorkRequired(const CBlockIndex* pindexLast, const CBlockHeader *pblock, const Consensus::Params& params)
{
    // Most recent algo first
    if (pindexLast->nHeight + 1 >= params.nPowDGWHeight) {
        return DarkGravityWave(pindexLast, pblock, params);
    }
    else if (pindexLast->nHeight + 1 >= params.nPowKGWHeight) {
        return KimotoGravityWell(pindexLast, params);
    }
    else {
        return GetNextWorkRequiredBTC(pindexLast, pblock, params);
    }
}