这是来自新的“solidity-standalone”仓库的第一个版本。它不再依赖于 cpp-ethereum,并且可以仅从 solidity github 仓库构建。
请注意,优化器在某些情况下被禁用,这可能导致代码更大(但更正确)。
特性
- 形式化验证:考虑合约的外部影响。
- 类型检查器:警告低级调用和发送的未使用返回值。
- 输出:作为 AST 输出的一部分的源位置和节点 ID
- 输出:字节码的源位置映射
- 输出:作为 json 编译器输出的一部分的形式化验证。
错误修复
- 命令行界面:如果输入来自标准输入,则不会崩溃。
- 扫描器:正确支持字符串中的 Unicode 转义代码。
- JSON 输出:修复有关相对/绝对源文件名错误。
- JSON 输出:修复有关无效 utf8 字符串的错误。
- 代码生成器:空数组的动态分配导致无限循环。
- 代码生成器:正确计算 memcpy 预编译的 gas 需求。
- 优化器:如果两个代码路径合并,则清除已知状态。
关于 PPA 的说明:此版本的 solc 软件包与 cpp-ethereum 软件包冲突(因为后者仍然包含 solidity)。在安装 solc 之前,请先卸载 cpp-ethereum,直到我们也发布新的 cpp-ethereum 版本。
非常感谢所有帮助使此版本成为可能的贡献者!
下载 Solidity 的新版本这里.