首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >etherscan不输出挂起的事务。

etherscan不输出挂起的事务。
EN

Stack Overflow用户
提问于 2021-03-29 03:26:08
回答 1查看 2.6K关注 0票数 3

我在这里使用etherscan:(https://sebs.github.io/etherscan-api/#txlist)为用户获取事务列表(给定公钥),并且我只获得已清除事务的列表,即使在etherscan.io上我也可以看到所有挂起的事务,所以信息是“在那里”的。深入了解源https://github.com/sebs/etherscan-api/blob/master/lib/account.js#L122,我没有发现可以在哪里查找挂起事务的指示。代码如下:

代码语言:javascript
复制
const etherscan = require('etherscan-api').init(ETHERSCAN_TOKEN, 'ropsten', '3000');

    etherscan.account
        .txlist(public_key, 1, 'latest', 1, 100, 'asc')
        .then(res => {
            console.log("tx_list: ", res.result)
        })


    // get num of transactions
    etherscan.proxy
        .eth_getTransactionCount(public_key, 'latest')
        .then(res => {
            let count = res.result
            console.log("eth_getTransactionCount: ", parseInt(count))
        })
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-03-29 07:02:26

Etherscan在API中不提供挂起的事务。

这可能是因为如何收集和显示挂起的事务。所有挂起的事务都收集在Ethereum内存池中。我的猜测是,以太扫描会将每个条目从mempool添加到某种可快速搜索的数据库中,比如ElasticSearch,并在事务从内存池中删除时移除DB条目。然后,地址详细信息页在ES中执行简单搜索,只过滤来自/到此特定地址的事务。

如果web3提供程序允许websocket连接和订阅,则可以对pendingTransactions事件进行订阅

它每次将新事务添加到内存池时都会触发一个事件。该事件只包含事务哈希(不包含发送方和接收方等其他数据)。

因为事件只包含tx哈希,所以总是对tx细节执行新的查询并不是很有效,但是它在其他一些情况下很有用,比如您事先知道tx哈希,并且只想知道它何时被成功广播。

还有一个BlockCypher REST,它有一个有限的免费计划(以及一些较少的付费计划),它返回所有悬而未决的事务,包括the,这样您就可以对结果执行自己的搜索。如果这符合您的用例,请参阅他们的文档

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

https://stackoverflow.com/questions/66848400

复制
相关文章

相似问题

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