Exemple #1
0
def bob_chain():
    chain = build(
        MiningChain,
        latest_mainnet_at(0),
        disable_pow_check(),
        genesis(),
    )
    return chain
Exemple #2
0
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
Exemple #3
0
    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
Exemple #4
0
    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
Exemple #5
0
    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),
    )