微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Python web3 获得最大的持有者

如何解决Python web3 获得最大的持有者

我使用的是 web3 5.14.0Infura

我正在尝试获得一些硬币的最大持有者(例如现在的链环)。为此,我认为我需要遍历所有传输事件并创建所有接收传输的字典。除非有更直接的解决方案。

所以我写了以下内容

from web3 import Web3

ABI_REQUEST_ENDPOINT = 'https://api.etherscan.io/api?module=contract&action=getabi&address='
def etherscan_fetch_abi(addr):
    response = requests.get('%s%s'%(ABI_REQUEST_ENDPOINT,addr))
    response_json = response.json()
    abi = json.loads(response_json['result'])
    return abi

web3 = Web3(Web3.HTTPProvider(url))
address = web3.tochecksumAddress('0x514910771AF9Ca656af840dff83E8264EcF986CA')
abi = etherscan_fetch_abi(address)
contract = web3.eth.contract(address=address,abi=abi)
latest = web3.eth.blockNumber
transferEvents = contract.events.Transfer.createFilter(fromBlock=latest-100,toBlock=latest)
transferEvents.get_all_entries()

这总是返回一个空列表。知道我怎么能绕过这个吗?

谢谢!

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。