truffle
安装指定的 solidity
版本的编译器。
- macbook
- truffle
- 5.0.22
记住,下面只在 5.0.22
测试过,其他版本不一定适合,比如 5.0.7
就不适合。
参考资料
- 各个版本的 list
- Truffle 无法下载solc编译器指定版本
- github 各种 solidity 编译器离线下载
- 该库已经不更新了
- gitee 镜像 各种 solidity 编译器离线下载
- solc 发行库
在线装
我们需要修改 truffle-config
的内容
1 | compilers: { |
后面的 version
对应了使用什么版本。
然后使用 truffle compile
会自动下载相关的 solidity
编译器。
另外,如果,你想看 solidity
编译器有什么版本,可以使用
truffle compile --list --all
查看。
但是,有的版本,总是下载不下来,不知道啥原因,所以,可以使用下面的离线安装。
离线装
首先我们明确一下,你的 truffle
分为全局装和局部装。
无论全局还是局部, truffle
的编译器是在 ~/.config/truffle/compilers/node_modules
里面,如下
1 | soljson-v0.5.16+commit.9c3226ce.js |
首先,上面的各种 js
编译器库已经不更新了,但是,我们从官方的 github
中发现
对比官方的 list
,我们可以发现 md5
是可以对得上的。
所以,我这个时候感觉红框的 soljson.js
就是相应的编译器,我们只需要找到相关的 list
名字,然后,从 github
上下载 js
文件,然后修改相应的名字就好了。
然后,我在 github
和之前公开的 js
编译器中,我加密了内容,发现完全一致。
所以,可以确定,我们只需要修改 soljson.js
名字就好了。
另外
对应的文件名是 commit
稳定版本,这个修改名字的时候要注意。