从批准合同中估算 ETH 中的 gas

Posted

技术标签:

【中文标题】从批准合同中估算 ETH 中的 gas【英文标题】:Estimate gas in ETH from an approve contract 【发布时间】:2022-01-14 19:56:40 【问题描述】:

我想在批准合同后估算Gas:

WETH = weth.address;
USDC = usdc.address;

await usdc.approve(addr1, addr2).estimateGas;

当我尝试这个时,我遇到了这个错误:

TypeError: usdt.approve(...).estimateGas is not a function

【问题讨论】:

【参考方案1】:

Truffle 使用不同的语法。您需要将函数参数传递给estimateGas(),而不是approve() 函数。

await usdc.approve.estimateGas(addr1, addr2);

文档:http://trufflesuite.com/docs/truffle/getting-started/interacting-with-your-contracts#special-methods-on-truffle-contract-objects

注意:您的代码定义了usdc,然后错误消息指出usdt。我假设这只是创建问题时的拼写错误,与原始问题无关。

【讨论】:

以上是关于从批准合同中估算 ETH 中的 gas的主要内容,如果未能解决你的问题,请参考以下文章

再深刻理解下web3.js中estimateGas如何计算智能合约消耗的gas量

eth链gas失败扣多少

[Contract] ETH 与 Gas 之间的价格转换关系, Ethereum Gas Price Chart

估算 ERC20 传输的气体

以太坊源代码 - eth_call以及eth_sendTransaction区别

如何从 Azure DevOps 中的部署后批准/部署后门调用 Powershell 脚本