簡體   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