【问题标题】:BSC websocket endpoint lantencyBSC websocket 端点延迟
【发布时间】:2022-01-11 12:03:06
【问题描述】:

我最近正在尝试监控 BSC 链上合约地址的交易以获取我的 dex 限价订单,我终于找到了一个稳定的解决方案来监控日志事件——“使用 web sockect 连接”。

bsc = "wss://ws-nd-112-055-480.p2pify.com/xxxxxxxxxxxxxxxxxxx"
web3 = Web3(Web3.WebsocketProvider(bsc))
poolAdd = '0x0eD7e52944161450477ee417DE9Cd3a859b14fD0'
block_filter = web3.eth.filter({'fromBlock': 'latest', 'address': poolAdd, 'topics': [sha128Dic['swap']]})
while 1:
    log_new(block_filter)
    time.sleep(1)

但是,我尝试在下面的列表中更改一些 websokect 端点提供程序,交换事件日志仍有一些巨大的时间延迟。其中一些发生在将近一小时前。

wss://bsc-ws-node.nariox.org:443

莫拉利斯:https://moralis.io/speedy-nodes/

ANKR:https://app.ankr.com/api

链栈:https://chainstack.com/build-better-with-binance-smart-chain/

当我切换回 http 提供程序时,例如:Web3.HTTPProvider('https://bsc-dataseed.binance.org/')。事件日志几乎是及时的,但一些“过滤器未找到异常将在时间流逝期间发现”。

这是写在 BSC websocket 简介上的注释:'您可以发出 eth_getLogs 请求,最大块范围为 5K。如果您需要频繁拉取日志,我们建议您使用 WebSockets 在可用时将新日志推送给您。'

谁能帮忙找到一个更好的方法来获得一个及时的 websocket 端点?

【问题讨论】:

    标签: python endpoint web3 bsc


    【解决方案1】:

    Run your own node 用于最小化延迟。

    如果你做不到,请打开你的钱包并browse the list of commercial node providers

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-06-11
      • 2017-11-13
      • 1970-01-01
      • 1970-01-01
      • 2016-03-16
      • 1970-01-01
      • 2019-07-18
      • 2021-02-12
      相关资源
      最近更新 更多