Читать книгу Создание смарт-контрактов Solidity для блокчейна Ethereum. Практическое руководство - Александр Вячеславович Фролов - Страница 13

Урок 2. Подготовка рабочей среды в ОС Ubuntu и Debian
Установка Geth и Swarm в Debian

Оглавление

Установку Geth и Swarm в ОС Debian нужно выполнять из исходных текстов. При этом вначале нужно будет установить Go, а затем уже собственно Geth и Swarm.

На момент создания нашей книги была доступна версия Go 1.12.1. Заметим, что Geth и Swarm находятся в состоянии постоянного совершенствования. Не исключено, что к моменту, когда вы начнете работу над этой книгой, для них придется устанавливать новую версию Go.

Предварительная подготовка

Прежде всего обновите пакеты и установите необходимые утилиты:


$ 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

GOROOT=/usr/local/go


$ swarm version

Swarm

Version: 0.3.12-unstable

Go Version: go1.12.1

OS: linux


Как видите, были установлены нестабильные версии Geth и Swarm. С помощью whereis вы можете определить, в какой каталог была выполнена установка:


$ whereis geth

geth: /home/book/go/bin/geth


Чтобы установить стабильную версию, загрузите ее бинарный код с сайта https://geth.ethereum.org/downloads/. Затем извлеките из архива программу geth и скопируйте в отдельный каталог.

Актуальную инструкцию по установке Geth и Swarm можно найти по адресу https://media.readthedocs.org/pdf/swarm-guide/latest/swarm-guide.pdf.

Создание смарт-контрактов Solidity для блокчейна Ethereum. Практическое руководство

Подняться наверх