Etherscan.io API async Python non-official wrapper.
Supports all API modules:
Also provides extra modules:
utils
allows to fetch a lot of transactions without timeouts and not getting bannedlinks
helps to compose links to address/tx/etc
Supports blockchain explorers:
pip install -U aioetherscan
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())