Pending-Transactions
使用 getTransactionCount() + 1 可以防止等待待處理的交易嗎?
我測試了以低時間間隔發送多筆交易,我知道他們會等待之前的交易被確認。我沒有在事務程式碼中使用 Nonce,因為它是可選的。但我想知道,有沒有什麼方法可以在不等待之前確認的情況下發送交易?
我考慮過使用
nonce = getTransactionCount() + 1
,但我不確定它是否正確?以及我必須在其中設置哪個條件latest
,earliest
或者pending
為此解決方案。
我想過使用
nonce = getTransactionCount() + 1
如果您沒有
nonce
明確指定,Web3.js 會為您執行此操作,因此不會有任何區別。有什麼方法可以在不等待確認之前的交易的情況下發送交易?
是的,正如您所描述的那樣(發送它們而無需等待之前的確認)。
您可以“手動”增加 Nonce,進行內部控制。您可以創建一個 sendSignedTransactions 數組,並在使用 Promise.all 解決後,這是一種替代方案。據我所知,隊列最多支持 64 個事務。
至少在 Rinkeby 網路上,你只有在下一個區塊被探勘時才會收到收據,所以你會遇到每分鐘 4 筆交易的瓶頸。
如果發生錯誤,發送多個鏈事件將需要復雜的邏輯。