【发布时间】:2022-01-07 13:38:03
【问题描述】:
问题
我正在尝试使用测试网络中的合约方法(ropsten),但由于此错误而失败:
原因:'无法估算气体;交易可能会失败或可能需要手动限制气体”, 代码:'UNPREDICTABLE_GAS_LIMIT'
代码
我创建了一个智能合约的实例并想调用它的注册方法:
const registrationContract = new ethers.Contract(ADDRESS, abi, signer);
const hashedDomain = utils.keccak256(utils.toUtf8Bytes(domain));
const register = await registrationContract.register(hashedDomain, walletAddress);
ethers.js 是否提供了设置合约限制的功能?或者这可以通过其他方式完成吗?我在documentation 中没有找到。
【问题讨论】:
-
我认为 gasLimit 通常是在 message 参数中传递的。我不知道是否总是这样。你能提供你正在尝试使用的合同吗?例如,使用 uniswap,您可以将 gas 限制设置为
x:uniswap.swapExactTokensForETH(tokenAmount, ethAmount, etc., {gasLimit: x})
标签: javascript ethereum ethers.js ether