Как развернуть тестовую сеть РЦИС.РФ
Подключившись к распределённой сети РЦИС.РФ организация становится источником информации о правах и объектах интеллекутальной собственности. Для разработки и интеграции систем управления правами организаций используется тестовая сеть, разворачиваемая внутри организации и используемая её разработчиками.
Тестовая сеть содержит семь контейнеров: три узла узла, два gateway (API сервиса) для работы с сетью, web-интерфейс, ordering-сервис.
Требования к контейнерам тестовых узлов и ordering-сервиса: 1 CPU, 1 Gb RAM, 10 Gb SSD.
Требования к контейнерам gateway (API сервисам): 1 CPU, 512 Mb RAM, 100 Mb SSD.
Требования к контейнеру содержащему web-интерфейс: 1 CPU, 1Gb RAM, 100 Mb SSD.
Процессорные ядра, оперативная память могут быть выделены в конкурентном режиме. На всю сеть достаточно: 2 CPU, 4 Gb RAM, 40 Gb SSD.
При количестве операций записи транзакций в тестовую сеть большем 10 в секунду, рекомендуется использовать SSD накопители.
Тестовая сеть разворачивается на одном сервере.
На сервере должна быть установлена операционная система, рекомендуется Ubuntu 18.04 LTS и Docker не ниже 18.03.
1
От ассоциации получаем данные для подключения к репозитариям (контакт: support@ipcenter.ru):
  • repo.ipcenter.ru: <user_name> и <tmp_password>
  • registry.ipcenter.ru: <deploy_user> и <deploy_token>
2
Заходим repo.ipcenter.ru, меняем временный пароль, прописываем публичный ssh ключ в свой аккаунт.
3
Получаем дистрибутив программного обеспечения тестовой сети, исходный код чейнкодов нужной версии и docker образ API-сервиса (gateway).
  • При необходимости меняем размер тестовой сети, версию чейнкодов, endorsing политику в файле scripts/env-vars.sh.
mkdir -p /opt/ipcenter
cd /opt/ipcenter/
git clone --branch master --depth 1 ssh:// git@repo.ipcenter.ru:2222/ipcenter/testnet.git ./testnet
git clone --branch master --depth 1 ssh:// git@repo.ipcenter.ru:2222/ipcenter/chaincode.git ./chaincode
source ./testnet/scripts/env-vars.sh
cd chaincode/
git checkout tags/${CHAINCODE_VERSION}
cd ../testnet/
4
Устанавливаем docker и docker-compose
source prepare_node.sh
  • Для корректной работы скриптов требуется Bash версии 4.x. Пользователям Mac OS необходимо установить свежую версию с помощью homebrew
brew install bash
5
Компилируем и запускаем контейнеры с программным обеспечением тестовой сети
./start.sh
6
Прописываем параметры для получения образа контейнера API-сервиса (gateway)
DEPLOY_USER=<deploy_user>
DEPLOY_TOKEN=<deploy_token>
docker login -u $DEPLOY_USER -p $DEPLOY_TOKEN  registry.ipcenter.ru
7
Запускаем API-сервис (gateway)
cd /opt/ipcenter/testnet
docker-compose -f docker-compose-gateway.yml up -d
8
Генерируем JWT для подключения к API-сервису с правами на запись
  • Для генерации JWT для подключения с правами на чтение заменяем --tokenRole writer на --tokenRole reader.
docker exec gateway /app/gateway --generateToken --tokenRole writer
9
Получаем доступ к API-сервису: http://localhost:3000
10
Описание методов API и структур данных получаем в разделе для разработчиков: https://developer.рцис.рф
11
При необходимости, произвести полный сброс можно с помощью скрипта cleanup.sh, будут удалены все контейнеры и их данные
./cleanup.sh
#Перед выполнением необходимо прописать ssh ключ для доступа к repo.ipcenter.ru (п.2 в инструкции «Последовательность развёртывания сети состоящей из узлов двух организаций и узла координатора сети»)
#IPCenter network (HyperLedger Fabric)
mkdir -p /opt/ipcenter
cd /opt/ipcenter/
git clone --branch master --depth 1 ssh:// git@repo.ipcenter.ru:2222/ipcenter/testnet.git ./testnet
git clone --branch master --depth 1 ssh:// git@repo.ipcenter.ru:2222/ipcenter/chaincode.git ./chaincode
source ./testnet/scripts/env-vars.sh
cd chaincode/
git checkout tags/${CHAINCODE_VERSION}
cd ../testnet/
source prepare_node.sh
./start.sh
 
#IPCenter gateway
DEPLOY_USER=<deploy_user>
DEPLOY_TOKEN=<deploy_token>
docker login -u $DEPLOY_USER -p $DEPLOY_TOKEN  registry.ipcenter.ru
cd /opt/ipcenter/testnet
docker-compose -f docker-compose-gateway.yml up
docker exec gateway /app/gateway --generateToken --tokenRole writer
 
#развернута тестовая сеть из 2х организаций (ORG1 и ORG2) и координатора сети (IPCenter), и API-сервис (gateway), доступный по адресу http://localhost:3000
#описание методов API и структур данных доступно в разделе для разработчиков: https://developer.рцис.рф
Контакты