简体   繁体   English

"以太坊 Web3.js:Intrinsic Gas 太低"

[英]Ethereum Web3.js : Intrinsic Gas too low

I have been trying to send a transaction on the Ethereum testnet Rinkeby for the past few days and keep getting this error no matter how much I increase the gas and gwei to.在过去的几天里,我一直试图在以太坊测试网 Rinkeby 上发送交易,无论我增加多少 gas 和 gwei,都会不断收到这个错误。 "Unhandled rejection Error: Returned error: intrinsic gas too low"

The data I am sending is:-我发送的数据是:-

"0x7b22416e7377657273223a5b7b225175657374696f6e223a2231222c22416e73776572223a2234227d2c7b225175657374696f6e223a2232222c22416e73776572223a2234227d2c7b225175657374696f6e223a2233222c22416e73776572223a2234227d2c7b225175657374696f6e223a2234222c22416e73776572223a2234227d2c7b225175657374696f6e223a2235222c22416e73776572223a2234227d2c7b225175657374696f6e223a2236222c22416e73776572223a2234227d5d7d"

After it has been converted to a Hex.在它被转换为十六进制之后。

I have added my code below.我在下面添加了我的代码。

 var number = web3.eth.getTransactionCount(address).then(function(count) { console.log("Count " + count); var privateKey = new EthJS.Buffer.Buffer(privateKey, 'hex'); console.log(web3.utils.toHex(finalAnswers)); var rawTx = { nonce: web3.utils.toHex(count), to: '0xF1aA87F7058e5ABE561cCe8A466eE1CC17d69639', value: 0, data: web3.utils.toHex(finalAnswers), gas: 50000, gasPrice: web3.utils.toWei('300', 'gwei') }; var tx = new EthJS.Tx(rawTx); tx.sign(privateKey); var serializedTx = tx.serialize(); web3.eth.sendSignedTransaction('0x' + serializedTx.toString('hex')).on('receipt', console.log); });

In my case, some of the methods has to bet set Gas Limit manually so I switch to a default gas limit for transaction.就我而言,某些方法必须手动设置 Gas Limit,因此我切换到交易的默认 Gas Limit。 In pancakeswap reference, it is 20,000 units https:\/\/github.com\/pancakeswap\/pancake-frontend\/blob\/master\/src\/config\/index.ts#L31<\/a> You might adapt the prop to gas<\/code> though在 pancakeswap 参考中,它是 20,000 个单位https:\/\/github.com\/pancakeswap\/pancake-frontend\/blob\/master\/src\/config\/index.ts#L31<\/a>您可以将 prop 调整为gas<\/code>

And the code look like this:代码如下所示:

const txReceipt = await callWithGasPrice(
                  wethContract,
                  "deposit",
                  undefined,
                  {
                    value: `0x${inputAmount.raw.toString(16)}`,
                    gasPrice,
                    gasLimit: DEFAULT_GAS_LIMIT,
                  }
                );

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM