Example #1
0
def main(port, force=False):
    server = Server(f'http://127.0.0.1:{port}')

    last_block = None

    while True:
        try:
            info = server.getblockchaininfo()
            trace(info)

            if info['block'] != last_block:
                needs_solve = (last_block is not None) or force
                trace('needs_solve?', needs_solve)

                if needs_solve:
                    block = server.getblockinfo(info['block'])
                    sol = solve(block)
                    trace('sol:', sol)
                    if sol:
                        trace('submit')
                        r = server.submit(sol['block'], sol['task_sol_fn'],
                                          sol['puzzle_sol_fn'])
                        trace(r)

                last_block = info['block']
        except:
            trace(traceback.format_exc())
            pass
        trace('idle')
        time.sleep(random.randint(15, 25))
Example #2
0
def main(port):
    server = Server(f'http://127.0.0.1:{port}')

    last_block = None

    while True:
        info = server.getblockchaininfo()
        trace(info)

        if info['block'] != last_block:
            last_block = info['block']

            notify_user('New block ' + str(last_block),
                        title='ICFPC',
                        sound='Basso')

        time.sleep(random.randint(15, 25))