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

на главную - закладки

Жанры

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

$ curl -O
https://dl.google.com/go/go1.9.6.linux-armv6l.tar.gz

Как и на предыдущем уроке, вам нужно добавить возможность работать пользователю book с командой sudo, для чего нужно воспользоваться командой visudo.

Добавьте в конец файла /etc/sudoers строку:

book ALL=(ALL) ALL

Подключитесь к консоли с правами пользователя book и распакуйте загруженный архив в каталог /usr/local:

$ sudo tar -C /usr/local -xzf go1.9.6.linux-armv6l.tar.gz

Обратите

внимание, что здесь мы распаковываем файл дистрибутива для процессоров ARM.

Установка переменных окружения

Создайте в домашнем каталоге пользователя 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. Теперь должно быть указано, что установлена версия 1.9.6 для процессоров ARM:

$ go version

go version go1.9.6 linux/arm

Установка Geth и Swarm

Установка 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.8.9-unstable

Architecture: arm

Protocol Versions: [63 62]

Network Id: 1

Go Version: go1.9.6

Operating System: linux

GOPATH=/home/book/go

GOROOT=/usr/local/go

$ swarm version

Swarm

Version: 1.8.9-unstable

Network Id: 0

Go Version: go1.9.6

OS: linux

GOPATH=/home/book/go

GOROOT=/usr/local/go

Обратите

внимание, что команда geth version сообщает о том, что она работает на процессоре с архитектурой ARM.

Создаем приватный блокчейн

На предыдущем уроке мы создавали приватный блокчейн, подготовив для него первичный блок в файле genesis.json. Затем мы создали в домашнем каталоге пользователя book рабочий каталог node1, создали аккаунт, запустили инициализацию узла и, наконец, запустили узел нашего блокчейна. При этом был создан файл DAG с направленным ациклическим графом и запущен майнинг. В другой консоли мы подключились к нашему узлу и выдали там несколько команд Web3.

На этот раз мы сделаем все намного проще. Создадим рабочий каталог node1 для размещения данных блокчейна:

$ mkdir node1

Теперь запустим узел приватной сети при помощи следующей команды:

$ geth –datadir node1 –networkid 98760 –dev –rpc –rpcapi="db,eth,net,web3,personal,web3" console

В окне консоли появятся сообщения о запуске узле сети.

Сохраните команду запуска узла в пакетном файле с именем start_node.sh (листинг 3.1.).

Листинг 3.1. Файл start_node.sh

geth –datadir node1 –networkid 98760 –dev –rpc –rpcapi="db,eth,net,web3,personal,web3" console

Обратите внимание, что мы указали здесь те же значения параметров datadir, networked, rpc и rpcapi, что и на предыдущем уроке.

Для подключения к запущенному таким способом узлу вы можете использовать ту же самую команду, что и раньше:

$ geth –datadir node1 –networkid 98760 attach ipc://home/book/node1/geth.ipc

Запишите команду подключения в файл attach_node.sh для удобства (листинг 3.2.).

Листинг 3.2. Файл attach_node.sh

geth –datadir node1 –networkid 98760 attach ipc://home/book/node1/geth.ipc

Проверка учетной записи и баланса

Запустите файл attach_node.sh и в приглашении консоли Geth введите команду accounts:

> web3.eth.accounts

Поделиться:
Популярные книги

Кодекс Крови. Книга IХ

Борзых М.
9. РОС: Кодекс Крови
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Кодекс Крови. Книга IХ

Граф

Ланцов Михаил Алексеевич
6. Помещик
Фантастика:
альтернативная история
5.00
рейтинг книги
Граф

Зауряд-врач

Дроздов Анатолий Федорович
1. Зауряд-врач
Фантастика:
альтернативная история
8.64
рейтинг книги
Зауряд-врач

Наследник с Меткой Охотника

Тарс Элиан
1. Десять Принцев Российской Империи
Фантастика:
попаданцы
альтернативная история
аниме
5.00
рейтинг книги
Наследник с Меткой Охотника

Студиозус

Шмаков Алексей Семенович
3. Светлая Тьма
Фантастика:
юмористическое фэнтези
городское фэнтези
аниме
5.00
рейтинг книги
Студиозус

Пермский Губернский 2. Корпорат

Бергер Евгений
2. Провинциальный Бог Войны
Фантастика:
боевая фантастика
попаданцы
аниме
5.00
рейтинг книги
Пермский Губернский 2. Корпорат

Идеальный мир для Лекаря

Сапфир Олег
1. Лекарь
Фантастика:
фэнтези
юмористическое фэнтези
аниме
5.00
рейтинг книги
Идеальный мир для Лекаря

Случайная жена для лорда Дракона

Волконская Оксана
Фантастика:
юмористическая фантастика
попаданцы
5.00
рейтинг книги
Случайная жена для лорда Дракона

Первый среди равных. Книга V

Бор Жорж
5. Первый среди Равных
Фантастика:
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Первый среди равных. Книга V

Безумный Макс. Поручик Империи

Ланцов Михаил Алексеевич
1. Безумный Макс
Фантастика:
героическая фантастика
альтернативная история
7.64
рейтинг книги
Безумный Макс. Поручик Империи

Неудержимый. Книга XVIII

Боярский Андрей
18. Неудержимый
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Неудержимый. Книга XVIII

Белые погоны

Лисина Александра
3. Гибрид
Фантастика:
фэнтези
попаданцы
технофэнтези
аниме
5.00
рейтинг книги
Белые погоны

Ваше Сиятельство 7

Моури Эрли
7. Ваше Сиятельство
Фантастика:
боевая фантастика
аниме
5.00
рейтинг книги
Ваше Сиятельство 7

Темный Лекарь 7

Токсик Саша
7. Темный Лекарь
Фантастика:
попаданцы
аниме
фэнтези
5.75
рейтинг книги
Темный Лекарь 7