BEP-20 代币交易中的交易定价过低

时间:2021-06-14 15:01:04

标签: node.js ethereum smartcontracts web3js binance-smart-chain

我在 Binance-Peg BUSD-T 的 Binance Smart Chain 上做了一些交易,并且成功了。但是经过5次交易。我面临一个问题,说 select (id, x,y) from tablename !这是我的代码:

Returned error: transaction underpriced

我已经增加了 10% 的 gas 并添加了比通过调用给我的值多的随机数 const web3 = new Web3('https://bsc-dataseed1.binance.org:443'); const contract = new web3.eth.Contract(abi, usdtContractAddr, { from: 'SENDER_ADDRESS', // default from address gasPrice: '200000000' // default gas price in wei, 20 gwei in this case }); web3.eth.accounts.wallet.add('SENDER_PRIVATE_KEY'); const receipt = await contract.methods.transfer('TO_ADDRESS', '1000000000000000000').send({ from: 'SENDER_ADDRESS', gas: 100000 }); 。但它们都不起作用。我曾经在 Binance-Peg BUSD-T 上做过很多交易,所以这对我来说是个大问题。有没有办法解决这个问题???

1 个答案:

答案 0 :(得分:0)

“交易定价过低”错误发生,当您尝试替换交易并且替换燃料价格太低时。

web3.eth.getTransactionCount() 只返回开采的交易量。但是你可以有 N 个(不仅仅是一个)等待被挖掘的交易,其随机数已经更高。

示例:

  • 您已提交 4 笔交易 - 随机数 1、2、3 和 4。
  • 交易 1 和交易 2 已成功挖掘。
  • getTransactionCount() 返回 2
  • 当您尝试使用随机数 3 或 4 提交另一个交易时,它会尝试替换现有交易。

解决方案:

如果您想替换现有交易,请使用更高的汽油价格。

或者,如果您想提交新交易(而不是替换之前的交易),请使用您的地址尚未使用的更高现时值(“成功挖掘”+“等待挖掘”+1 的总和)。