Скачиваний:
209
Добавлен:
16.04.2020
Размер:
28.77 Mб
Скачать

Отчет

Апробация 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

После выполнения этой команды блокчейн сеть должна быть развернута и доступна для использования.