Всего за 349 руб. Купить полную версию
*** System restart required ***
В этом случае перед продолжением работы выполните перезагрузку:
$ sudo shutdown -r now
Пакеты Ubuntu можно также обновлять также через менеджер обновлений в графическом интерфейсе.
Обновление пакетов нужно делать с правами пользователя root.
Установка необходимых утилит
В качестве имени пользователя при начальной установке ОС укажите book, чтобы у этого пользователя сразу была возможность работать с командой sudo.
Вы также можете создать пользователя book уже после установки Ubuntu. В этом случае при помощи команды visudo добавьте этому пользователю возможность работать с командой sudo. Для этого запустите с правами пользователя root такую команду:
# visudo
Откроется редактор файла /etc/sudoers. Вам нужно добавить в конец этого файла следующую строку:
book ALL=(ALL) ALL
Для установки сервиса ssh введите следующую команду:
$ sudo apt-get install ssh
Далее в Ubuntu и Debian установите редактор vim (если вам удобно в нем работать), утилиты sudo (если она не установлена), git, curl, gcc и mc (mc устанавливать не обязательно, пригодится, если только вы привыкли работать с Midnight Commander):
$ sudo apt-get install vim sudo git curl gcc mc
Для того чтобы обезопасить ваш сервер от атак типа брутфорса (перебор паролей) на порт SSH, установите fail2ban:
$ sudo apt-get install fail2ban
Мы настоятельно рекомендуем использовать эту утилиту в рабочем окружении вместе с брандмауэром.
Установка Geth и Swarm в Ubuntu
Проще всего установить 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
На момент создания нашей книги была доступна версия 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
Прежде всего подключимся к нашему серверу (физическому или виртуальному) пользователем 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.
Установка переменных окружения
$ 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
$ 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
$ 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: