def bob_chain(): chain = build( MiningChain, latest_mainnet_at(0), disable_pow_check(), genesis(), ) return chain
def alice_chain(bob_chain): bob_genesis = bob_chain.headerdb.get_canonical_block_header_by_number(0) chain = build( MiningChain, latest_mainnet_at(0), disable_pow_check(), genesis(params={"timestamp": bob_genesis.timestamp}), ) return chain
def _create(cls, model_class: Type[AsyncHeaderDB], *args: Any, **kwargs: Any) -> AsyncHeaderDB: headerdb = model_class(*args, **kwargs) from eth.chains.base import Chain from eth.tools.builder.chain import build, latest_mainnet_at, genesis build( Chain, latest_mainnet_at(0), genesis(db=headerdb.db), ) return headerdb
def _create(cls, model_class: Type[AsyncHeaderDB], *args: Any, **kwargs: Any) -> AsyncHeaderDB: from eth.chains.base import Chain from eth.tools.builder.chain import build, latest_mainnet_at, genesis genesis_params = kwargs.pop('genesis_params', None) headerdb = model_class(*args, **kwargs) build( Chain, latest_mainnet_at(0), genesis(db=headerdb.db, params=genesis_params), ) return headerdb
def _create(cls, model_class: Type[AsyncHeaderDB], *args: Any, **kwargs: Any) -> AsyncHeaderDB: from eth.chains.base import Chain from eth.tools.builder.chain import build, latest_mainnet_at, genesis genesis_params = kwargs.pop('genesis_params', None) headerdb = model_class(*args, **kwargs) # SIDE EFFECT! # This uses the side effect of initializing a chain using the `builder` # tool to populate the genesis state into the database. build( Chain, latest_mainnet_at(0), genesis(db=headerdb.db, params=genesis_params), ) return headerdb
def load_mining_chain(db): GENESIS_PARAMS = { 'coinbase': ZERO_ADDRESS, 'difficulty': 5, 'gas_limit': 3141592, 'timestamp': 1514764800, } GENESIS_STATE = { FUNDED_ACCT.public_key.to_canonical_address(): { "balance": 100000000000000000, } } return build( AsyncMiningChain, latest_mainnet_at(0), enable_pow_mining(), genesis(db=db, params=GENESIS_PARAMS, state=GENESIS_STATE), )