Урок 2. Подготовка рабочей среды в ОС Ubuntu и Debian
Цель урока: создать узел собственного приватного блокчейна Ethereum для дальнейшей работы в рамках этого курса на сервере Ubuntu и Debian.
Практические задания: установка операционной системы Ubuntu и Debian, установка ПО geth, обеспечивающего работу узла нашего блокчейна, а также демона децентрализованного хранилища данных swarm. Вам будет нужно создать собственный приватный блокчейн Ethereum, выполнить его инициализацию. Подключившись к узлу блокчейна, вы научитесь выдавать простейшие команды в приглашении geth.
Прежде чем мы займемся изучением смарт-контрактов Ethereum, нам необходимо подготовить рабочую среду – установить операционную систему (ОС) и необходимое программное обеспечение (ПО).
Мы могли бы приступить к работе сразу в какой-либо интегрированной среде разработки (IDE, Integrated Development Environment), например, Remix или Truffle. Возможно, это был бы самый быстрый путь к изучению смарт-контрактов Solidity. Однако для того, чтобы глубже разобраться в том, как работает Ethereum, мы начнем с базовых инструментов.
Выбор операционной системы
Свой первый узел сети Ethereum мы будем делать на базе клиента Go Ethereum (https://geth.ethereum.org/). Это ПО представляет собой реализацию протокола Ethereum и реализовано на языке программирования Go и доступно в виде программы Geth. На базе Geth можно создать полнофункциональный узел сети Ethereum.
Для работы с узлом Geth можно использовать интерфейс командной строки, а также программный интерфейс (API, Application Programming Interface) JSON RPC. Используя этот интерфейс и различные фреймворки, вы сможете создавать ПО, работающее с узлами Ethereum, практически на всех современных языках программирования.
Клиент Geth может работать на платформах, где имеется Go (это, например, Linux, Mac OSX, Windows, Raspberry Pi, Android OS, iOS). На странице загрузки https://geth.ethereum.org/downloads/ доступны реализации для Linux, macOS и Windows. Также вы можете загрузить исходные коды Geth.
При работе над книгой мы использовали OC Ubuntu Live Server 18.04.2, Ubuntu 18.10 cosmic, Debian версий 9 и 10 Alfa 5, хотя Geth можно установить и на другие сборки Linux. На следующем уроке мы выполним установку Geth на OC Rasberian для микрокомпьютера Raspberry Pi 3.
Для изучения Ethereum можно арендовать виртуальный или облачный сервер у одного из провайдеров. Также вы можете установить эти ОС на свой настольный компьютер, непосредственно на его диск или на виртуальную машину, например, VMware Workstation, или воспользоваться другой системой виртуализации.
Описание процесса установки Ubuntu и Debian выходит за рамки нашей книги, но в интернете есть немало достаточно подробных руководств, посвященных этому вопросу. Кроме того, при аренде виртуального или облачного сервера провайдер обязательно поможет установить на него ОС. Учтите, что вам нужна 64-разрядная версия ОС Ubuntu и Debian.
Для работы над книгой мы использовали облачный виртуальный сервер в следующей конфигурации:
• 4 ядра CPU с тактовой частотой 2 GHz;
• 2 GB RAM;
• 20 GB Disk SSD.
Мы также установили OC Ubuntu 18.10 cosmic в виртуальную машину VMware Workstation с такой конфигурацией:
• 8 ядер CPU с тактовой частотой 2 GHz;
• 8 GB RAM;
• 100 GB Disk SATA.
Конфигурация виртуального сервера влияет на скорость майнинга новых блоков. Чтобы нам было удобно работать, эта скорость не должна быть слишком низкой. Не рекомендуем, в частности, использовать менее 2 Гбайт оперативной памяти.
Для микрокомпьютеров Raspberri Pi, где памяти меньше, есть решение, о котором мы расскажем на следующем уроке.