Web3js
為什麼一筆交易會觸發 12 或 24 個確認事件?
Web3.js 文件聲明將觸發確認事件:
為什麼在每種情況下觸發事件的次數不同?
更重要的是,我究竟應該使用這些事件做什麼?
目前,我只是簡單地
await
為函式完成,然後使用返回值,這是一個Promise
包含交易收據的解析(除非我們正在處理合約部署,在這種情況下它將包含新合約的實例)。據我了解,此收據也可以通過以下方式獲得:
myContract.methods.myMethod().send().on('receipt', function(receipt){...});
我假設這種獲取收據的額外方式是用於當您還想處理其他事情時,例如那些確認事件,據我觀察,這些事件不一定在收據可用之前發生。
我是否需要計算 12 個(或 24 個)事件才能確保資訊接收反映了區塊鏈?
謝謝!
當一筆交易被挖出時,收據就可以使用了,此時確認號為0,隨著更多的區塊被添加到區塊鏈中,確認號增加。更高的確認數,我們將更有信心交易是在最長的路徑上並且無法撤消。
假設您接受具有一定數量確認的交易,您可以在確認事件中過濾該確認號碼。
.on('confirmation', function(confirmationNumber,receipt){})
關於為什麼在不同的場景中事件最多發出 12 次和 24 次確認,我不太清楚。