Учебное пособие по Hyperledger Fabric для начинающих: подробное руководство

Опубликовано: 2021-02-24

Существует множество доступных платформ и инструментов Hyperledger . Одним из самых успешных является Hyperledger Fabric. С момента своего выпуска в 2016 году Hyperledger Fabric стала популярной средой для разработки корпоративных приложений. В этом руководстве по Hyperledger Fabric для начинающих мы расскажем вам обо всем, что вам нужно знать, начиная с того, что это такое, какова структура и как запустить на нем свое первое приложение. Без дальнейших задержек давайте начнем с нашего руководства по Hyperledger Fabric .

Оглавление

Что такое ткань Hyperledger?

Hyperledger Fabric — это фреймворк корпоративного уровня на основе блокчейна. Это платформа с открытым исходным кодом, которая предоставляет разрешение DLT (технология распределенного реестра) для разработки приложений и бизнес-решений. Некоторые из основных функций Hyperledger Fabric включают в себя:

  • Модульная архитектура
  • Консенсус «подключи и работай»
  • Поддержка Solidity и EVM
  • Поддерживает запросы JSON, запросы на основе ключей и другие запрашиваемые данные.
  • Многоязычная поддержка смарт-контрактов

Обладая базовыми знаниями о Hyperledger Fabric и его основных функциях, давайте перейдем к следующей части этого руководства по Hyperledger Fabric для начинающих .

Изучайте онлайн-курсы по программному обеспечению от лучших университетов мира. Участвуйте в программах Executive PG, Advanced Certificate Programs или Master Programs, чтобы ускорить свою карьеру.

Что такое системная архитектура Hyperledger Fabric?

Прежде чем приступить к нашему основному руководству по Hyperledger Fabric , важно узнать о базовой архитектуре. Твердое знание структуры поможет вам понять, как работает фреймворк.

  • Транзакции : существует два типа транзакций: развертывание и вызов. Транзакции развертывания используются для создания чейнкодов, которые представляют собой программы, запускаемые блокчейном. С другой стороны, транзакции вызова используются для выполнения транзакций в контексте с ранее развернутыми кодами цепочки.
  • Структуры данных . Как и в любой блокчейн-инфраструктуре, структуры данных, используемые в Hyperledger Fabric, представляют собой пары «ключ-значение». Цепочные коды манипулируют данными с помощью операций ввода и получения.
  • Леджер : это последовательность всех успешных и неудачных изменений в цепочке.
  • Узлы : это агенты связи или, другими словами, объекты сети.
  • Клиент : Конечные пользователи или кто-то, кто действует от их имени.
  • Peer : они обрабатывают состояния цепочки и обеспечивают бесперебойную работу.

Учебное пособие по Hyperledger Fabric для начинающих по разработке своего первого приложения

Теперь, когда мы знаем базовую архитектуру, пришло время разработать наше первое приложение Hyperledger Fabric.

Создание и запуск первой сети

Этот шаг включает в себя установку необходимых компонентов и образцов компонентов для начала разработки нашего приложения.

Создание сети

Первое, что вам нужно сделать, это построить и запустить сеть. Без работающей сети ваше приложение будет бесполезным. Ознакомьтесь с руководством по необходимым требованиям Hyperledger Fabric и двоичными файлами, образами Docker и примером руководства по установке .

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

cd образцы ткани/первая сеть

Затем используйте сценарий byfn.sh для запуска сети. Запуск этой сети облегчит сетевое взаимодействие и запустит такие основные элементы, как контейнеры, одноранговые узлы, чейнкод и т. д., которые помогут с другим процессом. После запуска примера сети пришло время сгенерировать артефакты.

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

Используйте следующий код для создания артефактов, а затем нажмите «Y» при запросе подтверждения, чтобы начать заполнение необходимых данных.

.byfn.sh генерировать

Питание сети

После создания артефактов вам необходимо включить сеть. Он запустит все компоненты, включая чейнкод и контейнеры, чтобы позволить новым пирам присоединиться к сети. Используйте следующий код для питания сети:

./byfn.sh вверх

Язык по умолчанию для чейнкода Hyperledger Fabric — Go. Однако вы можете переключиться на использование Node.js или Java, используя следующие команды соответственно:

.byfn.sh up -l узел

