
Solidity0.8.22 版本更新
更新速览unchecked循环Yul优化器调整,以重新生成零字面量导入 EVM 汇编 JSON 的支持(实验性)文件级别定义事件unchecked循环在0.8.22版本的更新中,我注意到有一个备受争议的更新,即在循环场景下不再进行溢出检查。 接下来,我们将详细讨论一下这个循环不检查溢出的设计机制。为什么要这么设计减少循环溢出检查所消耗的gas大部分循环场景都在一定范围内进行条件判断,可以有效避免溢出的可能性代码更易读不检查溢出的满足条件满足unchecked循环的条件如下:比较运算符:循环条件是形如 i < ... 的比较, 不能是<=或者其他的比较运算符。隐式转换:i<...比较运算中,右侧类型必须可以隐式的转换成循环计数器i的类型 // 不能转换,所以必须检查溢出 for (uint8 i = 0; i < uint16(1000); ++i) { } 内置整型类型:i<...,i必须是内置的整型类型递增:i++或++i不能修改:i<...,i不能再循环条件或循环体中修改如何禁止这个优化在标准JSON输入中,将settings.optimizer.details.s...

Solidity0.8.22 版本更新
更新速览unchecked循环Yul优化器调整,以重新生成零字面量导入 EVM 汇编 JSON 的支持(实验性)文件级别定义事件unchecked循环在0.8.22版本的更新中,我注意到有一个备受争议的更新,即在循环场景下不再进行溢出检查。 接下来,我们将详细讨论一下这个循环不检查溢出的设计机制。为什么要这么设计减少循环溢出检查所消耗的gas大部分循环场景都在一定范围内进行条件判断,可以有效避免溢出的可能性代码更易读不检查溢出的满足条件满足unchecked循环的条件如下:比较运算符:循环条件是形如 i < ... 的比较, 不能是<=或者其他的比较运算符。隐式转换:i<...比较运算中,右侧类型必须可以隐式的转换成循环计数器i的类型 // 不能转换,所以必须检查溢出 for (uint8 i = 0; i < uint16(1000); ++i) { } 内置整型类型:i<...,i必须是内置的整型类型递增:i++或++i不能修改:i<...,i不能再循环条件或循环体中修改如何禁止这个优化在标准JSON输入中,将settings.optimizer.details.s...

荷兰拍NFT
发币模式IEO发行在中心化交易所,上币流程麻烦,中心化。IDO发行在去中心交易所,上币需要流动性成本高,面临价格和gas飙升、机器人/巨鲸等问题、发行效率低不利于价格发现。LBP(Liquidity bootstrapping pool)自定义流动性池的比例 balancer,属于荷兰拍的变种。荷兰拍是什么是一种特殊的拍卖形式,也称为“减价拍卖”,在荷兰拍卖中,拍卖标的的竞价由高到低依次递减直到第一个竞买人应价。 荷兰式拍卖有两个显著特点。一,价格随着一定的时间间隔,按照事先确定的降价阶梯,由高到低递减。二,所有买受人(即买到物品的人)都**以最后的竞价(即所有买受人中的最低出价)成交。**NFT荷兰拍的实现NFT荷兰拍的实现 // SPDX-License-Identifier: MIT pragma solidity ^0.8.; import "@openzeppelin/contracts/access/Ownable.sol"; import "@openzeppelin/contracts/security/ReentrancyGuard.sol"; import "...

荷兰拍NFT
发币模式IEO发行在中心化交易所,上币流程麻烦,中心化。IDO发行在去中心交易所,上币需要流动性成本高,面临价格和gas飙升、机器人/巨鲸等问题、发行效率低不利于价格发现。LBP(Liquidity bootstrapping pool)自定义流动性池的比例 balancer,属于荷兰拍的变种。荷兰拍是什么是一种特殊的拍卖形式,也称为“减价拍卖”,在荷兰拍卖中,拍卖标的的竞价由高到低依次递减直到第一个竞买人应价。 荷兰式拍卖有两个显著特点。一,价格随着一定的时间间隔,按照事先确定的降价阶梯,由高到低递减。二,所有买受人(即买到物品的人)都**以最后的竞价(即所有买受人中的最低出价)成交。**NFT荷兰拍的实现NFT荷兰拍的实现 // SPDX-License-Identifier: MIT pragma solidity ^0.8.; import "@openzeppelin/contracts/access/Ownable.sol"; import "@openzeppelin/contracts/security/ReentrancyGuard.sol"; import "...
账户抽象全方位解析
Soon
Layer2学习笔记
nothing
EVM学习笔记
nothing