Bitcoin Core 28.99.0
P2P Digital Currency
|
#include <pow.h>
#include <arith_uint256.h>
#include <chain.h>
#include <primitives/block.h>
#include <uint256.h>
#include <util/check.h>
Go to the source code of this file.
Functions | |
unsigned int | GetNextWorkRequired (const CBlockIndex *pindexLast, const CBlockHeader *pblock, const Consensus::Params ¶ms) |
unsigned int | CalculateNextWorkRequired (const CBlockIndex *pindexLast, int64_t nFirstBlockTime, const Consensus::Params ¶ms) |
bool | PermittedDifficultyTransition (const Consensus::Params ¶ms, int64_t height, uint32_t old_nbits, uint32_t new_nbits) |
Return false if the proof-of-work requirement specified by new_nbits at a given height is not possible, given the proof-of-work on the prior block as specified by old_nbits. More... | |
bool | CheckProofOfWork (uint256 hash, unsigned int nBits, const Consensus::Params ¶ms) |
Check whether a block hash satisfies the proof-of-work requirement specified by nBits. More... | |
bool | CheckProofOfWorkImpl (uint256 hash, unsigned int nBits, const Consensus::Params ¶ms) |
unsigned int CalculateNextWorkRequired | ( | const CBlockIndex * | pindexLast, |
int64_t | nFirstBlockTime, | ||
const Consensus::Params & | params | ||
) |
bool CheckProofOfWork | ( | uint256 | hash, |
unsigned int | nBits, | ||
const Consensus::Params & | params | ||
) |
bool CheckProofOfWorkImpl | ( | uint256 | hash, |
unsigned int | nBits, | ||
const Consensus::Params & | params | ||
) |
unsigned int GetNextWorkRequired | ( | const CBlockIndex * | pindexLast, |
const CBlockHeader * | pblock, | ||
const Consensus::Params & | params | ||
) |
bool PermittedDifficultyTransition | ( | const Consensus::Params & | params, |
int64_t | height, | ||
uint32_t | old_nbits, | ||
uint32_t | new_nbits | ||
) |
Return false if the proof-of-work requirement specified by new_nbits at a given height is not possible, given the proof-of-work on the prior block as specified by old_nbits.
This function only checks that the new value is within a factor of 4 of the old value for blocks at the difficulty adjustment interval, and otherwise requires the values to be the same.
Always returns true on networks where min difficulty blocks are allowed, such as regtest/testnet.
Definition at line 89 of file pow.cpp.