Учебное пособие по 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). Если вы хотите продолжить карьеру в области разработки блокчейнов, подайте заявку сегодня.