Mercurial > hg > bitcoin
view src/txdb.h @ 3660:ca9488dc3b38 draft
Remove BDB block database support
author | Pieter Wuille <pieter.wuille@gmail.com> |
---|---|
date | Tue, 16 Oct 2012 22:23:39 +0200 |
parents | 526ec2f104b0 |
children |
line wrap: on
line source
// Copyright (c) 2009-2010 Satoshi Nakamoto // Copyright (c) 2009-2012 The Bitcoin developers // Distributed under the MIT/X11 software license, see the accompanying // file COPYING or http://www.opensource.org/licenses/mit-license.php. #ifndef BITCOIN_TXDB_LEVELDB_H #define BITCOIN_TXDB_LEVELDB_H #include "main.h" #include "leveldb.h" /** CCoinsView backed by the LevelDB coin database (coins/) */ class CCoinsViewDB : public CCoinsView { protected: CLevelDB db; public: CCoinsViewDB(bool fMemory = false); bool GetCoins(uint256 txid, CCoins &coins); bool SetCoins(uint256 txid, const CCoins &coins); bool HaveCoins(uint256 txid); CBlockIndex *GetBestBlock(); bool SetBestBlock(CBlockIndex *pindex); bool BatchWrite(const std::map<uint256, CCoins> &mapCoins, CBlockIndex *pindex); bool GetStats(CCoinsStats &stats); }; /** Access to the block database (blktree/) */ class CBlockTreeDB : public CLevelDB { public: CBlockTreeDB(bool fMemory = false); private: CBlockTreeDB(const CBlockTreeDB&); void operator=(const CBlockTreeDB&); public: bool WriteBlockIndex(const CDiskBlockIndex& blockindex); bool ReadBestInvalidWork(CBigNum& bnBestInvalidWork); bool WriteBestInvalidWork(const CBigNum& bnBestInvalidWork); bool ReadBlockFileInfo(int nFile, CBlockFileInfo &fileinfo); bool WriteBlockFileInfo(int nFile, const CBlockFileInfo &fileinfo); bool ReadLastBlockFile(int &nFile); bool WriteLastBlockFile(int nFile); bool LoadBlockIndexGuts(); }; #endif // BITCOIN_TXDB_LEVELDB_H