Genesis - блокчейн-платформа с открытым исходным кодом, реализованная в виде блокчейн-сети, состоящей из взаимодействующих друг с другом узлов. Каждый узел - это использующий собственную базу данных бэкенд-сервис, взаимодействие конечного пользователя с которым может быть организовано с помощью клиента или web-интерфейса.
Цель 'быстрого старта' - запуск локальной тестовой сети, состоящей из несколько Genesis-узлов (бэкендов и клиентов), чтобы дать представление конечному пользователю о том, как работает 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./manage.exe install 5По умолчанияю порты 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.