Всего за 349 руб. Купить полную версию
Проще всего установить Geth в ОС Ubuntu. Процедура описана здесь: https://github.com/ethereum/go-ethereum/wiki/Installation-Instructions-for-Ubuntu.
Для установки выполните следующие команды:
$ sudo apt-get install software-properties-common
$ apt-get install build-essential
$ sudo add-apt-repository -y ppa:ethereum/ethereum
$ sudo apt-get update
$ sudo apt-get install ethereum
Вы также можете установить девелоперскую (нестабильную версию Geth), для чего выполните такую команду:
$ sudo apt-get install ethereum-unstable
После установки проверьте версию Geth:
$ geth version
Geth
Version: 1.8.23-stable
Git Commit: c942700427557e3ff6de3aaf6b916e2f056c1ec2
Architecture: amd64
Protocol Versions: [63 62]
Network Id: 1
Go Version: go1.10.4
Operating System: linux
GOPATH=
GOROOT=/usr/lib/go-1.10
Как видите, здесь мы установили Geth стабильной версии 1.8.23 и Go версии 1.10.4.
Для установки распределенного хранилища данных Swarm на локальный тестовый узел используйте следующую команду:
$ sudo apt-get install ethereum-swarm
После установки проверьте версию Swarm:
$ swarm version
Swarm
Version: 0.3.11-stable
Git Commit: c942700427557e3ff6de3aaf6b916e2f056c1ec2
Go Version: go1.10.4
OS: linux
Если установка прошла успешно, переходите к разделу урока, посвященного созданию приватного блокчейна.
В том случае, когда при установке произошли ошибки, попробуйте найти решение в поисковой системе Google. Заметим, что ошибки часто связаны с обновлением версий устанавливаемого ПО.
Установка 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