Follow Us
Facebooktwitteryoutube
YouTube
Promo
banner
Promo
banner

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

Добро пожаловать в Учебное пособие по Hyperledger Fabric. 

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

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

Но почему Hyperledger Fabric а не любой другая структура корпоративной цепочки блоков?

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

Вы можете оценить его популярность, проверив его участников, в которые входят CISCO, IBM, Intel, SAP, Accenture и другие..

Что такое Hyperledger Fabric?

Hyperledger Fabric – это платформа корпоративного уровня с открытым исходным кодом. Он полагается на разрешенную технологию распределенного реестра для предоставления столь необходимых приложений и решений. Linux Foundation работает над множеством проектов, и Hyperledger Fabric – один из них..

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

По сути, Hyperledger Fabric настраивается и имеет модульную структуру. Это означает, что предприятия могут беспрепятственно работать с фреймворком. Все эти желательные функции делают Hyperledger Fabric отличным выбором! На момент написания вы можете опробовать Hyperledger Fabric v1.4, в котором есть новые функции и возможности..

Функциональные возможности Hyperledger Fabric

Hyperledger Fabric имеет пять основных функций. Они следующие

  • Управление идентификацией: Управление идентификацией имеет решающее значение для любой разрешенной сети. Вот почему управление идентификацией – одна из важнейших функций в структуре Hyperledger. Предоставляя администратору возможность настроить правильное управление идентификацией, предприятия могут убедиться, что они используют несколько уровней разрешений..
  • Эффективная обработка: Hyperledger Fabric эффективна. Это связано с тем, что сетевые роли назначаются как тип узла. Эффективность также обеспечивается за счет разрешения выполнения транзакции отдельно от обязательств и заказов..
  • Модульная конструкция: Hyperledger Fabric использует модульную конструкцию, что означает, что в нее легко интегрировать службы или другие системы. Это также означает, что вы можете указать алгоритм консенсуса, идентичность и т. Д.. 
  • Конфиденциальность и конфиденциальность: Hyperledger Fabric также предлагает надлежащую конфиденциальность и конфиденциальность, что очень важно для предприятий. Они предлагают надлежащие каналы передачи данных, чтобы информация не просачивалась, а конфиденциальность можно было сохранить любой ценой..
  • Функциональность цепного кода: Hyperledger Fabric предлагает функциональность цепного кода, которая позволяет вызывать логику только при вызове транзакции определенного типа.. 

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

Учебное пособие по Hyperledger Fabric


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

Архитектура системы

В основе у нас есть узлы. Узлы общаются друг с другом и составляют сеть. Однако есть программы, которые запускаются самим блокчейном. Это цепной код. Чейнкод отвечает за хранение данных реестра и состояния, а также за выполнение транзакции.. 

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

Сделки

Транзакции в Hyperledger Fabric могут быть двух типов:

  • Развернуть транзакции: Этот тип транзакций отвечает за создание нового чейнкода с параметром в виде программы. После этого чейнкод считается «установленным» в блокчейне..
  • Вызов транзакций: транзакции вызова – это транзакции, которые выполняются в контексте предыдущих развертываний цепного кода..

Структуры данных блокчейна

Основная структура данных, используемая в блокчейне, – это хранилище значений ключей (KVS). Ключи – это в основном имена, а значение – капли. Чейнкоды могут манипулировать структурой данных с помощью двух следующих KVS-операций..

  • положить
  • получать

Вся структура данных рассматривается как состояние.

Бухгалтерская книга

Главная книга – это последовательность успешных изменений состояния и неудачных попыток. Они упорядочены так, чтобы на них можно было ссылаться позже. Также они являются упорядоченными блоками транзакций хешчейна. Журнал содержит упорядоченные блоки, которые в свою очередь содержат упорядоченный массив транзакций..

Узлы

Узлами могут быть любые коммуникационные объекты в сети..

Клиент

Клиент – это тот, кто может действовать от имени конечных пользователей..

Вглядеться

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

Написание вашего первого приложения Hyperledger Fabric 

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

Чтобы упростить нашу разработку, мы будем использовать SDK приложения для упрощения ссылки на ключевые 

функции, включая вызов смарт-контрактов и другие запросы.

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

  1. Настройте среду разработки. Среда разработки предоставляет вашему приложению необходимую сеть для работы. Это даст вам возможность заставить ваш смарт-контракт работать..
  2. Знакомство с образцами смарт-контрактов. Здесь вы должны пройти смарт-контракт и понять его транзакции. Мы будем запускать запросы, моделируемые приложениями, а также обновлять бухгалтерскую книгу, используя их..
  3. Разработка образца приложения: на последнем этапе вы создадите образец приложения, используя смарт-контракт..

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

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

Ознакомьтесь с их предварительным руководством по установке здесь.

Также ознакомьтесь с Hyperledger Composer: создайте корпоративный блокчейн

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

После того, как вы установите образцы, вы найдете образцы тканей, включенные в него. Он должен быть включен в репозиторий «образцов ткани». В репозитории есть образец первой сети.

Чтобы перейти в этот каталог, перейдите в папку с помощью команды cd, как показано ниже..

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

Чтобы запустить пример первой сети, вам нужно использовать сценарий byfn.sh. Сценарий предназначен для быстрого запуска проекта с четырьмя узлами. Четыре партнера представляют две разные организации. Он также запустит контейнер, цепной код и транзакции. Контейнер позволит большему количеству пиров присоединиться к сети..

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

Теперь вы можете сгенерировать сертификаты и ключи для сетевых объектов. Для этого вам необходимо выполнить следующую команду.

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

Перед началом процесса вас попросят подтвердить. Нажмите Y, чтобы начать заполнение сети необходимой информацией, включая включение служб заказа, конфигурацию и т. Д..

Питание сети

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

./byfn.sh вверх

Как только вы запустите команду, вы увидите, что фреймворк скомпилирует изображения цепного кода Golang. Кроме того, связанные контейнеры также будут запускаться, чтобы предоставить новым одноранговым узлам возможность присоединиться к сети.. 

По умолчанию вы увидите Go в действии. Это потому, что Go является языком по умолчанию для цепного кода. Но это не значит, что вы не можете использовать другие языки программирования. Chaincode также поддерживает Node.js и Java. Чтобы перейти на узел, вы можете использовать следующую команду. 

.byfn.sh up -l узел

Точно так же вы можете перейти на Java Если вам нужно.

.byfn.sh вверх -l java

Если вы хотите использовать несколько языков цепного кода, вам необходимо использовать службу заказа, включая Raft или Kafka..

./byfn.sh вверх -o etcdraft

./byfn.sh вверх -o кафка

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

Чтобы лучше понять, как построить и поддерживать свою первую сеть, ознакомьтесь с руководством по построению сети. здесь.

Запуск сети

Теперь, когда вы установили образцы и просмотрели страницу с предварительными требованиями, пришло время запустить сеть..

Для простоты мы не будем использовать JavaScript. Также вам понадобится подкаталог fabcar. Сделайте также локальный клон репозитория образца ткани.

Для запуска сети необходимо использовать сценарий оболочки startFabric.sh. После запуска вы получите сеть блокчейнов, в которой есть центры сертификации, заказчики, одноранговые узлы и т. Д. Поскольку подкаталог fabcar используется, смарт-контракт FabCar будет автоматически установлен и запущен. 

Команда для запуска сети следующая:

./startFabric.sh javascript

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

Пришло время установить приложение. Но прежде чем мы это сделаем, нам нужно установить зависимости. 

npm install

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

В пакете важные классы, которые будут инициированы, включают

  • Fabric-network class → разрешает транзакции, идентификаторы, кошельки
  • fabric-ca-client → регистрируйте пользователей в соответствующих центрах сертификации

После этого мы перейдем в каталог fabcar / javascript. Давайте посмотрим на файлы каталога ниже:

  • encrollAdmin.js
  • node_modules
  • package.json
  • registerUser.js
  • invoke.js
  • пакет-lock.json
  • query.js
  • бумажник

Связь с центром сертификации

Теперь, когда у нас есть работающая сеть, давайте узнаем, как общаться с центром сертификации.. 

Запрос на подпись сертификата (CSR)

Наша первая задача – пройти процесс КСО. В этом процессе админ связывается с центром сертификации, чтобы сгенерировать общедоступный, частный сертификат и сертификат X.509. Используемая для этого программа – enroll.js

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

узел enrollAdmin.js

Вся информация теперь хранится в бумажник каталог.

Тот же процесс необходимо выполнить, если вы хотите зарегистрировать другого пользователя. Попробуем зарегистрировать другого пользователя – пользовательновый

узел reisterUser.js 

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

Запрос Ledger

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

Источник: Документы Hyperledger Fabric.

Значения в бухгалтерской книге также остаются в мировое государство. Это значение пары ключей, которое обсуждалось ранее в руководстве. Итак, запрос может выявить данные из ключей. Хорошая новость в том, что вы можете использовать такие базы данных, как CouchDB. Состояния мира могут быть настроены на использование реляционных баз данных..

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

узел query.js

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

const {FileSystemWallet, Gateway} = require («фабрика-сеть»);

В строке выше выполняется подключение к сети.

Затем создается шлюз для подключения приложения. Это делается с помощью строк ниже.

const gateway = новый шлюз ();

ждите gateway.connect (ccp, {кошелек, identity: ‘user1’});

В ccp используется для идентификации личности пользователя и соответствующей информации о кошельке. 

Поскольку сеть Hyperledger Fabric использует несколько каналов, важно подключиться к конкретному каналу для приложения..

const contract = network.getContract («fabcar»);

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

Чтобы лучше понять смарт-контракт, давайте рассмотрим его. Он также продемонстрирует транзакции, совершенные через него..

Чтобы получить к нему доступ, вам нужно перейти в подкаталог цепной код / ​​fabcar / javascript / lib. Оказавшись там, откройте fabcar.js в редакторе..

Там вы увидите использование класса Contract для определения смарт-контракта. Более того, в смарт-контракте будут определены четкие транзакции, включая queryCar, queryAllCars, initLedger, changeCarOwner и createCar..

Транзакции будут выглядеть следующим образом:

async queryCar (ctx, carNumber) {…}

Давайте посмотрим на транзакцию queryCar.

async queryAllCars (ctx) {

  const startKey = ‘CAR0’;

  const endKey = «CAR999»;

  const итератор = ожидание ctx.stub.getStateByRange (startKey, endKey);

Источник: Документы Hyperledger Fabric.

Обновление Ledger: покупка новой машины

Последний шаг – обновить бухгалтерскую книгу новой информацией. В этом случае давайте создадим новую машину с помощью invoke.js. Вам нужно открыть файл и добавить в него следующую команду.

await contract.submitTransaction («createCar», «CAR12», «CarBrand», «Модель», «Цвет», «Владелец»);

В приведенном выше коде приложение вызывает транзакции смарт-контракта createCar. Он, в свою очередь, создаст автомобиль со своими атрибутами, включая CarBrand, Color, Model и Owner..

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

узел invoke.js

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

Вывод

На этом мы подошли к концу нашего урока. В этом уроке нашей целью было покрыть только поверхность. Если вы хотите углубиться, вы можете ознакомиться с их официальными документами Hyperledger Fabric, в которых все подробно обсуждается.. 

Итак, собираетесь ли вы использовать Hyperledger Fabric для построения корпоративной цепочки блоков? Прокомментируйте ниже и дайте нам знать.

Mike Owergreen Administrator
Sorry! The Author has not filled his profile.
follow me
Adblock
detector