Как установить узел сети РЦИС.РФ
Требования к аппаратному обеспечению узла.
  • Оперативная память: не менее 32 Гб.
  • Дисковая подсистема (примерно на 340 млн. транзакций с правами и объектами интеллектуальной собственности всех типов): объём не менее 3.84 ТБ SSD, RAID 1, скорость записи не менее 930Мб/с, скорость чтения не менее 1400Мб/с, внешняя скорость передачи данных не менее 1200Мб/с.

Требования к программному обеспечению узла.
Программное обеспечение сети РЦИС.РФ разворачивается в виде docker-контейнеров и включает в себя:
  • Операционная система Linux, к примеру Ubuntu LTS 18.04.
  • Система докеризации (развёртывания) Docker 18.03.
1
От ассоциации получаем данные для подключения к репозиториям repo.ipcenter.ru, registry.ipcenter.ru (контакт: support@ipcenter.ru).
  • repo.ipcenter.ru: <user_name> и <tmp_password>
  • registry.ipcenter.ru: <deploy_user> и <deploy_token>
2
Заходим repo.ipcenter.ru, меняем временный пароль, прописываем публичный ssh ключ.
3
Устанавливаем центры сертификации (ЦС, CA) и генерируем ключевой материал
Важно
Корневой ЦС используем только для выпуска сертификатов для промежуточных ЦС. После выпуска сертификатов промежуточных ЦС выводим корневой ЦС в офлайн особое внимание уделяем безопасности (неразглашению) данных сертификата корневого ЦС - он позволяет выпускать и отзывать выпущенные сертификаты организации. В случае утери или утечки сертификата корневого ЦС весь узел будет отключен от сети РЦИС.РФ.

Промежуточный ЦС используем для выпуска сертификатов пользователей, пиров и tls-сертификатов.
Важно
Не предоставляем администратору промежуточного ЦС никаких прав в каналах HyperLedger Fabric. От имени учетной записи администратора организации выполняем административные задачи с пирами организации и подписываем изменения настроек каналов, обновления chaincode-ов.
Политика сети РЦИС.РФ
Транзакции утверждаются пользователем, но пользователь не может вносить изменение в программное обеспечение узла. Администратор может изменять программное обеспечение узла (изменять настройки, конфигурировать, устанавливать новые чейнкоды), но не может утверждать транзакции.

  • Репозиторий содержащий скрипты для установки и запуска центра сертификации: https://repo.ipcenter.ru/ipcenter/org-ca.git
  • Рекомендуется центр сертификации и программное обеспечение узла разворачивать на разных серверах (виртуальных или физических).
