Создание смарт-контрактов Solidity для блокчейна Ethereum. Практическое руководство
Шрифт:
Загрузка дистрибутива Go
Дистрибутивы Go различных версий и для различных платформ можно найти здесь: https://golang.org/dl/.
Прежде всего подключимся к нашему серверу (физическому или виртуальному) пользователем book и загрузим архив Go нужной версии:
Теперь, находясь в консоли с правами пользователя book, распаковываем загруженный архив в каталог /usr/local:
У
Установка переменных окружения
Далее мы создаем в домашнем каталоге пользователя book каталог go и устанавливаем переменные окружения:
Проверяем, что переменные окружения установлены:
Проверка версии Go
Прежде чем перейти собственно к установке Geth и Swarm, нужно проверить версию go:
Если у вас версия 1.12.1, то все нормально. Но если ранее по каким-то причинам на вашем сервере была установлена старая версия go из репозитория, удаляем ее так:
Установка Geth и Swarm
Первым шагом загрузите исходный код Geth из репозитория на GitHub:
Далее запустите компиляцию клиента Geth и Swarm:
Если при компиляции появились ошибки, попробуйте установить Go другой версии. Перед этим удалите все каталоги, созданные в процессе предыдущей установки.
Если же все хорошо, то осталось только проверить версию установленной Geth и Swarm:
Как видите, были установлены нестабильные версии Geth и Swarm. С помощью whereis вы можете определить, в какой каталог была выполнена установка:
Чтобы установить стабильную версию, загрузите ее бинарный код с сайтаЗатем извлеките из архива программу geth и скопируйте в отдельный каталог.
Актуальную инструкцию по установке Geth и Swarm можно найти по адресу https://media.readthedocs.org/pdf/swarm-guide/latest/swarm-guide.pdf.
Создаем приватный блокчейн
Для того чтобы быстро освоить процесс создания смарт-контрактов, нам нужен блокчейн. Вначале создадим приватный блокчейн на своем сервере, так как с ним проще всего работать. Далее мы будем использовать тестовую сеть Rinkeby, работающую в точности как Ethereum и пригодную для отладки «настоящих» контрактов перед публикацией в Ethereum.
Готовим файл genesis.json
Прежде всего создайте в домашнем каталоге пользователя book файл genesis.json (листинг 2.1.).
Этот файл описывает первичный блок (genesis block) цепочки блоков – самый первый блок блокчейна. Так как мы создаем наш приватный блокчейн, то и о первом блоке мы должны позаботиться сами.
Хорошее описание первичного блока сети Ethereum можно найти, например, здесь: https://arvanaghi.com/blog/explaining-the-genesis-block-in-ethereum/.
Блок config файла genesis.json содержит переменные конфигурации сети Ethereum.