Bitcoin ABC  0.26.3
P2P Digital Currency
Public Member Functions | Public Attributes | Static Public Attributes | List of all members
CDiskBlockIndex Class Reference

Used to marshal pointers into hashes for db storage. More...

#include <chain.h>

Inheritance diagram for CDiskBlockIndex:
[legend]
Collaboration diagram for CDiskBlockIndex:
[legend]

Public Member Functions

 CDiskBlockIndex ()
 
 CDiskBlockIndex (const CBlockIndex *pindex)
 
 SERIALIZE_METHODS (CDiskBlockIndex, obj)
 
BlockHash GetBlockHash () const
 
std::string ToString () const
 
- Public Member Functions inherited from CBlockIndex
int nFile GUARDED_BY (::cs_main)
 Which # file this block is stored in (blk?????.dat) More...
 
unsigned int nDataPos GUARDED_BY (::cs_main)
 Byte offset within blk?????.dat where this block's data is stored. More...
 
unsigned int nUndoPos GUARDED_BY (::cs_main)
 Byte offset within rev?????.dat where this block's undo data is stored. More...
 
BlockStatus nStatus GUARDED_BY (::cs_main)
 Verification status of this block. See enum BlockStatus. More...
 
 CBlockIndex ()=default
 
 CBlockIndex (const CBlockHeader &block)
 
FlatFilePos GetBlockPos () const EXCLUSIVE_LOCKS_REQUIRED(
 
FlatFilePos GetUndoPos () const EXCLUSIVE_LOCKS_REQUIRED(
 
CBlockHeader GetBlockHeader () const
 
BlockHash GetBlockHash () const
 
int64_t GetChainTxCount () const
 Get the number of transaction in the chain so far. More...
 
uint64_t GetChainSize () const
 Get the size of all the blocks in the chain so far. More...
 
bool UpdateChainStats ()
 Update chain tx stats. More...
 
bool HaveTxsDownloaded () const
 Check whether this block's and all previous blocks' transactions have been downloaded (and stored to disk) at some point. More...
 
NodeSeconds Time () const
 
int64_t GetBlockTime () const
 
int64_t GetBlockTimeMax () const
 
int64_t GetHeaderReceivedTime () const
 
int64_t GetReceivedTimeDiff () const
 
int64_t GetMedianTimePast () const
 
std::string ToString () const
 
bool IsValid (enum BlockValidity nUpTo=BlockValidity::TRANSACTIONS) const EXCLUSIVE_LOCKS_REQUIRED(
 Check whether this block index entry is valid up to the passed validity level. More...
 
bool IsAssumedValid () const EXCLUSIVE_LOCKS_REQUIRED(
 
bool RaiseValidity (enum BlockValidity nUpTo) EXCLUSIVE_LOCKS_REQUIRED(
 Raise the validity level of this block index entry. More...
 
void BuildSkip ()
 Build the skiplist pointer for this entry. More...
 
CBlockIndexGetAncestor (int height)
 Efficiently find an ancestor of this block. More...
 
const CBlockIndexGetAncestor (int height) const
 

Public Attributes

BlockHash hashPrev
 
- Public Attributes inherited from CBlockIndex
const BlockHashphashBlock {nullptr}
 pointer to the hash of the block, if any. More...
 
CBlockIndexpprev {nullptr}
 pointer to the index of the predecessor of this block More...
 
CBlockIndexpskip {nullptr}
 pointer to the index of some further predecessor of this block More...
 
int nHeight {0}
 height of the entry in the chain. The genesis block has height 0 More...
 
arith_uint256 nChainWork {}
 (memory only) Total amount of work (expected number of hashes) in the chain up to and including this block More...
 
unsigned int nTx {0}
 Number of transactions in this block. More...
 
unsigned int nSize {0}
 Size of this block. More...
 
unsigned int nChainTx {0}
 (memory only) Number of transactions in the chain up to and including this block. More...
 
int32_t nVersion {0}
 block header More...
 
uint256 hashMerkleRoot {}
 
uint32_t nTime {0}
 
uint32_t nBits {0}
 
uint32_t nNonce {0}
 
int32_t nSequenceId {0}
 (memory only) Sequential id assigned to distinguish order in which blocks are received. More...
 
uint64_t nTimeReceived {0}
 (memory only) block header metadata More...
 
unsigned int nTimeMax {0}
 (memory only) Maximum nTime in the chain up to and including this block. More...
 

Static Public Attributes

static constexpr int TRACK_SIZE_VERSION = 220800
 
- Static Public Attributes inherited from CBlockIndex
static constexpr int nMedianTimeSpan = 11
 

Detailed Description

Used to marshal pointers into hashes for db storage.

Definition at line 70 of file chain.h.

Constructor & Destructor Documentation

◆ CDiskBlockIndex() [1/2]

CDiskBlockIndex::CDiskBlockIndex ( )
inline

Definition at line 76 of file chain.h.

◆ CDiskBlockIndex() [2/2]

CDiskBlockIndex::CDiskBlockIndex ( const CBlockIndex pindex)
inlineexplicit

Definition at line 78 of file chain.h.

Here is the call graph for this function:

Member Function Documentation

◆ GetBlockHash()

BlockHash CDiskBlockIndex::GetBlockHash ( ) const
inline

Definition at line 117 of file chain.h.

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

◆ SERIALIZE_METHODS()

CDiskBlockIndex::SERIALIZE_METHODS ( CDiskBlockIndex  ,
obj   
)
inline

Definition at line 82 of file chain.h.

◆ ToString()

std::string CDiskBlockIndex::ToString ( ) const
inline

Definition at line 128 of file chain.h.

Here is the call graph for this function:

Member Data Documentation

◆ hashPrev

BlockHash CDiskBlockIndex::hashPrev

Definition at line 74 of file chain.h.

◆ TRACK_SIZE_VERSION

constexpr int CDiskBlockIndex::TRACK_SIZE_VERSION = 220800
staticconstexpr

Definition at line 72 of file chain.h.


The documentation for this class was generated from the following file: