我希望检索由智能契约中的特定函数创建的最后5-10事务散列的信息。有什么方法可以获得历史事务散列吗?
发布于 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的函数
ob.result.forEach(function(element){
if(element.input.startsWith("0xdf78c1dd"))
console.log("txHash: " + element.hash);
})发布于 2017-05-06 21:18:18
该回购(https://github.com/Great-Hill-Corporation/quickBlocks)有一个名为“ethslurp”的工具,它将直接将数据传递到命令行。如果给它一个Ethereum地址,它会将所有常规事务返回到该地址。我附属于这个项目,但它做的正是你想要的。
https://ethereum.stackexchange.com/questions/15914
复制相似问题