type
status
date
slug
summary
tags
category
icon
password
🔥 Solidity Gas 优化终极指南
Gas 优化是 solidity 开发的核心技能!本文整理了几个节省 Gas 的技巧,涵盖了从基础到高级。
🎯 基础必会技巧
1.变量打包优化(最基础也是最重要的)
因为 EVM 的存储槽是 32 字节,尽量填满每个槽
2.使用 uncheck
3.减少存储写入
4.使用更下的数据类型
5.使用 bytes 替代 string
6.固定长度更省 gas
7.批量操作减少调用次数
在合约内部处理多个操作时,尽量使用内部函数调用(
_function)来避免重复的外部调用开销。8.使用 external 代替 public
public 函数有额外开销,external 更省 gas9.使用 calldata 代替 memory
10.使用常量代替存储变量
solidity 会自动为 public 变量生成一个 getter 函数,这样会增加合约字节码的大小,消耗少量的部署 gas,每次外部调用会有基础的 gas 成本。
遵循“最小暴露原则”,除非外部合约需要访问该常量。
类型 | 部署成本 | 调用成本(100 次) |
pubulic constant | 800 Gas | 70000 Gas |
private constant | 0 | 0 |
11.使用 immutable 变量
- Author:web3a8
- URL:http://preview.tangly1024.com/article/271c4e82-97f6-804f-b5f5-eb2175c78a0a
- Copyright:All articles in this blog, except for special statements, adopt BY-NC-SA agreement. Please indicate the source!



.png?t=198c4e82-97f6-8061-abae-f266874e43f7)
.png?t=193c4e82-97f6-80bb-af88-ef219ef0b00d)
.png?t=192c4e82-97f6-809f-94bd-ef468914c5f6)
.png?t=192c4e82-97f6-8073-9770-f896f9e9e110)


