![]() |
Bitcoin Core 31.0.0
P2P Digital Currency
|
TxIndex is used to look up transactions included in the blockchain by hash. More...
#include <txindex.h>
Classes | |
| class | DB |
| Access to the txindex database (indexes/txindex/) More... | |
Public Member Functions | |
| TxIndex (std::unique_ptr< interfaces::Chain > chain, size_t n_cache_size, bool f_memory=false, bool f_wipe=false) | |
| Constructs the index, which becomes available to be queried. | |
| virtual | ~TxIndex () override |
| bool | FindTx (const Txid &tx_hash, uint256 &block_hash, CTransactionRef &tx) const |
| Look up a transaction by hash. | |
Public Member Functions inherited from BaseIndex | |
| BaseIndex (std::unique_ptr< interfaces::Chain > chain, std::string name) | |
| virtual | ~BaseIndex () |
| Destructor interrupts sync thread if running and blocks until it exits. | |
| const std::string & | GetName () const LIFETIMEBOUND |
| Get the name of the index for display in logs. | |
| virtual interfaces::Chain::NotifyOptions | CustomOptions () |
| Return custom notification options for index. | |
| bool BlockUntilSyncedToCurrentChain() const LOCKS_EXCLUDED(void | Interrupt () |
| Blocks the current thread until the index is caught up to the current state of the block chain. | |
| bool | Init () |
| Initializes the sync state and registers the instance to the validation interface so that it stays in sync with blockchain updates. | |
| bool | StartBackgroundSync () |
| Starts the initial sync process on a background thread. | |
| void | Sync () |
| Sync the index with the block index starting from the current best block. | |
| void | Stop () |
| Stops the instance from staying in sync with blockchain updates. | |
| IndexSummary | GetSummary () const |
| Get a summary of the index and its state. | |
Protected Member Functions | |
| bool | CustomAppend (const interfaces::BlockInfo &block) override |
| Write update index entries for a newly connected block. | |
| BaseIndex::DB & | GetDB () const override |
Protected Member Functions inherited from BaseIndex | |
| void | BlockConnected (const kernel::ChainstateRole &role, const std::shared_ptr< const CBlock > &block, const CBlockIndex *pindex) override |
| Notifies listeners of a block being connected. | |
| void | ChainStateFlushed (const kernel::ChainstateRole &role, const CBlockLocator &locator) override |
| Notifies listeners of the new active block chain on-disk. | |
| virtual bool | CustomInit (const std::optional< interfaces::BlockRef > &block) |
| Initialize internal state from the database and block index. | |
| virtual bool | CustomCommit (CDBBatch &batch) |
| Virtual method called internally by Commit that can be overridden to atomically commit more index state. | |
| virtual bool | CustomRemove (const interfaces::BlockInfo &block) |
| Rewind index by one block during a chain reorg. | |
| void | SetBestBlockIndex (const CBlockIndex *block) |
| Update the internal best block index as well as the prune lock. | |
Protected Member Functions inherited from CValidationInterface | |
| ~CValidationInterface ()=default | |
| Protected destructor so that instances can only be deleted by derived classes. | |
| virtual void | UpdatedBlockTip (const CBlockIndex *pindexNew, const CBlockIndex *pindexFork, bool fInitialDownload) |
| Notifies listeners when the block chain tip advances. | |
| virtual void | ActiveTipChange (const CBlockIndex &new_tip, bool is_ibd) |
| Notifies listeners any time the block chain tip changes, synchronously. | |
| virtual void | TransactionAddedToMempool (const NewMempoolTransactionInfo &tx, uint64_t mempool_sequence) |
| Notifies listeners of a transaction having been added to mempool. | |
| virtual void | TransactionRemovedFromMempool (const CTransactionRef &tx, MemPoolRemovalReason reason, uint64_t mempool_sequence) |
| Notifies listeners of a transaction leaving mempool. | |
| virtual void | MempoolTransactionsRemovedForBlock (const std::vector< RemovedMempoolTransactionInfo > &txs_removed_for_block, unsigned int nBlockHeight) |
| virtual void | BlockDisconnected (const std::shared_ptr< const CBlock > &block, const CBlockIndex *pindex) |
| Notifies listeners of a block being disconnected Provides the block that was disconnected. | |
| virtual void | BlockChecked (const std::shared_ptr< const CBlock > &, const BlockValidationState &) |
| Notifies listeners of a block validation result. | |
| virtual void | NewPoWValidBlock (const CBlockIndex *pindex, const std::shared_ptr< const CBlock > &block) |
| Notifies listeners that a block which builds directly on our current tip has been received and connected to the headers tree, though not validated yet. | |
Private Member Functions | |
| bool | AllowPrune () const override |
Private Attributes | |
| const std::unique_ptr< DB > | m_db |
Additional Inherited Members | |
Protected Attributes inherited from BaseIndex | |
| std::unique_ptr< interfaces::Chain > | m_chain |
| Chainstate * | m_chainstate {nullptr} |
| const std::string | m_name |
TxIndex is used to look up transactions included in the blockchain by hash.
The index is written to a LevelDB database and records the filesystem location of each transaction by transaction hash.
|
explicit |
Constructs the index, which becomes available to be queried.
Definition at line 69 of file txindex.cpp.
|
overridevirtualdefault |
|
inlineoverrideprivatevirtual |
|
overrideprotectedvirtual |
Write update index entries for a newly connected block.
Reimplemented from BaseIndex.
Definition at line 75 of file txindex.cpp.
| bool TxIndex::FindTx | ( | const Txid & | tx_hash, |
| uint256 & | block_hash, | ||
| CTransactionRef & | tx ) const |
Look up a transaction by hash.
| [in] | tx_hash | The hash of the transaction to be returned. |
| [out] | block_hash | The hash of the block the transaction is found in. |
| [out] | tx | The transaction itself. |
Definition at line 94 of file txindex.cpp.
|
overrideprotectedvirtual |
Implements BaseIndex.
Definition at line 92 of file txindex.cpp.