Solidity
你如何估計使用 Ethers.js 部署智能合約的 gas 成本?
我想知道使用 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)