Exemplo n.º 1
0
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)
"""
[
{
Exemplo n.º 2
0
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))
Exemplo n.º 3
0
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