获取所有uniswap交易对

参考 https://www.reddit.com/r/UniSwap/comments/atddo2/effective_way_to_get_all_uniswap_exchange/

from web3.auto import w3

abi = [{"name": "NewExchange", "inputs": [{"type": "address", "name": "token", "indexed": True}, {"type": "address", "name": "exchange", "indexed": True}], "anonymous": False, "type": "event"}]

uniswap = w3.eth.contract('0xc0a47dFe034B400B47bDaD5FecDa2621de6c4d95', abi=abi)
events = uniswap.events.NewExchange.createFilter(fromBlock=6627917).get_all_entries()
token_exchange = {e.args.token: e.args.exchange for e in events}

这个代码有好几个需要改一下

  1. w3 需要换成自己的infura的 wss,infura http的不支持ethFilter

  2. 需要把超时加进去 https://web3py.readthedocs.io/en/stable/providers.html

  3. createFilter(fromBlock=6627917, toBlock=6627927) 需要这样慢慢请求 for循环吧 不然怎么都会超时唉

    PROVIDER = "wss://mainnet.infura.io/ws/v3/api-key"
    w3 = Web3(Web3.WebsocketProvider(PROVIDER, websocket_kwargs={'timeout': 60}))

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Providers providers 是web3如何与区块链交谈。providers 接受JSON-RPC请求并...
    furnace阅读 1,825评论 0赞 0
  • 通信服务提供接口是web3如何与区块链交互的关键。接口接受JSON-RPC请求并返回响应。这通常通过将请求提交给基...
    编程狂魔阅读 2,136评论 0赞 0
  • Contracts 值得花时间了解合同的所有内容。要开始,请查看此示例: Contract Deployment ...
    furnace阅读 2,165评论 0赞 0
  • 三番电话发邀请, 两次磋商聚剑城。 多载神交称老弟, 几场醉饮谢胞兄。 年龄隔代情当带, 地域横江桥结盟。 未敢因...
    久歌阅读 3,191评论 0赞 0
  • 给定一个含有 n 个正数的数组 x。从点 (0,0) 开始,先向北移动 x[0] 米,然后向西移动 x[1] 米,...
    vbuer阅读 286评论 0赞 0

友情链接更多精彩内容