from_block = 2331218 # from block start to_block = 2335218 # block end or 0 to last block l_events = moc_feedfactory.logs_from(events_functions, from_block, to_block, block_steps=2880) l_info = list() if 'Created' in l_events: if l_events['Created']: count = 0 for e_event_block in l_events['Created']: for e_event in e_event_block: count += 1 ts = connection_manager.block_timestamp(e_event['blockNumber']) dt = ts - datetime.timedelta(hours=hours_delta) d_timestamp = dt.strftime("%Y-%m-%d %H:%M:%S") d_info = dict() d_info['blockNumber'] = e_event['blockNumber'] d_info['timestamp'] = d_timestamp d_info['sender'] = e_event['args']['sender'] d_info['feed'] = e_event['args']['feed'] l_info.append(d_info) print(l_info) """ [ {
start_time = time.time() while current_block <= to_block: step_end = current_block + block_steps if step_end > to_block: step_end = to_block print("Scanning blocks steps from {0} to {1}".format( current_block, step_end)) for n_block in range(current_block, step_end, block_skip): print("Get info from block: {0}".format(n_block)) ts = connection_manager.block_timestamp(n_block) dt = ts - datetime.timedelta(hours=hours_delta) d_timestamp = dt.strftime("%Y-%m-%d %H:%M:%S") d_info_data = dict() d_info_data['blockNumber'] = n_block d_info_data['Timestamp'] = d_timestamp # bitcoin price try: d_info_data['BTCprice'] = moc_state.bitcoin_price( block_identifier=n_block) except: print("No price valid in BLOCKHEIGHT: [{0}] skipping!".format( n_block))
def block_info(block): network = 'mocMainnet2' connection_manager = ConnectionManager(network=network) #print("Connecting to %s..." % network) #print("Connected: {conectado}".format(conectado=connection_manager.is_connected)) if connection_manager.options['networks'][network]['app_mode'] == 'MoC': moc_state = MoCState(connection_manager) else: moc_state = RDOCMoCState(connection_manager) n_block = int(block) if isinstance(block, int): n_block = int(connection_manager.block_number) if n_block <= 0: n_block = int(connection_manager.block_number) hours_delta = 0 ts = connection_manager.block_timestamp(n_block) dt = ts - datetime.timedelta(hours=hours_delta) d_timestamp = dt.strftime("%Y-%m-%d %H:%M:%S") d_info_data = dict() d_info_data['blockNumber'] = n_block d_info_data['Timestamp'] = d_timestamp # bitcoin price d_info_data['BTCprice'] = float( moc_state.bitcoin_price(block_identifier=n_block)) # Moving average d_info_data['EMAvalue'] = float( moc_state.bitcoin_moving_average(block_identifier=n_block)) # days to settlement, 0 is the day of the settlement d_info_data['daysToSettlement'] = int( moc_state.days_to_settlement(block_identifier=n_block)) # bkt_0 Storage DOC d_info_data['C0_getBucketNDoc'] = float( moc_state.bucket_ndoc(str.encode('C0'), block_identifier=n_block)) # bkt_0 Storage BPro d_info_data['C0_getBucketNBPro'] = float( moc_state.bucket_nbpro(str.encode('C0'), block_identifier=n_block)) # bkt_0 Storage BTC d_info_data['C0_getBucketNBTC'] = float( moc_state.bucket_nbtc(str.encode('C0'), block_identifier=n_block)) # bkt_0 Storage InrateBag d_info_data['C0_getInrateBag'] = float( moc_state.get_inrate_bag(str.encode('C0'), block_identifier=n_block)) # bkt_0 Storage Coverage d_info_data['C0_coverage'] = float( moc_state.coverage(str.encode('C0'), block_identifier=n_block)) # bkt_0 Storage Leverage d_info_data['C0_leverage'] = float( moc_state.leverage(str.encode('C0'), block_identifier=n_block)) # bkt_2 Storage DOC d_info_data['X2_getBucketNDoc'] = float( moc_state.bucket_ndoc(str.encode('X2'), block_identifier=n_block)) # bkt_2 Storage BPro d_info_data['X2_getBucketNBPro'] = float( moc_state.bucket_nbpro(str.encode('X2'), block_identifier=n_block)) # bkt_2 Storage BTC d_info_data['X2_getBucketNBTC'] = float( moc_state.bucket_nbtc(str.encode('X2'), block_identifier=n_block)) # bkt_2 Inrate Bag d_info_data['X2_getInrateBag'] = float( moc_state.get_inrate_bag(str.encode('X2'), block_identifier=n_block)) # bkt_2 Coverage d_info_data['X2_coverage'] = float( moc_state.coverage(str.encode('X2'), block_identifier=n_block)) # bkt_2 Storage Leverage d_info_data['X2_leverage'] = float( moc_state.leverage(str.encode('X2'), block_identifier=n_block)) # Global Coverage d_info_data['globalCoverage'] = float( moc_state.global_coverage(block_identifier=n_block)) # Bitpro total supply in system d_info_data['bproTotalSupply'] = float( moc_state.bitpro_total_supply(block_identifier=n_block)) # All DOC in circulation d_info_data['docTotalSupply'] = float( moc_state.doc_total_supply(block_identifier=n_block)) # RBTC in sytem d_info_data['rbtcInSystem'] = float( moc_state.rbtc_in_system(block_identifier=n_block)) # BPro Tec price d_info_data['bproTecPrice'] = float( moc_state.bpro_tec_price(block_identifier=n_block)) # BTC2X Tec price d_info_data['BTC2XTecPrice'] = float( moc_state.btc2x_tec_price(str.encode('X2'), block_identifier=n_block)) return d_info_data