What is the gas cost of deploying a Solidity contract, and how can I estimate it before deploying? Are there any strategies for minimizing deployment costs?
1 Answer
Most development environments, ie. local nets for testing you contracts come with some sort of gas measurement plug in. That will show you how much gas it costs to deploy your contracts. (ex. https://www.npmjs.com/package/hardhat-gas-reporter) You can use these alongside test scripts to measure gas of deployments and individual functions.
In terms of minimizing deploy costs, you can approach that mostly be having less code, or minimizing logic in your construction/initialization, but I would also note its much more important to focus on gas costs for users using your system foremost.
Deployments are usually a one time upfront cost, while any interactions users do will be an ongoing gas cost. I would always recommend optimizing the gas of typical interactions at the cost of deployment cost. Also, don't ever deploy to main-nets to test out contracts, since you can do all your testing on local nets or test nets for essentially free.