38 #endif // FABCOIN_POW_H unsigned int CalculateNextWorkRequired(arith_uint256 bnAvg, int64_t nLastBlockTime, int64_t nFirstBlockTime, const Consensus::Params ¶ms)
unsigned int GetNextWorkRequired(const CBlockIndex *pindexLast, const CBlockHeader *pblock, const Consensus::Params &)
bool CheckEquihashSolution(const CBlockHeader *pblock, const CChainParams &)
Check whether the Equihash solution in a block header is valid.
CChainParams defines various tweakable parameters of a given instance of the Fabcoin system...
unsigned int DigishieldCalculateNextWorkRequired(const CBlockIndex *pindexLast, arith_uint256 bnAvg, int64_t nLastBlockTime, int64_t nFirstBlockTime, const Consensus::Params ¶ms)
unsigned int ReduceDifficultyBy(const CBlockIndex *pindexLast, int64_t multiplier, const Consensus::Params ¶ms)
Reduce the difficulty by a given multiplier.
bool CheckProofOfWork(uint256 hash, unsigned int nBits, bool postfork, const Consensus::Params &)
Check whether a block hash satisfies the proof-of-work requirement specified by nBits.
unsigned int LwmaCalculateNextWorkRequired(const CBlockIndex *pindexLast, const Consensus::Params ¶ms)
Parameters that influence chain consensus.
256-bit unsigned big integer.
unsigned int DigishieldGetNextWorkRequired(const CBlockIndex *pindexLast, const CBlockHeader *pblock, const Consensus::Params &)
Digishield v3 - used in Fabcoin mainnet currently.
The block chain is a tree shaped structure starting with the genesis block at the root...
unsigned int LwmaGetNextWorkRequired(const CBlockIndex *pindexLast, const CBlockHeader *pblock, const Consensus::Params &)
Zawy's LWMA - next generation algorithm.