【区块链安全 | 第十二篇】安装 Solidity 编译器(npm | docker | Linux | macOS)

在这里插入图片描述

版本管理

Solidity 版本遵循 语义化版本控制(Semantic Versioning)。此外,在主版本号为 0(即 0.x.y)的情况下,补丁级别的发布不会引入破坏性更改。这意味着可以预期使用版本 0.x.y 编译的代码,在 0.x.z(z > y)的情况下仍然可以编译。

除了正式发布的版本,官方还提供每夜构建版本(nightly builds),让开发者能够提前尝试新功能并提供反馈。不过,这些每夜构建包含开发分支中的最新代码,并不保证始终可用,这些版本可能包含未记录或已损坏的更改,最终可能不会出现在正式版本中。因此,每夜构建版本不适用于生产环境

在部署合约时,建议使用最新发布的 Solidity 版本。因为 Solidity 仍在快速发展,新版本会定期引入破坏性更改、新功能和错误修复。目前 Solidity 仍使用 0.x 版本号来反映这一快速变化。

Remix 编译器

对于小型合约快速学习 Solidity,推荐使用 Remix

我们可以直接在线访问 Remix,无需安装任何软件。如果希望在离线环境下使用 Remix,可以访问 Remix 离线版本 并按照页面上的说明进行操作。

Remix 也是测试每夜构建版本的便捷选项,且无需安装多个 Solidity 版本。

其他安装方式

1. 使用 npm / Node.js 安装

如果想要一种便捷且可移植的方式来安装 Solidity 编译器,可以使用 npm 安装 solcjs

npm install --global solc

注意
1.安装后,命令行可执行文件名称是 solcjs,而不是 solc
2.solcjssolc 不兼容,其命令行选项不同,因此一些工具(如 geth)无法与 solcjs 兼容。
3.solc-js 是从 C++ 版本的 solc 通过 Emscripten 转译得到的,两者使用相同的编译器源码。
4.solc-js 适用于 JavaScript 项目(例如 Remix)。
5.更多信息可参考 solc-js 仓库:

https://github.com/ethereum/solc-js

2. 使用 Docker 安装

Solidity 编译器的 Docker 镜像可以从 ethereum/solc 获取。

要使用最新稳定版,可以运行以下命令:

docker run ethereum/solc:stable --help

注意
1.可以使用特定版本的 Docker 镜像,例如 ethereum/solc:0.8.23
2.建议使用 stable 标签,以确保获取的是最新的稳定版本,避免使用过时的版本。

使用 Docker 进行 Solidity 编译可以有以下两种方式。

在本机编译 S

猜你喜欢

转载自blog.csdn.net/2301_77485708/article/details/146720294
今日推荐