Hyperledger Fabric блокчейна основан на разработке приложений SDK

1. Модель разработки приложений Fabric

Разработка Fabric включает в себя разработку клиентского приложения и смарт-контракта (чейнкода).После
разработки чейнкода он развертывается на одноранговом узле сети блокчейн. Реестр управляется через чейнкод.При вызове транзакции фактически вызывается метод функции в чейнкоде, который реализует бизнес-логику и выполняет операции получения, помещения и удаления в реестре.
Клиентское приложение предоставляет пользовательский интерфейс, вызывает SDK структуры и выполняет операции и транзакции блокчейна.Это
обучение посвящено разработке клиентских приложений .

вставьте сюда описание изображения

2. Знакомство с интерфейсом Fabric SDK
Fabric предоставляет SDK для вызовов приложений.SDK включает в себя такие интерфейсы, как обработка транзакций, управление участниками, запросы блокчейна и обработка событий.

Пакет SDK Fabric имеет следующие характеристики. Многие вызовы базового интерфейса возвращаются асинхронно, а протокол gRPC используется для передачи данных в обоих направлениях.

gRPC в сочетании с буфером протокола может уменьшить объем передаваемых данных и повысить производительность передачи по сети.

Поддерживаемые языки: Go, Java, JavaScript и Python. В этой конфигурации мы берем разработку на языке Java в качестве примера.

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

Вся сеть Fabric, за исключением fabric-ca, использует протокол HTTP, остальные используют протокол GRPC.

Интерфейсный модуль Fabric SDK
Fabric SDK определяет два типа интерфейсов модулей: один обращается к интерфейсу Fabric-CA, а другой — к сетевому интерфейсу Fabric, где Fabric-CA является необязательным и может быть заменен другими зрелыми сторонними системами CA.

Модули, предоставляемые Fabric SDK, следующие:
Модуль HFClient : запись приложения, обеспечивающая управление каналами, управление цепочками кодов, хранение данных и функции, связанные с криптографией. Каждый экземпляр HFC соответствует сети блокчейна, включая узлы учета, узлы сортировки и т. д. Если прикладному уровню требуется доступ к нескольким сетям, можно создать несколько экземпляров HFC.

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

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

Одноранговый модуль : одноранговый узел — это узел, на который модуль HFC отправляет запросы подтверждения и запросы транзакций. Экземпляр равноправного узла содержит такую ​​информацию, как имя узла, адрес, роль, регистрационный сертификат и т. д.

Модуль «Заказ» : узел «Заказ» — это узел, в который модуль HFC отправляет заказ транзакций. Экземпляр заказа содержит информацию об адресе узла службы сортировки и определяет интерфейс для отправки атомарных широковещательных запросов и получения блоков.Модуль
пользователя : представляет объект, заполнивший сертификат регистрации и ключ подписи.Сертификат регистрации должен быть доверенным ЦС. выпущенной сетью блокчейн

Существует разница между идентификацией пользователя и идентификацией одноранговой сети. Идентификатор узла не может получить доступ к секретному ключу, но может только проверить подпись

3. Процесс разработки приложения Fabric

Общие этапы процесса разработки приложения Fabric следующие:
1. Создать канал на сортировочном узле
2. Регистрация и регистрация пользователей
3. Одноранговый узел присоединяется к каналу
4. Установить и создать экземпляр кода цепочки через одноранговый узел
5. Инициировать транзакцию и сгенерировать блок

Инициируйте транзакцию, как показано на рисунке ниже:
вставьте сюда описание изображения

> 4. Процесс разработки приложения Fabric

Если прикладной уровень напрямую работает с Fabric SDK, процесс будет непростым, и будет много избыточного кода.Как правило, Framework будет упакован для блокчейна между прикладным уровнем и Fabric SDK, упрощая прикладной уровень. и блоки.Сложность стыковки цепочки, для прикладного уровня нет необходимости заботиться о базовой логике и процессе блокчейна

вставьте сюда описание изображения

Введение в исходный код Fabric:
вставьте сюда описание изображения
вставьте сюда описание изображения
Введение в исходный код Fabric-CA:

API: реализация кода, связанного с интерфейсом CA.

cmd/fabric-ca-client: реализация кода, связанного с клиентом ЦС.

cmd/fabric-ca-server: Реализация функций, реализованных кодами, связанными с сервером ЦС.

lib/metadata:: реализация кода операции с базой данных

вставьте сюда описание изображения
Пять. Рекомендации по разработке приложений Fabric

Разберитесь в работе Fabric и процессе транзакций до начала разработки приложения, иначе вы будете в убытке

Особое внимание необходимо уделить параметрам конфигурации Fabric, включая шифрование, время ожидания и т. д.

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

Необходимо обратить внимание на соответствие версии SDK и версии платформы Fabric, так как разные версии могут быть несовместимы.

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

Supongo que te gusta

Origin blog.csdn.net/leaning_java/article/details/125254317
Recomendado
Clasificación