Чтение онлайн

ЖАНРЫ

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

Проще всего установить 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

go install -v ./cmd/swarm

Поделиться с друзьями: