def sync(seed: str): Client(os.environ.get('SENTRY_DSN')) public_url = get_my_public_url() if public_url: echo(f"You have a public node url. ({public_url})") Node.broadcast(Node.post_node_endpoint, {'url': public_url}) Node.update(Node.get(url=seed)) engine = db.engine if not engine.dialect.has_table(engine.connect(), Block.__tablename__): echo("You need to initialize. try `nekoyume init`.") return False while True: try: prev_id = Block.query.order_by(Block.id.desc()).first().id except AttributeError: prev_id = 0 Block.sync(echo=echo) try: if prev_id == Block.query.order_by(Block.id.desc()).first().id: echo("The blockchain is up to date.") time.sleep(15) except AttributeError: echo(("There is no well-connected node. " "please check you network.")) break
def init(seed): click.echo('Creating database...') db.create_all() click.echo(f'Updating node... (seed: {seed})') if seed: Node.update(Node.get(url=seed)) else: Node.update() click.echo('Syncing blocks...') Block.sync(click=click)
def init(seed, sync): echo('Creating database...') db.create_all() echo(f'Updating node... (seed: {seed})') if sync: Node.update(Node.get(url=seed)) echo('Syncing blocks...') Block.sync(echo=echo) echo('Compiling translations...') dir_path = os.path.abspath(os.path.dirname(__file__)) compile_command = compile_catalog() compile_command.directory = dir_path + '/translations' compile_command.finalize_options() compile_command.run()
def test_node(fx_server, fx_session): assert fx_server.url assert Node.get(fx_server.url, session=fx_session) assert Node.get(fx_server.url, session=fx_session).url == fx_server.url assert Node.get(fx_server.url, session=fx_session).last_connected_at