使用web3发送已签名的以太坊交易时,总是会得到“天然气*价格+价值不足的资金”错误

问题描述

这是传递给web3.signTransaction的未签名交易:

  to: '0x6ac07B7C4601B5CE11de8Dfe6335B871C7C4dd4d',data: '0xa0d3253f00000000000000000000000000000000000000000000000000000000b0c797a0000000000000000000000000e666880f9397fc8e6792155c07e499170f9c8bdc',value: 0,gas: '8000000',gasPrice: '155500000000'
}

通过调用Ethereum gas station API并在快速量中加上5 gwei来计算汽油价格。 (我可能会在以后将其降低,但是为了概念验证,我想在解决问题时使用大量金额。)这是正确的,因为在撰写本文时,160 gwei被列为安全价格(自从我尝试交易以来,价格略有上涨。

但是无论我做什么,尝试使用insufficient funds for gas * price + value发送此错误时都会遇到web3.sendSignedTransaction错误。我已竭尽所能,包括使用以下方法确保钱包中有足够的资金:

const checkBalance = async () => {
  const balance = parseInt(await web3.eth.getBalance(accountNumber))
  const gasPrice = await web3.eth.getGasPrice()
  const gasLimit = 8000000
  const fundsNeeded = gasLimit * gasPrice
  if ( fundsNeeded > balance ) {
    throw new Error('Insufficient funds in wallet')
  }
}

即使以上内容没有引发错误,我仍然以insufficient funds for gas * price + value结尾。我该怎么办?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)