/aioetherscan

Etherscan API async Python wrapper

Primary LanguagePython

aioetherscan

PyPi License Coveralls Versions

Etherscan.io API async Python non-official wrapper.

Features

API modules

Supports all API modules:

Also provides extra modules:

  • utils allows to fetch a lot of transactions without timeouts and not getting banned
  • links helps to compose links to address/tx/etc

Blockchains

Supports blockchain explorers:

Installation

pip install -U aioetherscan

Usage

Register Etherscan account and create free API key.

import asyncio

from aiohttp_retry import ExponentialRetry
from asyncio_throttle import Throttler

from aioetherscan import Client


async def main():
    throttler = Throttler(rate_limit=1, period=6.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))

        async for t in c.utils.token_transfers_generator(
                address='0x9f8f72aa9304c8b593d555f12ef6589cc3a579a2',
                start_block=16734850,
                end_block=16734850
        ):
            print(t)
    finally:
        await c.close()


if __name__ == '__main__':
    asyncio.run(main())