Web3js

奇怪的塊行為,交易從經過驗證的塊中刪除

  • July 24, 2021

我在使用 infura 的Goerli Testnet上遇到了一個非常奇怪的問題。一個區塊中的交易數量從168個交易減少到164個。

我正在開發一個塊跟踪器,在收到塊(newBlocksHeader 訂閱)後,我遍歷從(web3.eth.getBlock(blockNumber, true))接收到的塊事務並過濾掉所需的。

其中一筆交易失去了。因此,當我再次嘗試獲取塊時,我看到交易數量與我之前記錄的交易數量不同。

這就是我的系統記錄的塊4988374168個 txs 並且過濾的是 18 個。

圖 1

這就是我嘗試通過失去事務進行調試時得到的結果,塊4988374164個 txs,過濾為 23 個。這次我失去的事務包含在這個塊中。

圖 2

我不確定這裡發生了什麼,如何建構一個不會錯過任何交易的可靠系統。

對於乙太坊來說,最多 6 個區塊深度的小區塊鏈重組是正常的。具有工作量證明的乙太坊主網只有機率確定性,而不是真正的確定性,任何區塊都可能消失。

更多關於最終性的資訊

我只在 infura api 上發現了這個問題。所以我切換到我自己的 RPC 節點,現在我再也沒有看到這個問題。

引用自:https://ethereum.stackexchange.com/questions/102193