Genesis - блокчейн-платформа с открытым исходным кодом, реализованная на базе одноранговой сети. Узел сети состоит из серверной части, поддерживающей сетевые протоколы, формирование блокчена и исполнение контрактов, а также базы данных, в которой отражается актуальное состояние блокчена платформы. Конечный пользователь взаимодействует в узлами сети с помощью программного клиента или web-интерфейса.
С целью быстрого ознакомления с работой блокчейн-платформы Genesis, функциями программного клиента и принципами взаимодействия интерфейсов и контрактов была спроектирована специальная сборка 'Быстрай старт', устанавливающая на одном компьютере локальную тестовую сеть, состоящую из нескольких узлов и программных клиентов.
Узлы (серверная часть и база данных) запускаются в docker-контейнерах, а клиенты - в основной операционной системе компьютера. После установи сборки пользователь с помощью тестового приложения, инсталлированного в программном клиенте, сразу может выполнить некоторые стандартные операции, демонстрирующие взаимодействие интерфейсов и контрактов с сетью Genesis.
На данный момент 'Быстрый старт' был протестирован на Mac и Linux. Поддержка Windows в процессе тестирования.
Используйте manage.sh для управления Genesis на Linux и Mac-платформах, и manage.exe для управления Genesis на Windows.
Для создания тестовой сети из 5 узлов на Linux/Mac используете следующую команду:
./manage.sh install 5
Данная команда запустит закачку и установку всех необходимых компонент (docker, если он не установлен, docker-контейнеры с Genesis-узлами и базами данных, а также Genesis-клиенты) и запустит 5 Genesis-узлов и 5 подключенных к ним Genesis-клиентов.
Для остановки клиентов и остановки и удаления docker-контейнеров запустите следующую команду:
./manage delete
Для остановки клиентов и контейнеров и последующего удаления docker-контейнеров и docker-образов запустите следующую команду:
./manage delete-all
Для проверки состояния тестовой сети запустите следующую команду:
./manage status
Для запуска командной строки для базы соответствующего узла выполните:
./manage db-shell N
где N - номер узла.
Для закрытия всех клиентов запустите:
./manage stop-clients
Для повторного запуска всех клиентов запустите:
./manage start-clients
Для переустановки (удаления всех Genesis-контейнеров и запуска повтороной установки с последними использовавшимися параметрами) запустите:
./manage reinstall
Используйте отдельную версию Genesis Quick Start for Windows
Для подтверждения транзакций требуется ввести пароль. По умолчанию это слово 'genesis'.
По умолчанияю порты docker-узлов и базы данных пробрасываются в хост-систему по следующим правилам:
- Порт базы данных пробрасывается на 15432 порт хост-системы.
- Порты веб-фронтэндов пробрасываются в соответствии со значением 'сдвига веб-портов' (8300 по умолчанию) плюс порядковый номер узда, например, порт первого узла пробрасывается в систему как 8301, второго - 8302 и так далее.
- Порты клиентов пробрасываются в соответствии со значением 'сдвига клиент-портов' (17300 по умолчанию) плюс порядковый номер узла, например, порт первого узла пробрасывается в систему как 17301, второй - 17302 и так далее.
Можно менять значения сдвигов и порт базы данных:
./manage.sh install N WPS CPS DBP
где:
- N - число узлов (максимум 5);
- WPS - сдвиг веб-портов - необязательный параметр, по умолчанию 8300;
- CPS - сдвиг клиент-портов - необязательный параметр, по умолчанию 17300;
- DBP - порт базы данных - необязательный парамертр, по умолчанию 15432;
То есть запуска коменды:
./manage.sh install 4 9000 19000 6000
приведет к запуску 4-х узлов и 4-х клиентов, веб-порты будут проброшены в хост-систему как: 9001, 9002, 9003, 9004, клиент-порты будут проброшены в хост-систему как: 19001, 19002, 19003, 19004, порт базы данных будет проброшен в хост-систему как 6000.