在以太坊上发送交易并不完全像在 RDBMS 中执行 INSERT 语句一样——发送失败的情况有很多种,通常在你不监视它的几分钟后。你只有在它被矿工挖了之后才能获得确定性;再加上有潜在的分叉,让你总是要做好应变的准备。

另一方面,INSERT 语句传送的并不总是有价值的资产和数据,以太坊就是这种情况。

出于这些原因,在提交以太坊交易之前了解交易的行为通常也很有用。

今天,我们很高兴宣布首个 beta 版 dfuse 以太坊交易执行预测工具

如果你属于以下几种情况之一,这个工具会对你有很大的帮助:

  • 你用 eth_estimateGas 或其他估算服务来预测交易的 gas 成本。如果你想对你的调用进行优化,这个功能也会给你提供精确的子调用 gas 消耗。
  • 你在关注某个合约以及它可能产生的 ERC-20 转账。
    • 比如你在开发一个 UI 或者钱包,想象你的用户在收到转账之前,交易被挖之前就能获得通知。
  • 你在执行交易操作,并且想要在交易提交上链之前了解能影响它的潜在因素。
    • 如果你能提前知道自己已经失去了套利的机会,你还会真的签署该交易吗?

dfuse 以太坊交易执行预测工具是一个新的 GraphQL 端点,您可以向其提交未签名的交易有效负载并获取以下信息:

  • 详细的 gas 成本估算,包括每个调用树的累积 gas 量,以及最终计数。
  • 完整的调用树,包括输入值、返回值、失败调用和日志事件。
  • 状态变化以及导致这些变化的 Keccak 哈希。
  • 使用 GraphQL 调整数据反馈需求,仅获取你需要的数据。

这样你就可以确切地看到交易会发生什么,在执行前能知道你的操作会不会盈利,交易提交是否会失败,还能获取到其中所有兑换、转账、清算及其金额。所有这些都是实时的。在进入人们所说的以太坊黑暗森林之前,这是你所需要的 GPS。

想试试吗,我们给你准备好了一个即用的实例,你只需更改定义的变量即可。

想了解更多细节或需要我们的帮助? 我们肯定没有列全这个新 API 的所有使用方式,加入我们的微信群Telegram,让我们了解你今天用 以太坊 API 解决(或仍然面临)的最大挑战。