Solidity

你如何估計使用 Ethers.js 部署智能合約的 gas 成本?

  • March 4, 2022

我想知道使用 Ethers.js 部署我的智能合約需要多少 gas。

我知道如何為與 的交易估算它contract.estimateGas.functionName(),但我似乎無法弄清楚如何為智能合約做這件事。

請幫忙。謝謝!

您首先需要獲取編碼的合約部署數據,如下所示:

const deploymentData = contract.interface.encodeDeploy([<constructor_arguments>])

然後,您可以使用這些數據來獲得估計的氣體限制,如下所示:

const estimatedGas = await ethers.provider.estimateGas({ data: deploymentData });

使用contractFactory.getDeployTransaction,見文件

範常式式碼:

const contract = new ethers.ContractFactory(...);
const estimatedGas = await ethers.provider.estimateGas(contract.getDeployTransaction(...).data)

引用自:https://ethereum.stackexchange.com/questions/106797