Web3js

使用 truffle 呼叫合約上的函式時,我不斷得到 nonce 太低,即使這在 remix 上執行良好。我該如何解決這個問題

  • February 24, 2022

當在 kovan 測試網上執行帶有子交易的函式時,我不斷得到 nonce 太低有沒有辦法阻止這種情況發生?這些子交易正在與其他合約進行交易。

例如

function randUseCount(testContract UseNum) public returns (uint){
   randomResult = randomResult% (UseNum.userCountView())+1;
   return (randomResult);
}

其中 testContract 是它呼叫的合約。這在混音上非常有效,我正在使用 kovan 測試網。

我的猜測是你在其他地方使用同一個錢包。Web3 會保留一個 nonce 的內部註釋,一旦通過 Web3 腳本進行更多交易,它就會在內部增加它。如果你在其他地方使用同一個錢包(例如,另一個 Web3 腳本或 Metamask 中),該內部隨機數將與傳播該交易所需的真實隨機數不同步。

這是由於契約沒有足夠的資金來執行我要求它執行的功能。

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