以太坊 Web3.js:内在 Gas 太低

Cha*_*ard 6 javascript ethereum web3js

在过去的几天里,我一直在尝试在以太坊测试网 Rinkeby 上发送一笔交易,无论我将 Gas 增加多少,都会不断收到此错误。

“未处理的拒绝错误:返回错误:内在气体太低”

我发送的数据是:

"0x7b22416e7377657273223a5b7b225175657374696f6e223a2231222c22416e73776572223a2234227d2c7b225175657374696f6e223a2232222c22416e73776572223a2234227d2c7b225175657374696f6e223a2233222c22416e73776572223a2234227d2c7b225175657374696f6e223a2234222c22416e73776572223a2234227d2c7b225175657374696f6e223a2235222c22416e73776572223a2234227d2c7b225175657374696f6e223a2236222c22416e73776572223a2234227d5d7d"
Run Code Online (Sandbox Code Playgroud)

转换为十六进制后。

我在下面添加了我的代码。

"0x7b22416e7377657273223a5b7b225175657374696f6e223a2231222c22416e73776572223a2234227d2c7b225175657374696f6e223a2232222c22416e73776572223a2234227d2c7b225175657374696f6e223a2233222c22416e73776572223a2234227d2c7b225175657374696f6e223a2234222c22416e73776572223a2234227d2c7b225175657374696f6e223a2235222c22416e73776572223a2234227d2c7b225175657374696f6e223a2236222c22416e73776572223a2234227d5d7d"
Run Code Online (Sandbox Code Playgroud)

小智 0

就我而言,某些方法必须手动设置 Gas Limit,因此我切换到交易的默认 Gas Limit。在 pancakeswap 参考中,它是 20,000 个单位https://github.com/pancakeswap/pancake-frontend/blob/master/src/config/index.ts#L31gas您可以调整 该道具

代码如下所示:

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

Run Code Online (Sandbox Code Playgroud)