.byfn.sh up -l java

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

./byfn.sh up -o etcdraft

./byfn.sh up -o кафка

Запуск сети

Теперь будем запускать сеть. Но перед этим мы должны:

  • получить подкаталог нашего приложения
  • сделать локальный клон репозитория Fabric-Sample

Используйте следующий командный сценарий для запуска сети:

./startFabric.sh JavaScript

После запуска сети у вас будет все необходимое: от заказчиков до пиров и центров сертификации для разработки вашего приложения. Поскольку мы используем подкаталог приложения, смарт-контракт будет запущен автоматически.

Установка вашего первого приложения

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

установка нпм

Подключение к центрам сертификации

Как только сеть будет запущена, давайте начнем с общения с властями, которые могут разрешить нам добавлять пользователей в цепочку. Для этого нам необходимо пройти запрос на подпись сертификата (CSR). Используйте приведенную ниже команду, чтобы связаться с центром сертификации и создать общедоступный, частный сертификат и сертификат x.509.

узел enrollAdmin.js

Теперь ваша информация будет храниться в кошельке. Точно так же, чтобы добавить любого нового пользователя, вам нужно пройти тот же процесс и использовать следующий код:

узел reisterUser.js

Этот код добавит пользователя, а данные будут храниться в кошельке.

Запрос книги

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

Используйте приведенный ниже код, чтобы получить все данные из реестра:

узел query.js

Далее нам нужно установить соединение для передачи данных. После установления соединения создайте шлюз, чтобы приложение могло подключаться к сети. Следующая строка кодов поможет вам сделать все это.

const { FileSystemWallet, Gateway } = require('fabric-network');

константный шлюз = новый шлюз();

await gateway.connect(ccp, {бумажник, удостоверение: 'user1' });

const contract = network.getContract('subdirectory_name');

CPP в приведенном выше коде используется для доступа и проверки информации о пользователе. Последняя строка кода подключается к определенному каналу. Это важно, поскольку вся сеть блокчейна работает по нескольким каналам.

Понимание контракта

Перейдите в подкаталог chaincode/subdirectory_name/javascript/lib, чтобы получить доступ к смарт-контракту приложения. В указанном выше каталоге subdirectory_name будет именем подкаталога вашего приложения. Откройте полученный здесь файл application_name.js в редакторе. В этом файле вы получите смарт-контракт и все транзакции, определенные в классе Contract. Предположим, ваше приложение посвящено автомобилям, детали транзакции будут выглядеть так:

асинхронный запросCar(ctx, carNumber) {…}

Читайте: Почему будущее за блокчейном

Обновление бухгалтерской книги

Последняя часть этого руководства по Hyperledger Fabric для начинающих посвящена обновлению леджера. На том же примере с автомобилем рассмотрим, как можно добавить в журнал новый автомобиль. Используйте следующую строку кода, чтобы добавить новое транспортное средство в реестр.

await contract.submitTransaction('createCar', 'CAR15', 'Владелец', 'Бренд', 'CarModel', 'Цвет');

Использование приведенной выше команды создаст новый автомобиль вместе с указанными значениями атрибутов. Чтобы отправить эту новую транзакцию в бухгалтерскую книгу, напишите следующий код:

узел invoke.js

Это приведет к успешному обновлению леджера.

Заключение

На этом мы подошли к концу нашего руководства по Hyperledger Fabric . Технология блокчейн и инфраструктура Hyperledger Fabric могут произвести революцию во многих отраслях по всему миру. Это руководство дало краткое представление о том, как работает инфраструктура Hyperledger Fabric и как запустить на ней свою первую транзакцию и приложение. Если вы хотите вникнуть в детали и узнать, как разрабатывать настоящие бизнес-приложения с использованием фреймворка, вы можете подать заявку на участие в программе повышения квалификации upGrad и IIIT Bangalore по курсу технологии блокчейна .

Курс более 250 часов учебных материалов по технологии блокчейн и фреймворкам, таким как Ethereum, Hyperledger Fabric, разработка распределенных приложений (разработка смарт-контрактов, разработка серверной части, API). Если вы хотите продолжить карьеру в области разработки блокчейнов, подайте заявку сегодня.

Освойте технологию будущего — блокчейн

Подать заявку на сертификацию руководителей в области блокчейн от IIITB