commit
2835080e16
3 changed files with 5 additions and 15 deletions
12
src/main.h
12
src/main.h
|
@ -814,22 +814,12 @@ public:
|
||||||
uint256 hashChecksum;
|
uint256 hashChecksum;
|
||||||
try {
|
try {
|
||||||
filein >> *this;
|
filein >> *this;
|
||||||
|
filein >> hashChecksum;
|
||||||
}
|
}
|
||||||
catch (std::exception &e) {
|
catch (std::exception &e) {
|
||||||
return error("%s() : deserialize or I/O error", __PRETTY_FUNCTION__);
|
return error("%s() : deserialize or I/O error", __PRETTY_FUNCTION__);
|
||||||
}
|
}
|
||||||
|
|
||||||
// for compatibility with pre-release code that didn't write checksums to undo data
|
|
||||||
// TODO: replace by a simply 'filein >> hashChecksum' in the above try block
|
|
||||||
try {
|
|
||||||
filein >> hashChecksum;
|
|
||||||
} catch (std::exception &e) {
|
|
||||||
hashChecksum = 0;
|
|
||||||
}
|
|
||||||
uint32_t hashInit = hashChecksum.Get64(0) & 0xFFFFFFFFUL;
|
|
||||||
if (hashChecksum == 0 || memcmp(&hashInit, pchMessageStart, 4) == 0)
|
|
||||||
return true;
|
|
||||||
|
|
||||||
// Verify checksum
|
// Verify checksum
|
||||||
CHashWriter hasher(SER_GETHASH, PROTOCOL_VERSION);
|
CHashWriter hasher(SER_GETHASH, PROTOCOL_VERSION);
|
||||||
hasher << hashBlock;
|
hasher << hashBlock;
|
||||||
|
|
|
@ -19,7 +19,7 @@ void static BatchWriteHashBestChain(CLevelDBBatch &batch, const uint256 &hash) {
|
||||||
batch.Write('B', hash);
|
batch.Write('B', hash);
|
||||||
}
|
}
|
||||||
|
|
||||||
CCoinsViewDB::CCoinsViewDB(size_t nCacheSize, bool fMemory, bool fWipe) : db(GetDataDir() / "coins", nCacheSize, fMemory, fWipe) {
|
CCoinsViewDB::CCoinsViewDB(size_t nCacheSize, bool fMemory, bool fWipe) : db(GetDataDir() / "chainstate", nCacheSize, fMemory, fWipe) {
|
||||||
}
|
}
|
||||||
|
|
||||||
bool CCoinsViewDB::GetCoins(uint256 txid, CCoins &coins) {
|
bool CCoinsViewDB::GetCoins(uint256 txid, CCoins &coins) {
|
||||||
|
@ -64,7 +64,7 @@ bool CCoinsViewDB::BatchWrite(const std::map<uint256, CCoins> &mapCoins, CBlockI
|
||||||
return db.WriteBatch(batch);
|
return db.WriteBatch(batch);
|
||||||
}
|
}
|
||||||
|
|
||||||
CBlockTreeDB::CBlockTreeDB(size_t nCacheSize, bool fMemory, bool fWipe) : CLevelDB(GetDataDir() / "blktree", nCacheSize, fMemory, fWipe) {
|
CBlockTreeDB::CBlockTreeDB(size_t nCacheSize, bool fMemory, bool fWipe) : CLevelDB(GetDataDir() / "blocks" / "index", nCacheSize, fMemory, fWipe) {
|
||||||
}
|
}
|
||||||
|
|
||||||
bool CBlockTreeDB::WriteBlockIndex(const CDiskBlockIndex& blockindex)
|
bool CBlockTreeDB::WriteBlockIndex(const CDiskBlockIndex& blockindex)
|
||||||
|
|
|
@ -8,7 +8,7 @@
|
||||||
#include "main.h"
|
#include "main.h"
|
||||||
#include "leveldb.h"
|
#include "leveldb.h"
|
||||||
|
|
||||||
/** CCoinsView backed by the LevelDB coin database (coins/) */
|
/** CCoinsView backed by the LevelDB coin database (chainstate/) */
|
||||||
class CCoinsViewDB : public CCoinsView
|
class CCoinsViewDB : public CCoinsView
|
||||||
{
|
{
|
||||||
protected:
|
protected:
|
||||||
|
@ -25,7 +25,7 @@ public:
|
||||||
bool GetStats(CCoinsStats &stats);
|
bool GetStats(CCoinsStats &stats);
|
||||||
};
|
};
|
||||||
|
|
||||||
/** Access to the block database (blktree/) */
|
/** Access to the block database (blocks/index/) */
|
||||||
class CBlockTreeDB : public CLevelDB
|
class CBlockTreeDB : public CLevelDB
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
|
Loading…
Reference in a new issue