Tema: Desarollo de la primera arquitectura de Hyperledger Fabric
Descripción
Con una visión universitaria, se busca crear una red de Hyperledger Fabric que esté compuesta por dos universidades en las que compartan información a través de esta red.
Cada universidad tendrá un nodo y para compartir información tendrá un nodo Orderer y también un canal llamado “universidadeschannel”. La generación de certificados puede hacerse con la CA de Fabric si se desea.
El objetivo del proyecto es que seáis autónomo en el despliegue de una arquitectura de Fabric y podáis recoger lo revisado en clase y hacer vuestro propio despliegue editando los ficheros facilitados. Siempre teniendo claro qué se está editando.
Fases del proyecto
- Fase 1: Pintar en un Power Point una arquitectura funcional de cómo interactuarán las universidades entre ellas. También pintar una arquitectura funcional para ver de qué componentes se compone la arquitectura de esta red.
- Fase 2: Crear los ficheros de docker-compose que serán clave en el despliegue. Para ello se puede basar en la test-network desplegada en las clases prácticas.
- Fase 3: Crear el mecanismo de generación de certificados. Para ello se puede usar la herramienta cryptogen o se puede utilizar la CA de Fabric. Si se usa la CA de Fabric se tiene que crear un script que genere todos los certificados necesarios.
- Fase 4: Despliegue de la arquitectura, despliegue de certificados, creación de canales y por último, adición de los nodos a los canales. Esta será la prueba que valide que todo se ha realizado correctamente.
Actividad extra:
- Realizar el mismo despliegue pero añadiendo el componente CouchDB en los nodos de cada universidad. De forma adicional se puede automatizar este despliegue con un script que realice todo de forma automática.
Criterios de entrega:
El primer punto que ha de cumplirse es que la red arranque sin ningún problema. Sí que se pueden aceptar los warnings internos al arrancar los nodos. También se tendrá en cuenta que los nodos desplegados se sumen al canal creado para compartir información.