Solidity 最新版本一览
关于「Solidity 最新版本」的讨论一直在 Telegram、Twitter 与 GitHub Issues 间持续。本文以截至当前的稳定版本 0.8.25 为基线,盘点它带来的核心变化,并展望未来一两个大版本可能引入的新特性。对于既要兼顾兼容性又想引入新能力的团队,这一视角尤为重要。如果你在 Binance 上长期跟踪合约项目,理解这些版本特征也能帮你判断项目的工程节奏。
一、为什么版本号停在 0.8.x 这么久
很多人疑惑 Solidity 为什么不发 0.9 或 1.0。原因是核心团队希望保持向后兼容的「不破坏承诺」,把所有破坏性改动留给未来的 EOF 升级一起释放。0.8 系列累计已经有 25 个小版本,但每一次都保持 ABI 与字节码兼容,只增不减,方便老项目无痛升级。
这种克制让生态非常稳定。Foundry、Hardhat、OpenZeppelin、Slither 都能在同一套 API 上演进,避免社区分裂。也因此,0.8.25 不能被简单理解为「最新的 8 月版本」,而是十几次细致打磨后的工程结晶。在 币安 上挂牌的多数大型 DeFi 协议都已经升到这个区间。
二、0.8.25 的关键能力
该版本最重要的变化是稳定支持 EIP-1153 transient storage。开发者可以用 tload 和 tstore 操作短暂状态,专为同交易内的状态共享设计。重入锁不再需要昂贵的 SSTORE,gas 节省立竿见影。