Bitcoin ABC 0.30.5
P2P Digital Currency
Namespaces | Functions
grasberg.h File Reference
#include <cstdint>
Include dependency graph for grasberg.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace  grasberg
 

Functions

uint32_t GetNextGrasbergWorkRequired (const CBlockIndex *pindexPrev, const CBlockHeader *pblock, const CChainParams &chainParams)
 Compute the next required proof of work using a relative target based ASERT algorithm. More...
 
int64_t grasberg::computeTargetBlockTime (const CBlockIndex *pindexPrev, const CChainParams &chainParams)
 Compute the block time we are aiming for. More...
 
uint32_t grasberg::deterministicExp2 (const uint32_t n)
 Computes exp2(n) = 2^32 * (2^(n/2^32) - 1) More...
 

Function Documentation

◆ GetNextGrasbergWorkRequired()

uint32_t GetNextGrasbergWorkRequired ( const CBlockIndex pindexPrev,
const CBlockHeader pblock,
const CChainParams chainParams 
)

Compute the next required proof of work using a relative target based ASERT algorithm.

This algorithm uses the relative formulation of ASERT in order to allow for activation at any point in time without complications.

In addition, this algorithm contains a drift correction mechanism. While ASERT by itself drifts very little, the chain is already off schedule.

Definition at line 71 of file grasberg.cpp.

Here is the call graph for this function:
Here is the caller graph for this function: