繁体   English   中英

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

[英]How to listen to Metamask's web3's "confirm"/"cancel" event of a contract?

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

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

元掩码弹出供用户确认/取消

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

自己找到了答案

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

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

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

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

“错误”返回错误:错误:如果在发送过程中发生错误则触发。 如果交易被网络拒绝并带有收据,则收据将作为错误对象的属性可用。 在此处输入图片说明

您可以在此处查看详细信息。

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM