用Solidity写成的以太坊智能合约有多个版本.智能合约指定的编译器版本在智能合约头部.比如:
pragma solidity ^0.4.16;
contract test{
function(){......}
}
第一行的语句表明使用的solidity编译器版本就是0.4.16了.在这种情况下,必须使用版本号中间一位数字与待编译版本号相同(中间一位数字必须为4)且最右边的版本号高于或者等于待编译的智能合约指定版本号(最右边的数字要大于等于16)的编译器.比如版本号为0.4.16或0.4.17或0.4.26的编译器.
有时我们编译的智能合约有不同版本号,这时就需要下载不同版本的编译器.Github上的一个项目提供了一个开源的solc包管理工具,十分好用.
有两种安装方法,经过亲身尝试,向大家推荐比较好用的那个方法,稳定性比较强,在终端输入如下命令:
pip3 install solc-select==0.2.0
安装成功后输入如下命令查看可安装的版本号:
solc-select install
可安装的版本号就显示出来了: