【发布时间】:2021-10-07 23:14:05
【问题描述】:
如何跟踪 bsc 网络中钱包列表的代币交易?
我考虑使用 websocket 和过滤功能。我认为可以将topics 用作过滤器参数的一部分,并仅将Transfer 事件反映到/来自监视地址,这样我的应用程序就不必处理不必要的数据。
但是我做错了,不知道如何正确地将钱包列表(或至少只有一个钱包)作为我的过滤函数的参数。该怎么做?
我在从Transfer 事件中获取数据时遇到问题,因为我不知道如何解码HexBytes 类型。我看到了它的 web3.js 函数,但 web3.py 没有。
address_list = ['0x67fdE6D04a82689a59E5188f9B572CBeF53D4763', '...', '...']
web3 = Web3(Web3.WebsocketProvider('wss://bsc.getblock.io/mainnet/?api_key=your_api_key'))
web3_filter = web3.eth.filter({'topics': address_list})
while True:
for event in web3_filter.get_new_entries():
print(web3.toJSON(web3.eth.wait_for_transaction_receipt(event).logs))
【问题讨论】:
标签: python blockchain smartcontracts web3