首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >BSC websocket端点延迟

BSC websocket端点延迟
EN

Stack Overflow用户
提问于 2021-12-06 08:41:21
回答 2查看 5.1K关注 0票数 2

最近,我试图为我的dex限制订单监视BSC链上一个合同地址的事务,最后我找到了一个稳定的解决方案来监视日志事件--“使用web套接点连接”。

代码语言:javascript
复制
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

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

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

以下是BSC websocket简介中的注释:“您可以在最多5K块范围内发出eth_getLogs请求。如果您需要频繁地拉动日志,我们建议您在可用时使用WebSockets将新日志推送给您。”

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

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-01-12 17:38:49

要优化延迟,您需要运行自己的节点,这需要一个非常强大的专用服务器,或者您可以从快速节点获得一个私有节点。

票数 0
EN

Stack Overflow用户

发布于 2021-12-06 11:17:15

用于最小化延迟的运行您自己的节点

如果你不能这样做,打开你的钱包和浏览商业节点提供程序列表

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70242780

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档