Dash Core Source Documentation (0.16.0.1)
Find detailed information regarding the Dash Core source code.
CCoinsView backed by the coin database (chainstate/) More...
#include <txdb.h>
Public Member Functions | |
CCoinsViewDB (size_t nCacheSize, bool fMemory=false, bool fWipe=false) | |
bool | GetCoin (const COutPoint &outpoint, Coin &coin) const override |
Retrieve the Coin (unspent transaction output) for a given outpoint. More... | |
bool | HaveCoin (const COutPoint &outpoint) const override |
Just check whether a given outpoint is unspent. More... | |
uint256 | GetBestBlock () const override |
Retrieve the block hash whose state this CCoinsView currently represents. More... | |
std::vector< uint256 > | GetHeadBlocks () const override |
Retrieve the range of blocks that may have been only partially written. More... | |
bool | BatchWrite (CCoinsMap &mapCoins, const uint256 &hashBlock) override |
Do a bulk modification (multiple Coin changes + BestBlock change). More... | |
CCoinsViewCursor * | Cursor () const override |
Get a cursor to iterate over the whole state. More... | |
bool | Upgrade () |
Attempt to update from an older database format. Returns whether an error occurred. More... | |
size_t | EstimateSize () const override |
Estimate database size (0 if not implemented) More... | |
Public Member Functions inherited from CCoinsView | |
virtual | ~CCoinsView () |
As we use CCoinsViews polymorphically, have a virtual destructor. More... | |
Protected Attributes | |
CDBWrapper | db |
Detailed Description
CCoinsView backed by the coin database (chainstate/)
Constructor & Destructor Documentation
◆ CCoinsViewDB()
Member Function Documentation
◆ BatchWrite()
Do a bulk modification (multiple Coin changes + BestBlock change).
The passed mapCoins can be modified.
Reimplemented from CCoinsView.
Definition at line 88 of file txdb.cpp.
References CDBBatch::Clear(), BCLog::COINDB, count, db, DB_BEST_BLOCK, DB_HEAD_BLOCKS, CCoinsCacheEntry::DIRTY, CDBBatch::Erase(), gArgs, ArgsManager::GetArg(), GetBestBlock(), GetHeadBlocks(), base_blob< BITS >::IsNull(), LogPrint, LogPrintf, nDefaultDbBatchSize, FastRandomContext::randrange(), CDBBatch::SizeEstimate(), CDBBatch::Write(), and CDBWrapper::WriteBatch().
◆ Cursor()
|
overridevirtual |
Get a cursor to iterate over the whole state.
Reimplemented from CCoinsView.
Definition at line 177 of file txdb.cpp.
References db, DB_COIN, GetBestBlock(), CCoinsViewDBCursor::keyTmp, and CCoinsViewDBCursor::pcursor.
◆ EstimateSize()
|
overridevirtual |
Estimate database size (0 if not implemented)
Reimplemented from CCoinsView.
Definition at line 149 of file txdb.cpp.
References db, DB_COIN, and CDBWrapper::EstimateSize().
◆ GetBestBlock()
|
overridevirtual |
Retrieve the block hash whose state this CCoinsView currently represents.
Reimplemented from CCoinsView.
Definition at line 73 of file txdb.cpp.
References db, DB_BEST_BLOCK, and CDBWrapper::Read().
Referenced by BatchWrite(), and Cursor().
◆ GetCoin()
Retrieve the Coin (unspent transaction output) for a given outpoint.
Returns true only when an unspent coin was found, which is returned in coin. When false is returned, coin's value is unspecified.
Reimplemented from CCoinsView.
Definition at line 65 of file txdb.cpp.
References db, and CDBWrapper::Read().
◆ GetHeadBlocks()
|
overridevirtual |
Retrieve the range of blocks that may have been only partially written.
If the database is in a consistent state, the result is the empty vector. Otherwise, a two-element vector is returned consisting of the new and the old block hash, in that order.
Reimplemented from CCoinsView.
Definition at line 80 of file txdb.cpp.
References db, DB_HEAD_BLOCKS, and CDBWrapper::Read().
Referenced by BatchWrite().
◆ HaveCoin()
|
overridevirtual |
Just check whether a given outpoint is unspent.
Reimplemented from CCoinsView.
Definition at line 69 of file txdb.cpp.
References db, and CDBWrapper::Exists().
◆ Upgrade()
bool CCoinsViewDB::Upgrade | ( | ) |
Attempt to update from an older database format. Returns whether an error occurred.
Upgrade the database from older formats.
Currently implemented: from the per-tx utxo model (0.8..0.14.x) to per-txout.
Definition at line 518 of file txdb.cpp.
References _(), CDBBatch::Clear(), CDBWrapper::CompactRange(), count, db, DB_COINS, CDBBatch::Erase(), error(), high, LogPrintf, COutPoint::n, CDBWrapper::NewIterator(), CClientUIInterface::ShowProgress, ShutdownRequested(), CDBBatch::SizeEstimate(), uiInterface, CDBBatch::Write(), and CDBWrapper::WriteBatch().
Member Data Documentation
◆ db
|
protected |
Definition at line 74 of file txdb.h.
Referenced by BatchWrite(), Cursor(), EstimateSize(), GetBestBlock(), GetCoin(), GetHeadBlocks(), HaveCoin(), and Upgrade().
The documentation for this class was generated from the following files: