This package was created in the hope to provide a multi-chain API wrapper for the blockscan.com endpoints and reduce the overhead of using multiple single chain wrapper.
The following blockchains from blockscout.com are also provided BUT it's because blockscout offers the API for developers transitioning their applications from Etherscan to BlockScout. If they deprecate those API in the future so will this package.
- Gnosis (100)
- Ethereum Classic (61)
- Ethereum Classic Mordor (63)
- Ethereum Classic Kotti (6)
- POA Core (99)
- POA Sokol (77)
- Artis Sigma1 (246529)
- RSK (30)
- Hoo Smart Chain (70) (This one is technicaly part of blockscan.com but is built on top of blockscout)
Blockscan-python can be installed using pip
as follows:
$ pip install blockscan-python
Refer to the full documentation for the list of endpoints and the specific blockscan provider for compatibility. This package doesn't filter the endpoints on a per-chain basis. This means that some calls will fails if the provider doesn't support it.
- The chain ID you want to connect to.
Refer to chainlist if unknown
- Specific chain API Token provided by blockscan
(i.e: An etherscan.io token for Ethereum)
Exception: Any Blockscout chain takes an empty string "", No token required
The connection can be created as Sync:
>>> from blockscan import Blockscan
# Sync connection to etherscan.io
>>> client = blockscan(1, "MYAPITOKEN", is_async=False)
>>> client.accounts.get_currency_balance(
"0x0000000000000000000000000000000000000000"
)
'11400022397988649428803'
But will default to Async if no parameter is provided:
>>> from blockscan import BlockScan
#Async connection to bscscan.com
>>> client = Blockscan(56, "MYAPITOKEN")
>>> bal = await client.accounts.get_currency_balance(
"0x0000000000000000000000000000000000000000"
)
>>> print(bal)
'1073557893975925234717'
The full list of parameters is available in the documentation
I made this has a fun side project and it's free for anyone to use. If you like it and wish to donate here's a few of my crypto wallets.
Ethereum and L2s (0x29006...) | Monero (85tBS7YSrM5...) | Peercoin (PBzj1ZwMDW...) |
---|---|---|
- Free software: MIT license
- Documentation: https://blockscan-python.readthedocs.io.
Credits to @pcko1 for making the bscscan-python that was used as the base for this package
- Add a reference table of the available Chain ID to the docs