Bitcoin Core
27.99.0
P2P Digital Currency

#include <pow.h>
#include <arith_uint256.h>
#include <chain.h>
#include <primitives/block.h>
#include <uint256.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 proofofwork requirement specified by new_nbits at a given height is not possible, given the proofofwork 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 proofofwork requirement specified by nBits. More...  
unsigned int CalculateNextWorkRequired  (  const CBlockIndex *  pindexLast, 
int64_t  nFirstBlockTime,  
const Consensus::Params &  params  
) 
bool CheckProofOfWork  (  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 proofofwork requirement specified by new_nbits at a given height is not possible, given the proofofwork 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 76 of file pow.cpp.