PyPi License Coveralls Versions
Etherscan.io API async Python non-official wrapper.
Supports all API modules:
Also provides extra
module, which supports:
link
helps to compose links to address/tx/etccontract
helps to fetch contract datagenerators
allows to fetch a lot of transactions without timeouts and not getting banned
Supports blockchain explorers:
pip install -U aioetherscan
Register Etherscan account and create free API key.
import asyncio import logging from aiohttp_retry import ExponentialRetry from asyncio_throttle import Throttler from aioetherscan import Client logging.basicConfig(format='%(asctime)s - %(message)s', level=logging.INFO) async def main(): throttler = Throttler(rate_limit=4, period=1.0) retry_options = ExponentialRetry(attempts=2) c = Client('YourApiKeyToken', throttler=throttler, retry_options=retry_options) try: print(await c.stats.eth_price()) print(await c.block.block_reward(123456)) address = '0x9f8f72aa9304c8b593d555f12ef6589cc3a579a2' async for t in c.extra.generators.token_transfers( address=address, start_block=19921833, end_block=19960851 ): print(t) print(c.extra.link.get_tx_link(t['hash'])) print(c.extra.link.get_address_link(address)) finally: await c.close() if __name__ == '__main__': asyncio.run(main())