【问题标题】:How to listen to Metamask's web3's "confirm"/"cancel" event of a contract?如何监听 Metamask 的 web3 的合约“确认”/“取消”事件?
【发布时间】:2019-03-01 20:54:50
【问题描述】:

由于 metamask 注入的 web3 跟随 https://github.com/ethereum/wiki/wiki/JavaScript-API

但是在调用contract.new()时似乎没有编码来捕捉确认/取消按钮的点击事件(如下图)

有没有办法捕捉事件?谢谢。

【问题讨论】:

    标签: javascript ethereum web3 metamask


    【解决方案1】:

    要处理用户对合约函数的确认/取消响应,您可以使用发送函数中的 transactionHash 事件和 error 事件。

    “transactionHash”返回transactionHash:String:当交易哈希可用时触发。

    "error" 返回错误: 错误:如果在发送过程中发生错误则触发。如果交易被网络拒绝并带有收据,则收据将作为错误对象的属性提供。

    You can see detail here.

    当您点击确认按钮时,您可以在 transactionHash 事件中处理这种情况。

    当您点击Cancel按钮时,您可以在error事件中处理这种情况。

    【讨论】:

      【解决方案2】:

      自己找到答案

      如果用户单击“取消”按钮,则下面的“processedContract”变量将未定义。 如果得到确认,它将是合约,如果它有一个地址(processedContract.address),那么它正在被挖掘。

      newContract.new({...}, function(e, processedContract) {...});
      

      【讨论】:

        猜你喜欢
        • 2020-10-04
        • 2022-06-14
        • 2020-01-13
        • 1970-01-01
        • 2021-12-01
        • 2011-09-02
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多