Ubuntu中使用solc-select管理多个Solidity编译器并任意切换使用(Ubuntu20.04下已验证可用性)

用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

可安装的版本号就显示出来了:

 使用如下命令安装一个版本,以安装0.5.16为例:

solc-select install 0.5.16

 很顺利地就安装成功了:

当然你还可以用同样的方法安装其他的版本,只要是Available Version,都可以安装成功.当你有了多个版本的时候你就可以查看一下都有哪些,对应的命令是:

solc-select versions

列表如下:

 

 可以看到当前总共有两个版本,正在使用的版本是0.4.26,可以切换到0.5.16.切换版本的命令是:

solc-select use 0.5.16

切换成功:

 查看系统当前的版本:

solc --version

 切换成功.There you go.

github中给出的最新版本不是很好用,它的主页面下面也显示了两个issue,本人在尝试的时候就遇到了第二个.建议看到这的话就直接使用上述方法,比较稳定.

踩了好多坑才找到的方法,好用的话就打赏点赞收藏一波吧.


版权声明:本文为k1nh00原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。