版本控制

Solidity 版本遵循语义版本控制。

此外,主版本 0(即 0.x.y)的补丁级别版本将不包含重大更改。

这意味着使用版本 0.x.y 编译的代码可以预期使用 0.x.z 编译,其中 z > y。

除了发布之外,我们还提供夜间开发版本,目的是让开发人员更容易尝试即将推出的功能并提供早期反馈。

但是请注意,虽然夜间构建通常非常稳定,但它们包含来自开发分支的前沿代码,并且不能保证始终有效。尽管我们尽了最大努力,但它们可能包含未记录和/或损坏的更改,这些更改不会成为实际版本的一部分。它们不适用于生产用途。

部署合约时,您应该使用最新发布的 Solidity 版本。

这是因为定期引入重大更改以及新功能和错误修复。

我们目前使用 0.x 版本号来表示这种快速变化。

Remix

我们推荐 Remix 用于小型合约和快速学习 Solidity。

在线访问 Remix,您无需安装任何东西。 如果您想在不连接 Internet 的情况下使用它,请转到 https://github.com/ethereum/remix-live/tree/gh-pages 并按照该页面上的说明下载 .zip 文件。

Remix 也是无需安装多个 Solidity 版本即可测试夜间构建的便捷选项。

此页面上的更多选项详细说明了在您的计算机上安装命令行 Solidity 编译器软件。

如果您正在处理更大的合同或需要更多编译选项,请选择命令行编译器。

npm / Node.js

使用 npm 以方便且可移植的方式安装 solcjs,一个 Solidity 编译器。

solcjs 程序的功能比本页后面描述的访问编译器的方式要少。

使用命令行编译器文档假设您使用的是全功能编译器 solc。

solcjs 的使用记录在其自己的存储库中。

注意:solc-js 项目是使用 Emscripten 从 C++ solc 派生的,这意味着两者都使用相同的编译器源代码。

solc-js 可以直接用在 JavaScript 项目中(比如 Remix)。

有关说明,请参阅 solc-js 存储库。

npm install -g solc

命令行可执行文件名为 solcjs。

solcjs 的命令行选项与 solc 不兼容,并且期望 solc 行为的工具(例如 geth)不适用于 solcjs。

参考资料

https://docs.soliditylang.org/en/latest/installing-solidity.html