首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Web3.js API调用有限制吗?

Web3.js API调用有限制吗?
EN

Stack Overflow用户
提问于 2017-05-19 00:25:41
回答 1查看 557关注 0票数 3

我正在尝试遍历这些块并获取它们的事务信息,如下所示:

代码语言:javascript
复制
var endOfLoop = app.web3.eth.blockNumber;
var latestBlockNumberInDb = 1;
    for (var i = latestBlockNumberInDb; i <= endOfLoop; i++) {
        var block = app.web3.eth.getBlock(i, true);
        console.log(i);
        if (block.transactions.length) { 
            /*TODO*/
            }
        else {
            /*TODO*/
            }
        }

问题是我正确地获得了525-545块,然后,app.web3.eth.getBlock(i)调用阻塞了执行。循环卡住了。可能使进程出错的不是传入的块,因为当我从块1000开始循环时,它会正确地获取块1000 - 1540,并在154时阻塞。

另外,app.web3.eth.blockNumber大约是300万,无论如何,问题不是关于终止循环。

有趣的是,循环上的迭代计数并不稳定。它总是在525-545之间变化。

我试图在请求之间设置延迟,但也不起作用。

同样,当我将API调用加倍时,如下所示:

代码语言:javascript
复制
var block = app.web3.eth.getBlock(i, true);
block = app.web3.eth.getBlock(i, true);

循环迭代大约270次。

API调用有限制吗?如果是这样的话,它如何被超越?

EN

回答 1

Stack Overflow用户

发布于 2021-08-08 05:49:49

一些功能与区块链交互,这些功能需要一个节点。

除非您正在运行一个节点并将web3配置为使用它,否则默认情况下它可能会使用infura.io。

Infura是一项付费服务,他们允许你在注册、获取密钥和根据需要升级计划之前,通过一些免费的API调用来查询区块链。

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

https://stackoverflow.com/questions/44053200

复制
相关文章

相似问题

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