Название: Создание смарт-контрактов Solidity для блокчейна Ethereum. Практическое руководство
Автор: Александр Вячеславович Фролов
Издательство: ЛитРес: Самиздат
Жанр: Программирование
isbn:
isbn:
$ sudo apt-get update
$ sudo apt-get upgrade
$ apt-get install vim sudo git curl gcc mc
Если вы при установке ОС не добавили пользователю book возможность работы с командой sudo, сделайте это аналогично тому, как это было описано ранее для Ubuntu.
После этого можно переходить к установке Go и Geth.
Загрузка дистрибутива Go
Дистрибутивы Go различных версий и для различных платформ можно найти здесь: https://golang.org/dl/.
Прежде всего подключимся к нашему серверу (физическому или виртуальному) пользователем book и загрузим архив Go нужной версии:
$ curl -O
https://dl.google.com/go/go1.12.1.linux-amd64.tar.gz
Теперь, находясь в консоли с правами пользователя book, распаковываем загруженный архив в каталог /usr/local:
$ sudo tar -C /usr/local -xzf go1.12.1.linux-amd64.tar.gz
У вас будет запрошен пароль пользователя book. Команда sudo необходима, так как обычному пользователю запрещена запись файлов в каталог /usr/local.
Установка переменных окружения
Далее мы создаем в домашнем каталоге пользователя book каталог go и устанавливаем переменные окружения:
$ mkdir -p ~/go; echo "export GOPATH=$HOME/go" >> ~/.bashrc
$ echo "export PATH=$PATH:$HOME/go/bin:/usr/local/go/bin" >> ~/.bashrc
$ source ~/.bashrc
Проверяем, что переменные окружения установлены:
$ printenv | grep go
GOPATH=/root/go
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/root/go/bin:/usr/local/go/bin
Проверка версии Go
Прежде чем перейти собственно к установке Geth и Swarm, нужно проверить версию go:
$ go version
go version go1.12.1 linux/amd64
Если у вас версия 1.12.1, то все нормально. Но если ранее по каким-то причинам на вашем сервере была установлена старая версия go из репозитория, удаляем ее так:
sudo apt-get remove golang-go
sudo apt-get remove –auto-remove golang-go
Установка Geth и Swarm
Первым шагом загрузите исходный код Geth из репозитория на GitHub:
$ mkdir -p $GOPATH/src/github.com/ethereum
$ cd $GOPATH/src/github.com/ethereum
$ git clone https://github.com/ethereum/go-ethereum
$ cd go-ethereum
$ git checkout master
$ go get github.com/ethereum/go-ethereum
Далее запустите компиляцию клиента Geth и Swarm:
go install -v ./cmd/geth
go install -v ./cmd/swarm
Если при компиляции появились ошибки, попробуйте установить Go другой версии. Перед этим удалите все каталоги, созданные в процессе предыдущей установки.
Если же все хорошо, то осталось только проверить версию установленной Geth и Swarm:
$ geth version
Geth
Version: 1.9.0-unstable
Architecture: amd64
Protocol Versions: [63 62]
Network Id: 1
Go Version: go1.12.1
Operating System: linux
GOPATH=/home/book/go
СКАЧАТЬ