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))
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))