【问题标题】:Difference between Receipt & Confirmation callbacks收据和确认回调之间的区别
【发布时间】:2021-09-18 06:39:02
【问题描述】:

我想以编程方式验证交易是否成功 - 也就是说,Etherum 网络本身承认对于给定的交易哈希,它是有效的。

使用 web3.eth.sendSignedTransaction 返回的承诺,有两个事件 - 一个“确认”,另一个“收据”。

我可以依靠“收据”回调来确定交易确实发生了吗?还是我也必须依靠“确认”回电?如果是这样 - 如何?

同样,阅读 getTransactionReceipt 它提到 -

收据不可用于待处理的交易并返回 null。

那么,如果我确实收到了收据 - 这意味着交易不再“待处理”?也就是,成功了吗?

【问题讨论】:

    标签: ethereum web3


    【解决方案1】:

    _所以,如果我确实收到了收据 - 这意味着交易不再“待处理”?也就是,成功了吗?

    当收据变为可用时(或在您的情况下处理了事件),这意味着该交易被挖掘到一个块中。

    但是 tx 可能已被还原(如果它是智能合约的 tx,由于某种原因将其还原)。检查收据栏status

    • true 表示交易成功
    • false 表示已还原

    请注意,status 不包含在拜兹纳提之前(2017 年 10 月)的交易中,并且在未来的某些交易类型中也可能会丢失。在this answer 中查看有关交易类型的更多信息。

    【讨论】:

      猜你喜欢
      • 2010-09-26
      • 1970-01-01
      • 2020-05-02
      • 2012-08-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-05-02
      相关资源
      最近更新 更多