Exemplo n.º 1
0
def import_chain_data(raw_blocks_fn, test_db_path, skip=0):
    from pyethereum import chainmanager
    utils.data_dir.set(test_db_path)
    chain_manager = chainmanager.ChainManager()
    chain_manager.configure(config=get_default_config(), genesis=None)

    fh = open(raw_blocks_fn)
    for i in range(skip):
        fh.readline()

    for hex_rlp_encoded_data in fh:
        hexdata = hex_rlp_encoded_data.strip().decode('hex')
        data = rlp.decode(hexdata)
        blk = blocks.TransientBlock(hexdata)
        print blk.number, blk.hash.encode('hex'), '%d txs' % len(
            blk.transaction_list)
        chain_manager.receive_chain([blk])
        assert blk.hash in chain_manager
Exemplo n.º 2
0
def get_chainmanager(genesis=None):
    cm = chainmanager.ChainManager()
    cm.configure(config=create_default_config(), genesis=genesis)
    return cm
Exemplo n.º 3
0
    data can be created with blockfetcherpatch.py
    """
    import sys

    raw_blocks_fn = sys.argv[1]
    test_db_path = sys.argv[2]
    skip = int(sys.argv[3])
    if len(sys.argv) == 4 or sys.argv[4] != 'silent':
        logging.basicConfig(level=logging.DEBUG)
        global logger
        logger = logging.getLogger()

    print utils
    utils.data_dir.set(test_db_path)

    chain_manager = chainmanager.ChainManager()
    chain_manager.configure(config=eth.create_default_config(), genesis=None)

    fh = open(raw_blocks_fn)
    for i in range(skip):
        fh.readline()

    for hex_rlp_encoded_data in fh:
        hexdata = hex_rlp_encoded_data.strip().decode('hex')
        data = rlp.decode(hexdata)
        # print repr(data)
        blk = blocks.TransientBlock(hexdata)
        print blk.number, blk.hash.encode('hex')
        chain_manager.receive_chain([blk])
        assert blk.hash in chain_manager
Exemplo n.º 4
0
def get_chainmanager(genesis=None):
    import pyethereum.chainmanager as chainmanager
    cm = chainmanager.ChainManager()
    cm.configure(config=get_default_config(), genesis=genesis)
    return cm
Exemplo n.º 5
0
def get_chainmanager(db, genesis=None):
    # creates cm with db or new
    import pyethereum.chainmanager as chainmanager
    cm = chainmanager.ChainManager()
    cm.configure(db=db, config=new_config(), genesis=genesis)
    return cm