0%

truffle | 安装特定版本的 solidity 编译器

truffle 安装指定的 solidity 版本的编译器。

  • macbook
  • truffle
    • 5.0.22

记住,下面只在 5.0.22 测试过,其他版本不一定适合,比如 5.0.7 就不适合。


参考资料


在线装

我们需要修改 truffle-config 的内容

1
2
3
4
5
compilers: {
solc: {
version: "0.7.0",
}
}

后面的 version 对应了使用什么版本。

然后使用 truffle compile 会自动下载相关的 solidity 编译器。

另外,如果,你想看 solidity 编译器有什么版本,可以使用

truffle compile --list --all

查看。

但是,有的版本,总是下载不下来,不知道啥原因,所以,可以使用下面的离线安装。

离线装

首先我们明确一下,你的 truffle 分为全局装和局部装。

无论全局还是局部, truffle 的编译器是在 ~/.config/truffle/compilers/node_modules 里面,如下

1
2
3
4
5
6
7
soljson-v0.5.16+commit.9c3226ce.js
soljson-v0.6.10+commit.00c0fcaf.js
soljson-v0.6.6+commit.6c089d02.js
soljson-v0.6.9+commit.3e3065ac.js
soljson-v0.5.8+commit.23d335f2.js
soljson-v0.6.4+commit.1dca32f3.js
soljson-v0.6.8+commit.0bbfe453.js

首先,上面的各种 js 编译器库已经不更新了,但是,我们从官方的 github 中发现

对比官方的 list ,我们可以发现 md5 是可以对得上的。

所以,我这个时候感觉红框的 soljson.js 就是相应的编译器,我们只需要找到相关的 list 名字,然后,从 github 上下载 js 文件,然后修改相应的名字就好了。

然后,我在 github 和之前公开的 js 编译器中,我加密了内容,发现完全一致。

所以,可以确定,我们只需要修改 soljson.js 名字就好了。

另外

对应的文件名是 commit 稳定版本,这个修改名字的时候要注意。

请我喝杯咖啡吧~