コード例 #1
0
def test_genesis_config():
    "test setting genesis alloc using the config"
    alloc = {
        '1' * 40: {
            'wei': 1
        },  # wei
        '2' * 40: {
            'balance': 2
        },  # balance
        '3' * 20: {
            'balance': 3
        },  # 20 bytes
    }
    config = dict(eth=dict(genesis=dict(alloc=alloc)))
    konfig.update_config_with_defaults(
        config, {'eth': {
            'block': blocks.default_config
        }})

    # Load genesis config
    update_config_from_genesis_json(config, config['eth']['genesis'])

    bc = config['eth']['block']
    pprint(bc)
    env = Env(DB(), bc)

    genesis = blocks.genesis(env)
    for address, value_dict in alloc.items():
        value = value_dict.values()[0]
        assert genesis.get_balance(address) == value
コード例 #2
0
def test_genesis():
    for profile in ['frontier']:  # fixme olympics

        config = dict(eth=dict())

        # Set config values based on profile selection
        merge_dict(config, PROFILES[profile])

        # Load genesis config
        update_config_from_genesis_json(config, config['eth']['genesis'])

        konfig.update_config_with_defaults(
            config, {'eth': {
                'block': blocks.default_config
            }})

        print config['eth'].keys()
        bc = config['eth']['block']
        print bc.keys()
        env = Env(DB(), bc)

        genesis = blocks.genesis(env)
        print 'genesis.hash', genesis.hash.encode('hex')
        print 'expected', config['eth']['genesis_hash']
        assert genesis.hash == config['eth']['genesis_hash'].decode('hex')
コード例 #3
0
 def __init__(self, app):
     super(ChainServiceMock, self).__init__(app)
     self.on_new_head_cbs = []
     self.transaction_queue = TransactionQueue()
     self.is_syncing = False
     self.mined_block = None
     self.block_mined_event = Event()
     self.head_candidate = Block(BlockHeader(difficulty=DIFFICULTY),
                                 db=DB())
コード例 #4
0
def test_profile(profile):
    config = dict(eth=dict())

    konfig.update_config_with_defaults(
        config, {'eth': {
            'block': blocks.default_config
        }})

    # Set config values based on profile selection
    merge_dict(config, PROFILES[profile])

    # Load genesis config
    update_config_from_genesis_json(config, config['eth']['genesis'])

    bc = config['eth']['block']
    pprint(bc)
    env = Env(DB(), bc)

    genesis = blocks.genesis(env)
    assert genesis.hash.encode('hex') == config['eth']['genesis_hash']
コード例 #5
0
ファイル: utils.py プロジェクト: vaizguy/pyethereum
def new_db():
    return DB()
コード例 #6
0
def import_chain_data(raw_blocks_fn, test_db_path, skip=0):
    db = DB(test_db_path)
    blks = testutils.get_blocks_from_textdump(
        open(raw_blocks_fn).read().strip())
    testutils.test_chain_data(blks, db, skip)
コード例 #7
0
 def __init__(self):
     env = Env(DB())
     header = BlockHeader(difficulty=DIFFICULTY)
     self.head_candidate = Block(header, env=env)