如何收听Metamask的web3的“确认” /“取消”合同事件?

时间:2018-09-26 06:52:41

标签: javascript ethereum web3 metamask

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

但是在调用contract.new()时似乎没有编码来捕获确认/取消按钮单击事件(下图为img)

metamask's pop for user to confirm/cancel

有没有办法赶上活动?谢谢。

2 个答案:

答案 0 :(得分:1)

自己找到答案

如果用户单击“取消”按钮,则下面的“ processedContract”变量将不确定。 如果得到确认,它将是合同,并且如果有地址(processingContract.address),则说明该合同正在被开采。

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

答案 1 :(得分:1)

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

<块引用>

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

<块引用>

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

You can see detail here.

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

当您点击取消按钮时,您可以在错误事件中处理这种情况。