Transactions

在 ethers.js 中無法確定合約交易的 EIP-1599 參數

  • September 6, 2021

我在https://docs.ethers.io/v5/api/contract/contract/#contract-functionsSend關注契約文件

到了我的契約呼叫看起來像這樣的地步(someMethod並且someArgument是不相關的佔位符值)

     contract.someMethod(someArgument, {
       gasLimit: 100000,
       maxPriorityFeePerGas: 5,
       maxFeePerGas: 200,
       value: 0.7
     })

執行這個方法我得到了各種各樣的錯誤,比如

下溢

處理響應錯誤

我不確定我為什麼會得到這些,但我認為由於我傳遞給契約的選項,它們可能格式錯誤?我試圖找到有關如何正確格式化這些的文件,但沒有成功。目前我遵循與 MetaMask 擴展相同的輸入格式

maxPriorityFeePerGas,maxFeePerGasvalue應該是 Wei(乙太坊上的最小單位)。您可以使用 Ethers.js’parseUnits將 Gwei 或 Ether 中的值轉換為 Wei:

contract.someMethod(someArgument, {
 gasLimit: 100000,
 maxPriorityFeePerGas: ethers.utils.parseUnits('5', 'gwei'),
 maxFeePerGas: ethers.utils.parseUnits('200', 'gwei'),
 value: ethers.utils.parseUnits('0.7') // 'ether' is the default
});

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