Ethereum  PoC-8
The C++ Implementation of Ethereum
BlockChain.h File Reference
#include "Account.h"
#include "BlockDetails.h"
#include "BlockQueue.h"
#include "ChainParams.h"
#include "LastBlockHashesFace.h"
#include "State.h"
#include "Transaction.h"
#include "VerifiedBlock.h"
#include <libdevcore/db.h>
#include <libdevcore/Exceptions.h>
#include <libdevcore/Log.h>
#include <libdevcore/Guards.h>
#include <libethcore/BlockHeader.h>
#include <libethcore/Common.h>
#include <libethcore/SealEngine.h>
#include <chrono>
#include <deque>
#include <unordered_map>
#include <unordered_set>
#include <boost/filesystem/path.hpp>

Go to the source code of this file.

Classes

struct  std::hash< pair< dev::h256, unsigned > >
 
class  dev::eth::VersionChecker
 
class  dev::eth::BlockChain
 Implements the blockchain database. All data this gives is disk-backed. @threadsafe. More...
 
struct  dev::eth::BlockChain::Statistics
 

Namespaces

 std
 
 dev
 
 dev::eth
 

Typedefs

using dev::eth::BlocksHash = std::unordered_map< h256, bytes >
 
using dev::eth::TransactionHashes = h256s
 
using dev::eth::UncleHashes = h256s
 
using dev::eth::ProgressCallback = std::function< void(unsigned, unsigned)>
 

Enumerations

enum  {
  dev::eth::ExtraDetails = 0, dev::eth::ExtraBlockHash, dev::eth::ExtraTransactionAddress, dev::eth::ExtraLogBlooms,
  dev::eth::ExtraReceipts, dev::eth::ExtraBlocksBlooms
}
 

Functions

 dev::eth::DEV_SIMPLE_EXCEPTION (AlreadyHaveBlock)
 
 dev::eth::DEV_SIMPLE_EXCEPTION (FutureTime)
 
 dev::eth::DEV_SIMPLE_EXCEPTION (TransientError)
 
 dev::eth::DEV_SIMPLE_EXCEPTION (FailedToWriteChainStart)
 
 dev::eth::DEV_SIMPLE_EXCEPTION (UnknownBlockNumber)
 
std::unordered_map< Address, Account > const & dev::eth::genesisState ()
 
db::Slice dev::eth::toSlice (h256 const &_h, unsigned _sub=0)
 
db::Slice dev::eth::toSlice (uint64_t _n, unsigned _sub=0)
 
std::ostream & dev::eth::operator<< (std::ostream &_out, BlockChain const &_bc)
 

Detailed Description

Author
Gav Wood i@gav.nosp@m.wood.nosp@m..com
Date
2014

Definition in file BlockChain.h.