Bitcoin ABC  0.26.3
P2P Digital Currency
eda.h
Go to the documentation of this file.
1 // Copyright (c) 2017-2020 The Bitcoin developers
2 // Distributed under the MIT software license, see the accompanying
3 // file COPYING or http://www.opensource.org/licenses/mit-license.php.
4 
5 #ifndef BITCOIN_POW_EDA_H
6 #define BITCOIN_POW_EDA_H
7 
8 #include <cstdint>
9 
10 class arith_uint256;
11 class CBlockHeader;
12 class CBlockIndex;
13 
14 namespace Consensus {
15 struct Params;
16 }
17 
18 uint32_t CalculateNextWorkRequired(const CBlockIndex *pindexPrev,
19  int64_t nFirstBlockTime,
20  const Consensus::Params &params);
21 
22 uint32_t GetNextEDAWorkRequired(const CBlockIndex *pindexPrev,
23  const CBlockHeader *pblock,
24  const Consensus::Params &params);
25 
35  uint32_t old_nbits,
36  arith_uint256 new_target);
37 
38 #endif // BITCOIN_POW_EDA_H
const CChainParams & Params()
Return the currently selected parameters.
Nodes collect new transactions into a block, hash them into a hash tree, and scan through nonce value...
Definition: block.h:23
The block chain is a tree shaped structure starting with the genesis block at the root,...
Definition: blockindex.h:27
256-bit unsigned big integer.
uint32_t GetNextEDAWorkRequired(const CBlockIndex *pindexPrev, const CBlockHeader *pblock, const Consensus::Params &params)
Compute the next required proof of work using the legacy Bitcoin difficulty adjustment + Emergency Di...
Definition: eda.cpp:45
bool PermittedEDADifficultyTransition(const Consensus::Params &params, uint32_t old_nbits, arith_uint256 new_target)
Return false if the proof-of-work requirement specified by new_target is not possible,...
Definition: eda.cpp:119
uint32_t CalculateNextWorkRequired(const CBlockIndex *pindexPrev, int64_t nFirstBlockTime, const Consensus::Params &params)
Do difficulty adjustement Satoshi's way.
Definition: eda.cpp:14
Parameters that influence chain consensus.
Definition: params.h:34