1
Скачиваем скрипты для установки и запуска CA
mkdir -p /opt/ipcenter
cd /opt/ipcenter/
git clone --branch master --depth 1 ssh://git@repo.ipcenter.ru:2222/ipcenter/org-ca.git ./org-ca
cd org-ca
2
Устанавливаем docker и docker-compose, если не установлены
./prepare_node.sh
3
Задаём переменные в файле ./ca-scripts/env-ca.sh
4
Запускаем скрипт генерации файла docker-compose с параметрами организации
./make-docker-compose-ca.sh
5
Запускаем скрипт инициализации CA
./init-ca.sh
6
Проверяем директорию ./volumes/org/<ORGNAME>/, в ней должен быть сгенерирован ключевой материал MSP
#
Структура Membership Service Providers (MSP, http://hyperledger-fabric.readthedocs.io/en/release-1.1/msp.html) организации:
- admin-<ORG> - учётная запись администратора организации;
- ca1-admin-<ORG> - учётная запись администратора сервера CA1;
- rca-admin-<ORG> - учётная запись администратора корневого CA;
- user-<ORG> - учётная запись пользователя организации;
- peer-1-<ORG> - учётная запись узла, endorser-а.
7
Отправляем в РЦИС.РФ (контакт: support@ipcenter.ru) содержимое директории ./volumes/org/<ORGNAME>/msp. Директория содержит только открытые части ключей, используемые для подключения организации к распределённой сети и добавления её в каналы, содержащие распределённые реестры транзакций.
    4
    Разворачиваем программное обеспечение узла сети РЦИС.РФ
    1
    Скачиваем скрипты для установки и запуска программного обеспечения узла сети РЦИС.РФ
    mkdir -p /opt/ipcenter
    cd /opt/ipcenter/
    git clone --branch master --depth 1 ssh://git@repo.ipcenter.ru:2222/ipcenter/org-peer.git ./org-peer
    cd org-peer
    2
    Устанавливаем docker и docker-compose, если не установлены
    ./prepare_node.sh
    3
    Задаём переменные в файле ./env.sh

    4
    Запускаем скрипт генерации файла docker-compose с параметрами организации
    ./make-docker-compose.sh
    5
    Копируем с центра сертификации (CA) содержимое peer-1-<ORG> (содержит в себе msp и tls) в папку ./volumes/peer-1.<ORG>.ipcenter.ru
    6
    Запускаем программное обеспечение узла (endorser peer)
    docker-compose up -d
    7
    Получаем скрипты и контейнер для администрирования peer
    git clone --branch master --depth 1 ssh://git@repo.ipcenter.ru:2222/ipcenter/org-admin.git ./org-admin
    cd org-admin
    8
    Задаём параметры организации в файле ./org/env.sh
    9
    Запускаем скрипт генерации файла docker-compose с параметрами организации
    ./make-docker-compose.sh
    10
    Копируем с CA пользователя-администратора admin-<ORG> в папку ./users

    11
    Запускаем контейнер и подключаемся к нему
    ./start.sh
    12
    Выполняем внутри контейнера:
    а
    Подключаем peer к каналу. Выполняем для каждого канала
    cd /scripts
    ./join_channel.sh <CHANEL_NAME>
    ./add_anchor.sh <CHANNEL_NAME>
    б
    Устанавливаем chaincode канала на endorsing peer. Выполняем для каждой необходимой версии чейнкодов
    ./install_chaincode.sh <CHAINCODE_VERSION> <CHANEL_NAME>
    5
    Ассоциация обновляет политики утверждения транзакций, добавляет подключенную организацию, рассылает требования об обновлении chaincode-ов и политики утверждения администраторам организаций, подключенных задействованным каналам.
    6
    Устанавливаем API-сервис (gateway), см. далее.
    Как установить API-сервер gateway для оператора
    Требования к аппаратному обеспечению API-сервиса.
    • Процессор: 1 CPU 2 ядра.
    • Оперативная память: не менее 4 Гб.
    • Дисковая подсистема: объём не менее 20 Гб.

    Требования к программному обеспечению API-сервиса.
    Программное обеспечение сети РЦИС.РФ разворачивается в виде docker-контейнеров и включает в себя:
    • Операционная система Linux, к примеру Ubuntu LTS 18.04.
    • Система докеризации (развёртывания) Docker 18.03.
    1
    От ассоциации получаем данные для подключения к репозиториям:
    • repo.ipcenter.ru: <user_name> и <tmp_password>
    • registry.ipcenter.ru: <deploy_user> и <deploy_token>
    • API-сервис (gateway): ключевая информация, файлы .crt и .key

    2
    Заходим repo.ipcenter.ru, меняем временный пароль, прописываем публичный ssh ключ
    3
    Получаем данные для запуска API-сервиса (gateway) и подключения его к сети РЦИС.РФ
    mkdir -p /opt/ipcenter
    cd /opt/ipcenter/
    git clone --branch master --depth ssh://git@repo.ipcenter.ru:2222/ipcenter/<TODO: репозиторий>.git ./<TODO: локальная папка>
    4
    Переносим ключевую информацию для доступа API-сервиса (gateway) к сети РЦИС.РФ на сервере по пути указанному в файле ipcenter.yaml в параметре:
    organizations:
      <orgNameIPCenter>:
         cryptoPath:  orgs/IPCENTER/users/{userName}/msp
    5
    Устанавливаем docker и docker-compose
    source prepare_node.sh
    6
    Прописываем параметры для получения образа контейнера API-сервиса (gateway)
    cd /opt/ipcenter/<TODO: локальная папка>
    DEPLOY_USER=<deploy_user>
    DEPLOY_TOKEN=<deploy_token>
    docker login -u $DEPLOY_USER -p $DEPLOY_TOKEN  registry.ipcenter.ru
    7
    Запускаем API-сервис (gateway)
    docker-compose -f docker-compose-gateway.yml up
    8
    Получаем доступ к API-сервису: http://localhost:3000
    9
    Описание методов API и структур данных получаем в разделе для разработчиков: https://developer.рцис.рф
    #Выполняем установку получив данные для подключения к repo.ipcenter.ru, registry.ipcenter.ru, ключевую информацию для доступа API-сервиса (gateway) к сети РЦИС.РФ и прописав ssh ключ для доступа к repo.ipcenter.ru
    mkdir -p /opt/ipcenter
    cd /opt/ipcenter/
    git clone --branch master --depth 1  ssh://git@repo.ipcenter.ru:2222/ipcenter/<TODO: репозиторий>.git ./<TODO: локальная папка>
    vi ipcenter.yaml
    cp <file.crt> <cryptoPath>
    cp <file.key> <cryptoPath>
    source prepare_node.sh
    cd /opt/ipcenter/<TODO: локальная папка>
    DEPLOY_USER=<deploy_user>
    DEPLOY_TOKEN=<deploy_token>
    docker login -u $DEPLOY_USER -p $DEPLOY_TOKEN  registry.ipcenter.ru
    docker-compose -f docker-compose-gateway.yml up
     
    #развернут API-сервис (gateway), доступный по адресу http://localhost:3000
    #описание методов API и структур данных доступно в разделе для разработчиков: https://developer.рцис.рф
    Контакты
    Контакты