Ethereum  PoC-8
The C++ Implementation of Ethereum
dev::eth::ChainParams Struct Reference

#include <ChainParams.h>

Inheritance diagram for dev::eth::ChainParams:
dev::eth::ChainOperationParams

Public Member Functions

 ChainParams ()
 
 ChainParams (ChainParams const &)=default
 
 ChainParams (std::string const &_s, h256 const &_stateRoot=h256())
 
 ChainParams (bytes const &_genesisRLP, AccountMap const &_state)
 
 ChainParams (std::string const &_json, bytes const &_genesisRLP, AccountMap const &_state)
 
SealEngineFacecreateSealEngine ()
 
h256 calculateStateRoot (bool _force=false) const
 
bytes genesisBlock () const
 Genesis block info. More...
 
ChainParams loadConfig (std::string const &_json, h256 const &_stateRoot={}, const boost::filesystem::path &_configPath={}) const
 load config More...
 
- Public Member Functions inherited from dev::eth::ChainOperationParams
 ChainOperationParams ()
 
 operator bool () const
 
EVMSchedule const & scheduleForBlockNumber (u256 const &_blockNumber) const
 
u256 blockReward (EVMSchedule const &_schedule) const
 
void setBlockReward (u256 const &_newBlockReward)
 

Public Attributes

h256 parentHash = h256()
 Genesis params. More...
 
Address author = Address()
 
u256 difficulty = 1
 
u256 gasLimit = 1 << 31
 
u256 gasUsed = 0
 
u256 timestamp = 0
 
bytes extraData
 
h256 stateRoot
 Only pre-populate if known equivalent to genesisState's root. If they're different Bad Things Will Happen. More...
 
AccountMap genesisState
 
unsigned sealFields = 0
 
bytes sealRLP
 
- Public Attributes inherited from dev::eth::ChainOperationParams
std::string sealEngineName = "NoProof"
 The chain sealer name: e.g. Ethash, NoProof, BasicAuthority. More...
 
u256 maximumExtraDataSize = 32
 
u256 accountStartNonce = 0
 
bool tieBreakingGas = true
 
u256 minGasLimit
 
u256 maxGasLimit
 
u256 gasLimitBoundDivisor
 
u256 homesteadForkBlock = c_infiniteBlockNumber
 
u256 EIP150ForkBlock = c_infiniteBlockNumber
 
u256 EIP158ForkBlock = c_infiniteBlockNumber
 
u256 byzantiumForkBlock = c_infiniteBlockNumber
 
u256 eWASMForkBlock = c_infiniteBlockNumber
 
u256 constantinopleForkBlock = c_infiniteBlockNumber
 
u256 constantinopleFixForkBlock = c_infiniteBlockNumber
 
u256 daoHardforkBlock = c_infiniteBlockNumber
 
u256 experimentalForkBlock = c_infiniteBlockNumber
 
int chainID = 0
 
int networkID = 0
 
u256 minimumDifficulty
 
u256 difficultyBoundDivisor
 
u256 durationLimit
 
bool allowFutureBlocks = false
 
std::unordered_map< Address, PrecompiledContractprecompiled
 Precompiled contracts as specified in the chain params. More...
 

Detailed Description

Definition at line 37 of file ChainParams.h.

Constructor & Destructor Documentation

◆ ChainParams() [1/5]

ChainParams::ChainParams ( )

Definition at line 41 of file ChainParams.cpp.

◆ ChainParams() [2/5]

dev::eth::ChainParams::ChainParams ( ChainParams const &  )
default

◆ ChainParams() [3/5]

dev::eth::ChainParams::ChainParams ( std::string const &  _s,
h256 const &  _stateRoot = h256() 
)

◆ ChainParams() [4/5]

dev::eth::ChainParams::ChainParams ( bytes const &  _genesisRLP,
AccountMap const &  _state 
)
inline

Definition at line 42 of file ChainParams.h.

◆ ChainParams() [5/5]

dev::eth::ChainParams::ChainParams ( std::string const &  _json,
bytes const &  _genesisRLP,
AccountMap const &  _state 
)
inline

Definition at line 43 of file ChainParams.h.

Member Function Documentation

◆ calculateStateRoot()

h256 ChainParams::calculateStateRoot ( bool  _force = false) const

Definition at line 210 of file ChainParams.cpp.

◆ createSealEngine()

SealEngineFace * ChainParams::createSealEngine ( )

Definition at line 165 of file ChainParams.cpp.

◆ genesisBlock()

bytes ChainParams::genesisBlock ( ) const

Genesis block info.

Definition at line 225 of file ChainParams.cpp.

◆ loadConfig()

ChainParams ChainParams::loadConfig ( std::string const &  _json,
h256 const &  _stateRoot = {},
const boost::filesystem::path &  _configPath = {} 
) const

load config

Definition at line 57 of file ChainParams.cpp.

Member Data Documentation

◆ author

Address dev::eth::ChainParams::author = Address()

Definition at line 49 of file ChainParams.h.

◆ difficulty

u256 dev::eth::ChainParams::difficulty = 1

Definition at line 50 of file ChainParams.h.

◆ extraData

bytes dev::eth::ChainParams::extraData

Definition at line 54 of file ChainParams.h.

◆ gasLimit

u256 dev::eth::ChainParams::gasLimit = 1 << 31

Definition at line 51 of file ChainParams.h.

◆ gasUsed

u256 dev::eth::ChainParams::gasUsed = 0

Definition at line 52 of file ChainParams.h.

◆ genesisState

AccountMap dev::eth::ChainParams::genesisState

Definition at line 56 of file ChainParams.h.

◆ parentHash

h256 dev::eth::ChainParams::parentHash = h256()

Genesis params.

Definition at line 48 of file ChainParams.h.

◆ sealFields

unsigned dev::eth::ChainParams::sealFields = 0

Definition at line 58 of file ChainParams.h.

◆ sealRLP

bytes dev::eth::ChainParams::sealRLP

Definition at line 59 of file ChainParams.h.

◆ stateRoot

h256 dev::eth::ChainParams::stateRoot
mutable

Only pre-populate if known equivalent to genesisState's root. If they're different Bad Things Will Happen.

Definition at line 55 of file ChainParams.h.

◆ timestamp

u256 dev::eth::ChainParams::timestamp = 0

Definition at line 53 of file ChainParams.h.


The documentation for this struct was generated from the following files: