{Solidity:log}
Solidity 0.8.23 版本发布公告
发布者:Solidity 团队 于 2023年11月8日
今天,我们宣布发布 Solidity 编译器 v0.8.23。这个最新版本的编译器旨在成为一个纯粹的错误修复版本,其中包含一个低严重性重要错误的修复。根据我们的调查,我们预计不会出现该错误被用作漏洞利用或攻击媒介的实际情况,因此,我们将其整体严重性评估为低。此版本还对优化器设置进行了一点更改,使其更易于理解。自 v0.8.21 以来,...
阅读更多Solidity 0.8.22 版本发布公告
发布者:Solidity 团队 于 2023年10月25日
我们很高兴地宣布发布 Solidity 编译器 v0.8.22。这个最新版本的编译器包含一系列语言和编译器改进,例如文件级事件定义、未经检查的循环增量的优化、支持导入 EVM 汇编 JSON 等。重要说明 此版本弃用了对 Constantinople 之前的 EVM 版本的支持,这些版本变得越来越难以维护。这些旧版本在以太坊主网和测试网上早已过时,我们怀疑它们不再...
阅读更多2023 Solidity 峰会 Merhaba Türkiye!
发布者:Solidity 团队 于 2023年8月7日
Solidity 峰会回归了!继 2022 年 Solidity 峰会的盛况之后,我们很高兴地宣布 2023 年的现场活动!2023 Solidity 峰会是 DevConnect 的一部分,将于 2023 年 11 月 16 日星期三在土耳其伊斯坦布尔举行。您对 Solidity 峰会有什么期待?Solidity 峰会是一个协作会议,重点关注 Solidity 的未来。它是高级 Solidity 用户和其他 Solidity 生态系统利益相关者(例如语言设计人员、工具构建者、审计人员等)的聚会,...
阅读更多Solidity 0.8.21 版本发布公告
发布者:Solidity 团队 于 2023年7月19日
我们很高兴地宣布 Solidity 编译器的最新版本 Solidity v0.8.21 发布。值得注意的新功能 通过 IR 始终启用栈到内存移动器 此版本解决了基于 IR 的代码生成管道生成的未优化代码过度容易出现“栈太深”错误的问题。这旨在帮助调试器等工具,这些工具在处理优化代码时会失去很多有效性。传统管道通常可以避免在未优化模式下耗尽可访问的栈槽,但这以...
阅读更多在访问带有副作用的表达式的 .selector 成员时,传统代码生成的错误
发布者:Solidity 团队 于 2023年7月19日
2023 年 6 月 26 日,在调查与使用 abi.decode 相关的安全报告时,发现了 Solidity 编译器传统代码生成管道中的一个错误,该报告与使用 abi.decode 作为类型参数的三元表达式有关。传统代码生成器没有评估复杂的表达式,例如赋值、函数调用或条件表达式,其 .selector 正在被访问。这导致此类表达式的副作用未执行,因此可能导致使用传统管道编译的合约出现不正确的行为。这...
阅读更多FullInliner 非表达式拆分参数评估顺序错误
发布者:Solidity 团队 于 2023年7月19日
2023 年 7 月 4 日,OtterSec 的 Robert Chen 发现 Yul 优化器中存在一个错误。编译器的最早受影响版本是 0.6.7,该版本引入了修改优化器步骤序列的功能。2023 年 7 月 19 日发布的 Solidity 版本 0.8.21 提供了修复程序。我们为该错误分配了“低”的整体分数。该错误在受影响的情况下具有“高”严重性,但我们认为它实际上影响已部署合约的可能性“非常低”。哪些合约受影响?触发该错误的先决条件是...
阅读更多Solidity 0.8.20 版本发布公告
发布者:Solidity 团队 于 2023年5月10日
我们很高兴地宣布 Solidity 编译器的最新版本 Solidity v0.8.20 发布。这个最新版本包括一系列通过 IR 管道的改进,并改进了合约 ABI 中公开的事件列表,最重要的是,支持上海硬分叉!重要说明 此编译器将默认目标 EVM 版本切换到上海,这意味着生成的字节码将包含 PUSH0 操作码。如果您打算部署到...
阅读更多2022 年 Solidity 开发者调查结果
发布者:Franziska Heintel 于 2023年3月10日
2022 年 Solidity 开发者调查结果出炉了!在这篇文章中,我们将对其进行总结和分析。首先,非常感谢所有抽出时间参与调查的人,以及所有帮助我们宣传调查的人!今年,我们收到了 1401 份回复。与之前的调查相比,回复数量增长了 3 倍多,我们对参与度感到非常高兴。您的意见对我们来说非常宝贵,并且在...
阅读更多功能深入探讨:用户定义运算符
发布者:Kamil Śliwak、Matheus Aguiar 于 2023年2月22日
Solidity 0.8.19 版本发布的亮点是对用户定义值类型 (UDVT) 定义运算符的支持。如果您没有关注最近的功能,UDVT 是 Solidity 0.8.8 中引入的一类新类型。它们为基本值类型提供抽象,从而产生一个全新的类型。这类似于创建别名,但新类型与底层值类型以及从该底层类型派生的所有其他 UDVT 不同。使用运算符的能力...
阅读更多Solidity 0.8.19 版本发布公告
发布者:Solidity 团队 于 2023年2月22日
我们很高兴地宣布 Solidity 编译器的最新版本 Solidity v0.8.19 发布。这个最新版本包含一系列改进,并且还引入了对用户定义值类型 (UDVT) 定义运算符的支持!您可以在我们的功能深入探讨博文中详细了解它。值得注意的新功能 以下是我们希望在此版本中重点介绍的功能。用户定义值类型的运算符 使用运算符的功能旨在使 UDVT 更接近于像...
阅读更多