文章 课程 首页 集训营
更多
  • 视频
  • 百科图谱
  • 问答
  • 提问
  • 专栏
  • 活动
  • 文档
  • 工作
  • 集市
  • 首页
  • 文章
  • 视频
  • 课程
  • 集训营
  • 工作
    • 工作
    • 问答
    • 活动
    • 文档
    • 集市
搜索
  • 登录/注册
iszzm123
  • 文章
  • 专栏
  • 问答
  • 视频
  • 课程
  • 集市作品
  • 活动
  • 招聘
TA的文章 TA购买的 TA喜欢的 TA收藏的
gas优化之用 struct 减少参数数量

当把多个参数打包成struct,传递给函数的就只有一个引用(栈上的一个指针),而不是多个独立的值。如果struct在memory中:函数接收到的是一个memory指针(通常占用一个栈槽)。如果struct在calldata中:函数接收到的是一个calldata偏移量

Gas 
发布于 2 小时前 阅读(18) 点赞(0)
分享
Twitter分享
微信扫码分享
gas优化之自定义错误

Solidity0.8.4引入的自定义错误(customerror)是require("message")的高效替代品。它不仅在部署时节省大量字节码,还在交易失败(revert)时显著降低返回数据带来的gas开销。

Gas 
发布于 7 小时前 阅读(18) 点赞(0)
分享
Twitter分享
微信扫码分享
gas优化之删除重置

用delete释放存储delete会将storage变量重置为零值,获得gas退款。在以太坊当前的机制下,delete释放一个非零存储槽所获得的退款是固定数值4,800gas

Gas 
发布于 7 小时前 阅读(16) 点赞(0)
分享
Twitter分享
微信扫码分享
gas优化之短路(Short-circuit )优化原理

把最可能决定最终结果且最便宜的条件放在最前面,让后面的昂贵检查尽可能被短路掉。&&串联:最左边的条件应当是最可能为false且最便宜的。||串联:最左边的条件应当是最可能为true且最便宜的。

Gas 
发布于 7 小时前 阅读(17) 点赞(0)
分享
Twitter分享
微信扫码分享
gas优化之批量处理代替单次循环

1、根据EVM交易/调用的固定成本每一笔外部交易都要支付21000gas的基础成本,还不包括合约调用的额外开销(CALL操作码、输入数据解码等)。如果用户需要执行10次转账,分10次发起交易,光是基础成本就高达10×21000=210000gas。批量处理只需1

Gas 
发布于 8 小时前 阅读(21) 点赞(0)
分享
Twitter分享
微信扫码分享
gas优化之前置计算 array.length

在Solidity中,把数组的length提前缓存到一个局部变量中(即“前置计算”),主要是为了避免在循环的每次判断中重复读取同一个状态变量(或内存变量),从而把多次操作压缩为一次。这在storage数组上效果最明显,但也适用于memory和calldata数组。缓存后如何省

发布于 21 小时前 阅读(24) 点赞(0)
分享
Twitter分享
微信扫码分享
gas优化用++i还是i++

++i(前递增):将i加1,然后直接返回新值。i++(后递增):将i加1,但返回的是旧值。这意味着,i++在执行过程中必须“记住”旧值,等加法完成后再把旧值返回。在EVM中,这个“记住”意味着至少一次额外的栈操作(通常是DUP和SWAP),这些操作虽然单价便宜3gas

发布于 1 天前 阅读(33) 点赞(0)
分享
Twitter分享
微信扫码分享
文章删除后将不可恢复 !
删除 取消
提交成功!
系统处理完成后将直接进入审核发布流程,可在个人主页关注文章状态。
iszzm123
iszzm123
贡献值: 75 学分: 13
最近有应聘的意向
1 关注 1 粉丝
关于
关于我们
社区公约
学分规则
Github
伙伴们
DeCert
ChainTool
GCC
UpChain
合作
广告投放
发布课程
联系我们
友情链接
关注社区
Discord
Twitter
Youtube
B 站
公众号

关注不错过动态

微信群

加入技术圈子

©2026 登链社区 版权所有
粤公网安备 44049102496617号 粤ICP备17140514号 粤B2-20230927 增值电信业务经营许可证

发送私信

请将文档链接发给晓娜,我们会尽快安排上架,感谢您的推荐!

提醒

检测到你当前登录的账号还未绑定手机号
请绑定后再发布
去绑定
编辑封面图
封面预览

创建课程

编辑封面图
建议尺寸: 1920*1080
编辑封面图
封面预览