Создание простой сети Hyperledger Fabric

Существует несколько способов создания простой сети Hyperledger Fabric. В этом контексте я сначала расскажу о том, как создать сеть Hyperledger Fabric с помощью docker и docker compose.

Необходимые условия для использования метода docker

Прежде всего, я предполагаю, что git, docker и docker compose установлены в нашей системе. Поскольку процесс установки может отличаться в зависимости от дистрибутива linux, я не буду объяснять его в этом шаге.

Например, вы можете установить docker на Pardus 19.x, используя соответствующую статью, а затем установить docker-compose из того же репозитория

Подготовка сети ткани

Перед созданием сети Hyperledger Fabric необходимо определить, какую версию Hyperledger Fabric следует использовать. В этом контексте я рекомендую использовать версии 2.2 и 2.4 по состоянию на 25 мая 2022 года.

Для этого можно загрузить и запустить сценарий установки, вызвав следующую команду для версии 2.4.

wget https://raw.githubusercontent.com/hyperledger/fabric/release-2.4/scripts/bootstrap.sh
bash bootstrap.sh
Войдите в полноэкранный режим Выход из полноэкранного режима

После этого шага процесс подготовки сети Hyperledger Fabric в фоновом режиме завершается.

Использование экземпляров Fabric и тестовой сети

На Github существует репозиторий примеров fabric под названием fabric-samples, подготовленный организацией Hyperledger. В этом репозитории есть различные примеры, такие как образец chaincode (смарт-контракта), использование api, сетевая инфраструктура.

Для того чтобы использовать репозиторий, мы сначала перенесем его в нашу систему с помощью git. Вы также можете загрузить его в формате zip вместо того, чтобы выполнять этот шаг.

git clone https://github.com/hyperledger/fabric-samples
Войдите в полноэкранный режим Выход из полноэкранного режима

После этого шага папка fabric-samples содержит содержимое образца сети под названием test-network. В параметрах тестовой сети, которые я планирую подробно рассмотреть в другой статье, вы можете войти в соответствующую папку и создать базовую сеть следующим образом.

cd fabric-samples/test-network
./network.sh up
Войдите в полноэкранный режим Выход из полноэкранного режима

После того как сеть будет запущена таким образом, для ее закрытия необходимо выполнить следующую команду.

./network.sh down
Войдите в полноэкранный режим Выход из полноэкранного режима

Создайте центр сертификации в сети

Когда вы создаете тестовую сеть таким образом, контейнер для центра сертификации CA не создается сам по себе. Если вы хотите создать службу fabric-ca-server на этом шаге, сеть должна быть создана, как показано в следующем шаге.

./network.sh up -ca
Войдите в полноэкранный режим Выход из полноэкранного режима

Конечно, если вы уже настроили сеть, вы должны отключить ее.

Создание канала Fabric в сети

Канал с именем «kanalAdi» может быть создан в существующей сети следующим образом.

./network.sh createChannel -c kanalAdi
Войдите в полноэкранный режим Выход из полноэкранного режима

Добавление смарт-контрактов в сеть

Как мы знаем, в Hyperledger Fabric концепция смарт-контракта заменена на chaincode. А chaincodes можно разрабатывать на языках golang, nodejs и java. Мы можем добавить в сеть цепной код, написанный на языке Golang, следующим образом.

./network.sh deployCC -ccn basic -ccp ../asset-transfer-basic/chaincode-go -ccl go
Войдите в полноэкранный режим Выход из полноэкранного режима

Наша тестовая сеть готова!

После этого шага подготавливается среда, в которой есть канал под названием «kanalAdi», 2 организации экземпляров, 2 службы пиров, 1 служба ордеров и смарт-контракт chaincode-go, определенный в asset-transfer-basic.

Вы можете изучить сетевые компоненты в вашей системе с помощью следующей команды.

docker ps -a
Войдите в полноэкранный режим Выход из полноэкранного режима

В выводе этой команды можно проследить, какие контейнеры находятся на docker.

CONTAINER ID   IMAGE                               COMMAND             CREATED         STATUS                  PORTS                                            NAMES
3247543b5634   hyperledger/fabric-tools:latest     "/bin/bash"         1 second ago    Up Less than a second                                                    cli
r3t117c81c7f   hyperledger/fabric-peer:latest      "peer node start"   2 seconds ago   Up 1 second             0.0.0.0:7051->7051/tcp                           peer0.org1.example.com
421ead770e05   hyperledger/fabric-orderer:latest   "orderer"           2 seconds ago   Up Less than a second   0.0.0.0:7050->7050/tcp, 0.0.0.0:7053->7053/tcp   orderer.example.com
421d43f5f312   hyperledger/fabric-peer:latest      "peer node start"   2 seconds ago   Up 1 second             7051/tcp, 0.0.0.0:9051->9051/tcp                 peer0.org2.example.com
Войдите в полноэкранный режим Выход из полноэкранного режима

После этого этапа можно продолжить разработку и эксплуатацию цепного кода, детализацию API-сервисов и, конечно, разработку приложения.


timeo hominem unius libri

Оцените статью
Procodings.ru
Добавить комментарий