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
def get_chainmanager(genesis=None): cm = chainmanager.ChainManager() cm.configure(config=create_default_config(), genesis=genesis) return cm
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
def get_chainmanager(genesis=None): import pyethereum.chainmanager as chainmanager cm = chainmanager.ChainManager() cm.configure(config=get_default_config(), genesis=genesis) return cm
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