Skip to content
This repository has been archived by the owner on Jan 17, 2023. It is now read-only.
/ aio-nano Public archive

An asynchronous nano currency library

License

Notifications You must be signed in to change notification settings

ogtega/aio-nano

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

27 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

aio-nano

Overview

This library contains an asynchronous python RPC client for Nano nodes, allowing you to more easily develop on the Nano network with fully type annnotated methods and responses.

Installation

PIP

pip install aio-nano

Poetry

poetry add aio-nano

Example Async HTTP RPC Call

from aio_nano import Client
import asyncio

async def main():
  api_key = ...
  client = Client('https://mynano.ninja/api/node', {'Authorization': api_key})

  supply = await client.available_supply()
  print(supply)

asyncio.run(main())

Example Async WebSocket RPC Subscription

import asyncio
from time import time

from aio_nano import WSClient


async def main():
  ws = await WSClient("ws://localhost:7078").connect()
  start = time() * 1000
  await ws.subscribe("confirmation", lambda x: print(x), ack=True)
  print(f"Acked in {time() * 1000 - start}ms")

  await asyncio.Future()


asyncio.run(main())