Bitcoin Core  22.99.0
P2P Digital Currency
Classes | Namespaces | Typedefs | Functions | Variables
blockstorage.h File Reference
#include <fs.h>
#include <protocol.h>
#include <txdb.h>
#include <atomic>
#include <cstdint>
#include <vector>
Include dependency graph for blockstorage.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  node::CBlockIndexWorkComparator
 
class  node::BlockManager
 Maintains a tree of blocks (stored in m_block_index) which is consulted to determine where the most-work tip is. More...
 

Namespaces

 Consensus
 Transaction validation functions.
 
 node
 

Typedefs

typedef std::unordered_map< uint256, CBlockIndex *, BlockHashernode::BlockMap
 

Functions

bool node::IsBlockPruned (const CBlockIndex *pblockindex)
 Check whether the block associated with this index entry is pruned or not. More...
 
void node::CleanupBlockRevFiles ()
 
FILE * node::OpenBlockFile (const FlatFilePos &pos, bool fReadOnly=false)
 Open a block file (blk?????.dat) More...
 
fs::path node::GetBlockPosFilename (const FlatFilePos &pos)
 Translation to a filesystem path. More...
 
void node::UnlinkPrunedFiles (const std::set< int > &setFilesToPrune)
 Actually unlink the specified files. More...
 
bool node::ReadBlockFromDisk (CBlock &block, const FlatFilePos &pos, const Consensus::Params &consensusParams)
 Functions for disk access for blocks. More...
 
bool node::ReadBlockFromDisk (CBlock &block, const CBlockIndex *pindex, const Consensus::Params &consensusParams)
 
bool node::ReadRawBlockFromDisk (std::vector< uint8_t > &block, const FlatFilePos &pos, const CMessageHeader::MessageStartChars &message_start)
 
bool node::ReadRawBlockFromDisk (std::vector< uint8_t > &block, const CBlockIndex *pindex, const CMessageHeader::MessageStartChars &message_start)
 
bool node::UndoReadFromDisk (CBlockUndo &blockundo, const CBlockIndex *pindex)
 
void node::ThreadImport (ChainstateManager &chainman, std::vector< fs::path > vImportFiles, const ArgsManager &args)
 

Variables

static constexpr bool node::DEFAULT_STOPAFTERBLOCKIMPORT {false}
 
static const unsigned int node::BLOCKFILE_CHUNK_SIZE = 0x1000000
 The pre-allocation chunk size for blk?????.dat files (since 0.8) More...
 
static const unsigned int node::UNDOFILE_CHUNK_SIZE = 0x100000
 The pre-allocation chunk size for rev?????.dat files (since 0.8) More...
 
static const unsigned int node::MAX_BLOCKFILE_SIZE = 0x8000000
 The maximum size of a blk?????.dat file (since 0.8) More...
 
std::atomic_bool node::fImporting
 
std::atomic_bool node::fReindex