首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我怎样才能获得关于最近5-10项交易的信息?

我怎样才能获得关于最近5-10项交易的信息?
EN

Ethereum用户
提问于 2017-05-06 11:59:28
回答 3查看 2.4K关注 0票数 5

我希望检索由智能契约中的特定函数创建的最后5-10事务散列的信息。有什么方法可以获得历史事务散列吗?

EN

回答 3

Ethereum用户

发布于 2017-05-06 17:25:14

查找与特定函数调用对应的所有(或最后5个)事务可转换为:查找到特定地址的事务,然后检查callData的第一个字节以匹配函数签名。函数签名被计算为例如bytes3(sha3("myFunction(uint256,string,address)"))。这就是你要找的东西。

通常的库(例如web3.js)或API并不能直接提供这一点。但是您可以使用例如这个以太扫描API http://api.etherscan.io/api?module=account&action=txlist&address=0x807Aa96410f7cfF5614fD8DB6CbFa82d86B7029d&sort=asc

让我们假设您将返回的JSON对象存储在ob中,那么您可以提取事务的tx散列,从而通过以下方式调用带有签名0xdf78c1dd的函数

代码语言:javascript
复制
ob.result.forEach(function(element){
if(element.input.startsWith("0xdf78c1dd"))
  console.log("txHash: " + element.hash);
})
票数 4
EN

Ethereum用户

发布于 2017-05-06 21:18:18

该回购(https://github.com/Great-Hill-Corporation/quickBlocks)有一个名为“ethslurp”的工具,它将直接将数据传递到命令行。如果给它一个Ethereum地址,它会将所有常规事务返回到该地址。我附属于这个项目,但它做的正是你想要的。

票数 2
EN

Ethereum用户

发布于 2017-06-06 00:24:45

您可以从您感兴趣的合同中的函数中提取记录事件,然后通过查询日志获取所需的事务信息。日志包括一个事务哈希参数,然后您可以使用该参数提取每个事务的更多信息。

您创建的事件类型将有一个与其相对应的主题,您可以在特定地址查询某个主题,并返回所有日志。您甚至可以给出您想要查看的块的范围:例如,如果您知道您在#1000之前检查了所有块,那么您可以只查询自块1000之后发生的事件。如果您不想跟踪上次检查的时间,可以使用完整节点的滤波器特征来跟踪自上次查询以来的日志。

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

https://ethereum.stackexchange.com/questions/15914

复制
相关文章

相似问题

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