Hyperledger – Capítulo 10 | Aplicación Blockchain en Hyperledger Fabric

Este es el capítulo final de esta serie de diez partes en la que reuniremos todo. Desde la configuración de la red de pares y el uso del SDK de Node.js para desarrollar la aplicación de atún que rastrea la historia de un atún desde su captura hasta que un chef lo cocina.

En esta aplicación de blockchain, blockchain almacenará el estado del sistema, además del registro inmutable de transacciones que crearon ese estado. Se utilizará una aplicación cliente para enviar transacciones a la cadena de bloques. Los contratos inteligentes (Chaincode) codificarán parte (si no toda) de la lógica empresarial.

¿Qué aprenderemos en este capítulo?

<×Resumen:

La tecnología de contabilidad distribuida generalmente consta de tres componentes básicos:

Estamos utilizando Hyperledger Fabric, uno de los 5 marcos disponibles dentro del universo Hyperledger para explorar una forma de aportar algo de transparencia a la cadena de suministro de Tuna Fish. Lea más sobre la estructura del problema aquí, en caso de que esté perdido.

Aplicación de atún – Arquitectura de alto nivel

Aplicación Tuna Fish: flujo de transacciones dentro de Hyperledger Fabric

Cómo interactúan las aplicaciones con la red

Las aplicaciones usan API para ejecutar contratos inteligentes. En Hyperledger Fabric, estos contratos inteligentes se denominan código de cadena . Estos contratos se alojan en la red y se identifican por nombre y versión. Se puede acceder a las API con un kit de desarrollo de software o SDK. Actualmente, Hyperledger Fabric tiene tres opciones para desarrolladores: SDK de Node.js, SDK de Java y CLI.

SDK de Fabric Node.js

En este ejercicio, utilizaremos el SDK de Node.js (https://fabric-sdk-node.github.io/) para interactuar con la red y, por lo tanto, el libro mayor. Hyperledger Fabric Client SDK facilita el uso de las API para interactuar con una cadena de bloques de Hyperledger Fabric. Esta sección lo ayudará a escribir su primera aplicación, comenzando con una red de Hyperledger Fabric de prueba, luego aprendiendo los parámetros del contrato inteligente de muestra y, por último, desarrollando la aplicación para consultar y actualizar registros contables.

Para obtener información adicional, visite la documentación del SDK de Hyperledger Fabric Node: https://fabric-sdk-node.github.io/tutorial-app-dev-env-setup.html.

Parte divertida: Aplicación BlockChain

Asegúrese de tener las dependencias técnicas resueltas antes de intentar ejecutar esta aplicación blockchain.

Paso 1: clona el repositorio

Asegúrese de tener Docker ejecutándose en su máquina antes de ejecutar el siguiente comando. Si no tiene Docker instalado, vuelva al Capítulo 4, Requisitos técnicos .

Además, asegúrese de haber completado la sección Instalación de Hyperledger Fabric de este capítulo antes de pasar a esta sección de la aplicación, ya que es probable que experimente errores.

Primero, elimine los contenedores preexistentes, ya que pueden entrar en conflicto con los comandos de este tutorial:

Exploremos un poco la estructura de carpetas aquí:

Una vez que ejecutaste el clon de git, habría creado esta estructura de carpetas dentro de tu sistema

Ahora abra el material de la tela en su editor de texto favorito. (Estoy usando Sublime)

Paso 2: Inicie Fabric Network

A continuación, comencemos la red Hyperledger Fabric con el siguiente comando:

Analicemos lo que sucede cuando ejecuta este comando en su terminal.

Como puede ver en el código, startfabric.Sh llama internamente a start.sh dentro de la carpeta de red básica.

Ahora, si atraviesa start.sh, puede ver cómo se borra y se vuelve a llenar el contenedor de la ventana acoplable. Además, se crea un canal y se agrega un par.

Entonces ves esto en tu terminal

& amp; se crea la creación del canal junto con algunos registros ficticios

Paso 3: RegisterAdmin

Genial. Ahora que la red está activa. Regístrese como administrador.

Debería obtener este resultado, básicamente se crea un administrador con las claves necesarias. Puede abrir registerAdmin.js para ver el código. Básicamente, con el cliente Fabric CA verificamos si un administrador ya está registrado, si no, se inscribe con el cliente CA. Se establecen parámetros básicos como enrollmentID, Secret. Luego, el usuario se crea con FabricClient con ID de membresía, junto con el par de claves públicas privadas.


Paso 4: Registrar usuario

Ahora que la red y el administrador están configurados, registremos un usuario.

Elimina el directorio de claves & amp; Regístrese como administrador de nuevo.

Intentemos registrar al usuario nuevamente.

Si abre registerUser.js , puede ver que registramos al usuario con el servidor de CA y luego lo inscribimos.

Paso 5: Ejecute el servidor

Este paso es el paso final para ejecutar la aplicación. Para eso tenemos que configurar el servidor nodejs, llamar a los paquetes necesarios, crear una instancia de la aplicación y escuchar en un puerto en particular.

voilá … nuestra aplicación está activa en el puerto 8000


La interfaz de usuario tiene un botón debajo de 4 títulos.

Consultar todas las capturas de atún – activadores— queryAllTuna.js

Query Specific Tuna – triggers – queryTuna.js

Crear registro de atún: activadores: recordTuna.js

Cambiar el soporte de atún – activadores – changeTunaHolder.js

Todos estos archivos js están definidos a su vez dentro del código de cadena tuna-chaincode.go

Salida

Juguemos con la interfaz de usuario

2. Query Tuna (estoy recuperando el registro 6 a continuación)

3. Registra una captura de atún


4. Cambiar el propietario del atún


Si ha llegado hasta aquí, ¡recompénsese!

Esto pone fin a la serie de 10 partes de la tela Hyperledger.

Resumen:

Nandri,

Moisés Sam Paul

Esta historia se publica en The Startup, la publicación de emprendimiento más grande de Medium seguida por más de 324,834 personas.

Suscríbase para recibir nuestras noticias principales aquí.