Skip to content

Компилятор solc

Solc

Есть несколько вариантов установки компилятора на машину

snap

Тут всё максимально просто

sudo snap install solc --edge

И на данный момент это позволит получить

solc --version

не самую последнюю, но довольно свежую версию

Version: 0.6.9-develop.2020.5.27+commit.9f407fe0.Linux.g++

apt

Не особо сложнее, но версия, скорее всего, будет и правда последняя. Нам такой способ подходит

sudo add-apt-repository ppa:ethereum/ethereum
sudo apt-get update
sudo apt-get install solc

py-solc-x

Но есть и другой способ, более гибкий и продвинутый. py-solc-x - это не только Python обвязка вокруг компилятора, но и менеджер версий solc.

Создадим виртуальное окружение

virtualenv -p python3.8.5 venv

После этого в директории проекта должна появиться директория venv.

Активируем её и установим необходимый пакет

source venv/bin/activate
pip install solcx

Запустим REPL

python3

Импортируем solcx

import solcx

Какие версии компилятора доступны?

solcx.get_installable_solc_versions()

Получаем довольно внушительный список, часть которого удалена, чтобы не занимать много места

[Version('0.8.9'), ..., Version('0.8.0'), ...]

Установим самую свежую доступную версию

solcx.install_solc()

Получим список установленных версий

[Version('0.7.4')]

Для того, чтобы solc был доступен в терминале, создадим мягкую ссылку (но этого делать вовсе не обязательно)

sudo ln -s $HOME/.solcx/solc-v0.7.4 /usr/local/bin/solc

Удалить при необходимости

sudo rm /usr/local/bin/solc