This library is developed and maintained by EtWnn, feel free to drop your suggestions or remarks in the discussion tab of the git repo. You are also welcome to contribute by submitting PRs.
- Source Code:
- https://github.com/EtWnn/ScanWatch
- Documentation:
- https://scanwatch.readthedocs.io
This library is a local tracker of transactions for the Ethereum chain and the Binance Smart chain. It is a simple interface with the etherscan and the bscscan APIs and will save locally the results to gain time and avoid over-calling the APIs.
You will need to generate an API token to use this library. Go on etherscan for the Ethereum chain and on bscscan for the BSC chain. (If you want to use both chains, you will need an API token for each).
ScanWatch
is available on PYPI, install with pip
:
pip install ScanWatch
You can also install the latest developments (not stable):
pip install git+https://github.com/EtWnn/ScanWatch.git@develop
You can then use your API token to instantiate the manager.
Example for Ethereum:
from ScanWatch import ScanManager
from ScanWatch.utils.enums import NETWORK
api_token = "<ETH_API_TOKEN>"
address = "<YOUR_ETH_ADDRESS>"
manager = ScanManager(address, NETWORK.ETHER, api_token)
Example for BSC:
from ScanWatch import ScanManager
from ScanWatch.utils.enums import NETWORK
api_token = "<BSC_API_TOKEN>"
address = "<YOUR_BSC_ADDRESS>"
manager = ScanManager(address, NETWORK.BSC, api_token)
Once the manager is setup, you can update the locally saved transactions:
manager.update_all_transactions()
# all transactions updated for address 0xaAC...748E8: 100%|████████████| 4/4 [00:02<00:00, 1.86it/s]
This needs to be done only when new transactions have been made since the last time you called the update method. Otherwise you can just fetch the transactions that have been previously saved, as shown below (see the documentation for more details).
from ScanWatch.utils.enums import TRANSACTION
manager.get_transactions(TRANSACTION.NORMAL) # normal transactions
manager.get_transactions(TRANSACTION.ERC20) # erc20 transactions
manager.get_transactions(TRANSACTION.ERC721) # erc721 transactions
manager.get_transactions(TRANSACTION.INTERNAL) # internal transactions
If this library has helped you in any way, feel free to donate:
- BTC: 14ou4fMYoMVYbWEKnhADPJUNVytWQWx9HG
- ETH: 0xfb0ebcf8224ce561bfb06a56c3b9a43e1a4d1be2
- LTC: LfHgc969RFUjnmyLn41SRDvmT146jUg9tE
- EGLD: erd1qk98xm2hgztvmq6s4jwtk06g6laattewp6vh20z393drzy5zzfrq0gaefh