Ejemplo n.º 1
0
def run(filename):
    b = Blockchain()
    # automatically resume from where we left off
    # previous + last + 1
    start_block = get_previous_block_num(get_last_line(filename)) + 2
    upstream_blk = b.get_current_block()
    checkin_count = 0

    print("Our local block: {}".format(start_block))
    print("The Upstream block: {}".format(b.get_current_block_num()))
    print("Progress: {}%\n".format(
        progress(start_block, b.get_current_block_num())))

    with open(filename, 'a+') as file:
        checkin_ts = time.time()
        for block in b.stream_from(start_block=start_block, full_blocks=True):
            if checkin_ts + 10 < time.time():
                pdone = progress(int(block['block_id'][:8], base=16),
                                 b.get_current_block_num())
                dl_rate = checkin_count / 10

                print("Rate: {}blk/sec, Progress: {}%".format(dl_rate, pdone))
                checkin_ts = time.time()
                checkin_count = 0

            file.write(json.dumps(block, sort_keys=True) + '\n')
            checkin_count += 1
Ejemplo n.º 2
0
def run():
    blockchain = Blockchain()
    id = blockchain.get_current_block_num()
    global current_id
    if id != current_id:
        block = blockchain.get_current_block()
        thread = threading.Thread(target=parse_next_block, args=(block, ))
        print("Start new thread", thread.name)
        thread.start()
        current_id = id
    threading.Timer(1, run).start()
Ejemplo n.º 3
0
from steem.blockchain import Blockchain

# parse the whole chain
for event in Blockchain().replay():
    print("Event: %s" % event['op_type'])
    print("Time: %s" % event['timestamp'])
    print("Body: %s\n" % event['op'])

# parse only payments from specific datetime until now
b = Blockchain()
history = b.replay(start_block=b.get_block_from_time("2016-09-01T00:00:00"),
                   end_block=b.get_current_block(),
                   filter_by=['transfer'])
for payment in history:
    print("@%s sent %s to @%s" %
          (payment['from'], payment['amount'], payment['to']))

# Output:
# @victoriart sent 1.000 SBD to @null
# @dude sent 5.095 STEEM to @bittrex
# @devil sent 5.107 STEEM to @poloniex
# @pinoytravel sent 0.010 SBD to @null
# @aladdin sent 5.013 STEEM to @poloniex
# @mrwang sent 31.211 STEEM to @blocktrades
# @kodi sent 0.030 SBD to @steembingo
Ejemplo n.º 4
0
from steem.blockchain import Blockchain

# parse the whole chain
for event in Blockchain().replay():
    print("Event: %s" % event['op_type'])
    print("Time: %s" % event['timestamp'])
    print("Body: %s\n" % event['op'])

# parse only payments from specific datetime until now
b = Blockchain()
history = b.replay(
    start_block=b.get_block_from_time("2016-09-01T00:00:00"),
    end_block=b.get_current_block(),
    filter_by=['transfer']
)
for payment in history:
    print("@%s sent %s to @%s" % (payment['from'], payment['amount'], payment['to']))

# Output:
# @victoriart sent 1.000 SBD to @null
# @dude sent 5.095 STEEM to @bittrex
# @devil sent 5.107 STEEM to @poloniex
# @pinoytravel sent 0.010 SBD to @null
# @aladdin sent 5.013 STEEM to @poloniex
# @mrwang sent 31.211 STEEM to @blocktrades
# @kodi sent 0.030 SBD to @steembingo