Etherscan.ioAPI async Python non-official wrapper.
Supports all API modules:
Also provides extra module, which supports:
linkhelps to compose links to address/tx/etccontracthelps to fetch contract datageneratorsallows to fetch a lot of transactions without timeouts and not getting banned
Supports blockchain explorers:
pip install -U aioetherscanRegister Etherscan account and create free API key.
importasyncioimportloggingfromaiohttp_retryimportExponentialRetryfromasyncio_throttleimportThrottlerfromaioetherscanimportClientlogging.basicConfig(format='%(asctime)s - %(message)s', level=logging.INFO)
asyncdefmain():
throttler=Throttler(rate_limit=4, period=1.0)
retry_options=ExponentialRetry(attempts=2)
c=Client('YourApiKeyToken', throttler=throttler, retry_options=retry_options)
try:
print(awaitc.stats.eth_price())
print(awaitc.block.block_reward(123456))
address='0x9f8f72aa9304c8b593d555f12ef6589cc3a579a2'asyncfortinc.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:
awaitc.close()
if__name__=='__main__':
asyncio.run(main())