You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在Hedera部署智能合约时遇INSUFFICIENT_GAS错误如何解决?

解决部署智能合约时的INSUFFICIENT_GAS错误
  • 估算实际所需燃气值
    先确定合约部署的真实燃气消耗:

    • 用Hardhat、Truffle等工具自带的估算命令,比如执行hardhat estimate-gas获取预估值;
    • 手动构造交易时,调用节点的eth_estimateGas RPC接口得到准确的燃气需求。
  • 提高燃气限额(Gas Limit)
    将燃气限额设置为估算值的1.2-1.5倍,预留冗余空间——链上状态变化可能导致实际消耗略高于预估。比如估算值为2000000 gas,就设置为2400000-3000000 gas。

  • 确认燃气价格参数
    确保设置的燃气价格不低于当前链的基础费用(EIP-1559链需同时设置合理的小费),避免因价格不足被节点延迟处理,引发类似燃气不足的错误。可以通过链上浏览器查看当前推荐的燃气价格区间。

  • 优化合约代码降低燃气消耗

    • 移除冗余计算、不必要的存储操作(存储燃气消耗远高于内存);
    • 外部函数参数优先使用calldata替代memory;
    • 启用Solidity编译器优化,比如在hardhat.config.js中配置:
      module.exports = {
        solidity: {
          version: "0.8.20",
          settings: {
            optimizer: {
              enabled: true,
              runs: 200
            }
          }
        }
      };
      
  • 检查部署工具的默认配置
    部分工具默认燃气限额偏低,需手动调整配置文件。比如Hardhat需在网络配置中指定更高的gasLimit:

    module.exports = {
      networks: {
        yourNetwork: {
          url: "your-node-url",
          gasLimit: 3000000
        }
      }
    };
    

内容的提问来源于stack exchange,提问作者Raphaël Messian

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.27 17:25:02