- •1. Установка и настройка hlf - 1.4.2
- •1.1 Установка под ос Ubuntu
- •1.2 Установка под ос AstraLinux
- •1.3 Установка под ос CentOs
- •1.4 Установка под ос rhel
- •1.5 Установка под ос Windows
- •2. Апробация hlf - 1.4.2 согласно фтт.
- •3. Перечень синтетических бизнес-решений.
- •3.2 Реестр организаций
- •4. Дополнительная информация.
Отчет
Апробация Hyperledger Fabric v.1.4.2
1. Установка и настройка hlf - 1.4.2
Установка при помощи Ansible скрипта предполагает наличие машины с которой будет производиться синхронизация крипто материала между остальными узлами и развертывание необходимых сервисов.
1.1 Установка под ос Ubuntu
Первым делом необходимо настроить машину с которой будет производится развертывание.
Для этого установим Ansible и сгенерируем ssh ключ.
Установка Ansible:
sudo apt update
sudo apt install software-properties-common
sudo apt-add-repository -yes -update ppa:ansible/anslble
sudo apt install ansible
Генерация ключа ssh:
ssh-keygen
После ввода этой команды вы должны увидеть следующий вывод:
Generating public/private rsa key pair.
Enter file in which to save the key (/your_home/.ssh/id_rsa):
Нажмите Enter для сохранения пары ключей в директорию .ssh/ внутри вашей домашней директории (Данные действия предполагают, что на данной машине отсутствуют другие ключи ssh).
Вы должны увидеть следующий вывод:
Enter passphrase (empty for no passphrase):
Оставляем это поле пустым и жмем Enter. Для подтверждения тоже жмем Enter.
Your identification has been saved in /your_home/.ssh/id_rsa.
Your public key has been saved in /your_home/.ssh/id_rsa.pub.
The key fingerprint is:
a9:49:2e:2a:5e:33:3e:a9:de:4e:77:11:58:b6:90:26 username@remote_host
The key's randomart image is:
+--[ RSA 2048]----+
| ..o |
| E o= . |
| o. o |
| .. |
| ..S |
| o o. |
| =o.+. |
|. =++.. |
|o=++. |
+-----------------+
Теперь нужно скопировать ключ на машины, в пределах которых будет осуществляться развёртывание блокчейн сети. Для этого воспользуемся командой:
ssh-copy-id user@192.168.0.119
где user - пользователь с доступом к sudo на удалённой машине.
192.168.0.119 - IP адрес машины.
Данную операцию и несколько следующих необходимо проделать для всех машин, на которых необходимо развернуть блокчейн сеть.
Теперь настраиваем доступ к sudo без пароля.
При помощи редактора nano открываем файл sudoers следующей командой:
sudo nano /etc/sudoers
Находим в файле строку:
%sudo ALL=(ALL;ALL) ALL
Меняем её на следующую:
%sudo ALL=(ALL;ALL) NOPASSWD: ALL
Необходимо сохранить файл, для этого жмём сочетание клавиш Ctrl+x подтверждаем действие вводом Y и enter.
Следующая команда откроет необходимые для блокчейн сети порты и активирует фаервол.
sudo ufw allow 22 ; sudo ufw allow 80 ; sudo ufw allow 4000 ; sudo ufw allow 7050 ; sudo ufw allow 7051 ; sudo ufw allow 2376 ; sudo ufw allow 9092 ; sudo ufw allow 2181 ; sudo ufw allow 2888 ; sudo ufw allow 3888; sudo ufw allow 8080 ; sudo ufw enable
После выполнения будет выведено предупреждение о возможном нарушении работы ssh и запрос подтверждения операции. Необходимо дать согласие.
Представленные выше команды нужно проделать для каждой машины на которой будет развернута блокчейн сеть.
Далее необходимо скачать сам скрипт на машину с которой будет осуществляться развертывание и произвести некоторые настройки.
git clone https://github.com/Altoros/Ansible-Fabric-Starter.git
Переходим в каталог с скриптами:
cd Ansible-Fabric-Starter
Открываем любым текстовым редактором файл с названием hosts_raft.yml
Для примера используем редактор nano.
nano hosts_raft.yml
В открывшемся файле находим следующие строки:
ansible_host: 192.168.0.157
ansible_user: user
Меняем их для каждой организации (в файле org1,org2,org3) в соответствии с IP адресами машин на которых будет произведено развертывание и их пользователями.
Сохраняем файл сочетанием клавиш Ctrl+x подтверждаем действие вводом Y и enter.
Теперь запустим скрипты для развёртывания сети следующими командами:
ansible-playbook install-python.yml -i hosts_raft.yml
При установке зависимостей и настройке сети будут показаны предупреждения не являющиеся критическими ошибками. Это связано с отсутствием контейнеров и файлов, которые скрипт удаляет при каждом запуске.
ansible-playbook install-dependencies.yml -i hosts_raft.yml
Установка зависимостей обычно занимает много очень времени.
ansible-playbook config-network.yml -i hosts_raft.yml
После выполнения этой команды блокчейн сеть должна быть развернута и доступна для использования.