 Ya. Ya, ok. Empezamos. Buenas tardes a todos y a todas o buenos días, depende de dónde nos estéis viendo. Bienvenidos a un mitad más de HyperLayer Madrid, primer mitad desde verano. Hoy la plataforma proyecto de HyperLayer con el que vamos a estar hoy es HyperLayer Fabric y vamos a estar aprendiendo sobre, dentro de HyperLayer Fabric, sobre un poco de infra y de cubernetes. Para ello tenemos a nuestro speaker, David Viejo. Hola, David, ¿qué tal? Hola, buenas tardes, ¿cómo estamos? Muy bien. Genial. Bueno, pues David es un arquitecto de soluciones que trabaja principalmente con HyperLayer Fabric para proyectos de la EWIPO y ha desarrollado un operador de cubernetes para poder desplegar componentes de HyperLayer Fabric de manera sencilla. Y bueno, además trabaja con un tránsito de blockchain para algunas startups de Estados Unidos. Así que bueno, David, te voy a ceder la palabra y bueno, cualquier duda que tengáis o lo que sea, escribirla por el chat y tanto por el chat de Zoom como por el chat de YouTube y nada, las iríamos resolviendo. Así que David, te cedo la palabra y muchísimas gracias por tu tiempo y por la presentación. A vosotros. Bueno, buenas tardes. Muchas gracias por venir. Espero que salguéis de aquí saliendo más cosas. Espero sobre HyperLayer Fabric y cubernetes. Y bueno, como ha dicho, me voy a representar otra vez. Me llamo David Viejo. Trabajo como arquitecto de soluciones, también postando otros proyectos, como empresa Confusower, donde hago proyectos propas a otras startups de Estados Unidos, proyectos aquí en España y también al TPS con la que estoy haciendo proyectos con la U. Todos estos a nivel blockchain. Trabajo con HyperLayer Fabric principalmente y empecé HyperLayer Fabric a un año y medio, principios de 2020. Entonces, cuando empecé, estuve un mes aprendiendo. Fue bastante complicado el entrar, pero claro, empecé con los Fabric samples, que seguro que algunos habéis empezado por ahí y todo funciona a la primera, pero luego es tan siguiente paso que se entender. Entonces, a mediados de 2020, ya empecé a intentar ver otras soluciones. Y es cuando tope con esta idea de los operadores de ubernetes. Y es cuando empecé el desarrollo de este proyecto. Y bueno, pues, por ahora soy el principal desarrollador y los temas tienen el operador de ubernetes para Fabric. Hay otros como Celo y demás, pero estos no han seguido con las últimas versiones. Bueno, sin más, vamos a ir con la gente. Voy a hacer una pequeña introducción de lo que vamos a hacer, de las organizaciones que vamos a desplegar, los componentes y demás. Y también voy a dar una idea bastante a alto nivel sobre cómo funciona un operador de ubernetes, porque este concepto no solo se aplica a los AGB de Fabric, hay operadores para hacer, ellos tienen que ser más fácil, para POSGRES, operadores para RISQM, operadores para Redis, o sea, para cualquier producto, más o menos popular, si buscáis un uber o un operato y ponéis el producto, seguramente haya alguien o alguna empresa que haya hecho este proyecto. Y bueno, después de hacer la introducción, iremos a la demo, desplegaremos una organización PR, un ordener, crearemos el canal, desplegaremos el chenco, añadiremos otro PR, añadiremos un PR al canal, desplegaremos otra vez el chenco con esta segunda organización y finalmente, pues, veremos cómo funciona. Después, el Remote 5 Development, esto es un tema bastante interesante, pero no he podido hacerlo hoy en este caso. Pero la semana que viene, lo prepararé para la semana que viene, porque hay una charla más o menos la misma, con algunas mejoras que la haré en inglés. Y cuando terminemos la demo, pues podemos pasar a las preguntas y respuestas, pero si tenéis alguna pregunta, ahora lo dejáis por el chat y lo podemos resolver en directo. Ok. Bueno, vamos a hacer una pequeña... Primero, vamos a recordar los componentes de Hyperrayers, estaba el PR, estaba el ordener y está el chenco. Bien, ¿qué es lo que soluciona principalmente el operador de Kubernetes? Pues si vemos en la figura, para cada componente, tanto el PR como el ordener, después está la CA, que no está la pintada, pero al final tiene más certificados, tanto el PR como el ordener tienen certificados. Aquí tienen los Sign Certificates y los PLS Certificates. Uno sirve para firmar las sensaciones y el otro sirve para la comunicación remota, para conectarte al PR, pues el servidor necesita unos certificados. Después, el ordener lo mismo, el patrón se repite, tiene unos certificados para que firme el orden en las transacciones y otro certificado para el servidor, cuando de poner el puntero mejor, así. Y otro certificado para el servidor. Pero también, si tenemos una aplicación, en este caso puede ser un app y puede ser una aplicación de consola, también necesita unos certificados para firmar, porque no todo el mundo puede interactuar con la red, al ser una red permisionada. Y, bueno, el PIA también se conecta con el Chain Code, aquí también hay certificados, aunque no los veamos. Y pasamos a la figura que queremos tener al final de esta presentación, en la llegada de hoy. Vamos a tener tres organizaciones, empezaremos con dos, el ordener 1MSP y el ordener 1MSP, y después añadiremos esta segunda. Empezaremos también con un PIA para la organización 1, también tendremos PIA para la organización 2, y en el canal tendremos varios Chain Code. Al principio despegaremos uno, y también, pues, el ordener MSP tiene que tener al final unos componentes. Tendremos un ordener, no tendremos dos, no estaría el consenso. Esta imagen me falta actualizar, pero tendremos uno aquí. Vale. Esto es, digamos, que es la figura final que vamos a tener. Entonces, creo que hay un sonido por ahí, que está de Artur. ¿Puedes mutear? Podéis mutear Artur, por favor, gracias. Bueno, y vamos con el contexto, vamos a utilizar gpd2.3, ¿Por qué vamos a utilizar esta versión? Porque hay una nueva funcionalidad que solo está en esta versión, es el Channel Participation API. ¿Qué hace este API que cada que valga la pena hacerlo con esta versión? Pues, antiguamente, con la versión 2.2 habría que tener un canal de sistema. Y esto, pues, tenía problemas de seguridad en el sentido de que si en el canal de sistema tenían que estar todas las organizaciones que participarse en todos los canales. Entonces, yo tengo un canal en el que quiero participar solo con otro, tenía que pasar por otras organizaciones que no querían. Y también, esto permite que la operación sea más fácil. Después, para ejecutar los comandos, si habéis visto algún tutorial de GpdJelFabric, pues utiliza mucho los comandos de PDR, Channel Chain Code, Channel Update y demás. En este caso, en el operador ha desarrollado un plugin de QCTL, que es el que vamos a utilizar y es el que nos va a permitir interactuar con estos componentes. Después, por defecto, el PDR lanza el cinco de Docker. Entonces, en este caso, despegaremos el cinco de Incubernetes, porque queremos que toda nuestra estructura esté en Incubernetes, aunque interactúe con el host de Docker. Y, bueno, aquí también podemos todo el código, voy a poner el código aquí, todo el código se podrá acceder. Está aquí. Este es el ritmo que vamos a seguir. Lo voy a poner en el chat. No sé si puedo poner el chat. Lo pongo en el chat para que lo podáis seguir, pues que queráis. Este repositor de vale. Y, bueno. Y, bueno, no vamos a utilizar Qtogen porque el operador va a generar los certificados por nosotros. ¿Por qué necesitamos un Kubernetes? ¿Por qué es bueno utilizar un operador de Kubernetes? Al final, si queremos desplegar componentes, BIAS, Orders, de una manera rápida, necesitamos una automatización. Entonces, la automatización que se suele llevar en los proyectos de HyperLayer hasta hace un año es con scripts, con certificados a la CEA para... Esto se tiene que hacer una y otra vez. Entonces, si existe un programa que le podamos pasar una configuración en este caso, pues en un jamer que puede decir pues que certificados usar, que base de datos usar, de si causa de ver, pues entonces podremos desplegar componentes mucho más fácil. Prover una extracción también porque no tenemos que interactuar con la CEA, el operador lo hace. Esta base en Kubernetes significa que puede funcionar tanto en Amazon, en Google y en premise también donde haya un Kubernetes y también, en los últimos meses hemos añadido funcionalidades como la renovación de certificados, que lo podemos probar también en la demo, pues si queréis ver cómo funciona. Vale, y como funcionan Kubernetes por dentro. Al final, tenemos Kubernetes hay una cosa que se llama Custom Resource Definition CRD es, digamos, la abreviación de esta palabra. Entonces, el operador lo que hace es crear un CRD de tipo PR o de tipo orden, o de tipo certificado Solity. Estos recursos, ¿quién los crea? Los que el usuario, entonces el usuario tiene el yaml lo meten en Kubernetes, entonces el operador está al corriente de las modificaciones, de qué recursos han creado, de qué recursos han eliminado y que tenemos pertinentes, que eso es desplegar el PR, generar certificados y crear el secreto configuración y demás. Y esta es la figura más abajo nivel, al final, tenemos en el Kubernetes cluster, tenemos un programa, es el operador y este es el que crea los tres tipos de componentes, el PR y certificado Solity. ¿Y cómo podemos interactuar con este Kubernetes? Yo he tenido algunos proyectos, por ejemplo en Estados Unidos, pues hice un API en Go que lo que hacía era interactuar con el cluster de Kubernetes para crear pillas, crear ordenes y crear CRD, y tenía lógica, la lógica que no podía meter en el operador porque era más especial pues la tenía en el API, este API estaba en Chong Go y la verdad que esto, hasta la fixa, ha funcionado bastante bien. Y tenemos la segunda forma de interactuar con el cluster, que es con este plugin de QCTR. ¿Qué funcionalidades tenemos? Pues bueno, las tres primeras ya las hemos comentado y la de renovar certificados y la de el external binder. Ya viene lucrado con una imagen que la verdad que se puede desplegar los chencos directamente en Kubernetes. Y sin más, yo creo que lo que vamos a pasar es que no sé si hay alguna pregunta hasta aquí. A lo mejor ha ido muy rápido, o sea, podemos ir para atrás y tomarnos, tenemos 10, 15 minutos hasta pasar a la demo. De momento por chat no he visto ninguno y por YouTube tampoco. Grabamos que si no si hay alguna duda pues también, os sabréis micro, que yo creo que va a ser lo más sencillo y ya está. Y si no, pues seguimos. Nadie que tenga alguna pregunta. Sí, mira, tenemos una de Fabian. ¿Las imágenes que utilizan los bots durante el despliegue de Kubernetes en qué se basan? Las imágenes finales un toque fae. La podemos ver aquí. Este es el proyecto que estoy utilizando para desplegar el build y si vamos tenemos imágenes para diferentes versiones, 2.2.0, 2.2.3 2.2.3. Si nos vamos a una, por ejemplo nos vamos a un toque fae al final pues aquí lo que se está haciendo es combilar el external builder, porque esto ya viene con el external builder de serie y se basa en la imagen de Fabian o sea, de hyperlayer básica. Lo único que está haciendo es añadir el external builder y una configuración por defecto. No sé si ha respondido. Perfecto. Tenemos una mano levantada. ¿Dónde estás? Jeremy. Sí, saludos. Una pregunta para Diego. Yo tengo de yo soy nuevo, un acto de blockchain hyperlayer y tengo una man-maining que tiene el nuevo procesador N1. Esto me podría coger perfectamente en ese proceso del que hubo tenido la opción de probar. Si tienes un Mac-mini M1 tiene que haber tienes que conseguir una imagen que soporte ARM Entonces no sé si hay una imagen de Fabric que soporte ARM, pero si soportas ARM no sé si María, tú lo sabes o... No. Yo creo que no debería creo que he visto algún problema de a la hora de ejecutar el GPL de Fabric en ARM Yo creo que tengo un presentimiento de que te vas a complicar en este caso ejecutarlo. No sé por qué. He visto impientos por ahí, pero no hay una imagen de GPL de Fabric que soporte ARM Tenemos más preguntas por el chat a nivel de rendimiento has tenido la oportunidad de comprar el rendimiento en Kubernetes versus el standard deployment No No lo he comparado siempre cuando empecé al final estándar del deployment no sé si se refiere a desplegarlo directamente con comandos de Fabric en bar de meta o desplegarlo en doble Al final Kubernetes lo que va a hacer es desplegarlo en un container entonces entre doble y Kubernetes en teoría tiene que ser más o menos lo mismo Sobre la pregunta de Fabian Yo sí que me he pegado con rendimiento de hecho tienes algo en whitepaper que hay por ahí donde hacen métricas de rendimiento Al final no hay mucha diferencia ya que está muy limitado a la CPU o sea está muy relacionado con la CPU donde estás ejecutando y cuánta CPU le estás dando al PIR Entonces al final que Kubernetes desde mi punto de vista más para facilitar la gestión de los despliegues despliegue continuo toleranza fallos etc versus standard deployment Tenemos otra pregunta de Sergio que pregunta ¿Qué servicio en la nube usas para desplegar Hyperlayer? Al final yo lo que uso es Kubernetes entonces he desplegado en Amazon KS que es el servicio de Kubernetes de Amazon es desplegado en Asus y también en Previx Se podría desplegar cualquier nube que tuviese suporte de Kubernetes No sé si se refiere a algún servicio manejado en el que se manejen los quias y demás como blockchain hay bien el final es muy parecido pero o sea la base es la misma pero cuando te soportan los PIRs es súper distinto Vale, tenemos más preguntas, esta yo creo que va a ser un poco larga la de ¿Cómo sería la integral 5.1.hsm? Sí Hay parámetros Yo la verdad no me he integrado con un hsm nunca con el Fabricerab pero era operador e intentado seguir que se pueda parametrizar Entonces en este caso creo que hay algún tutorial por ahí, por la documentación que puedes utilizar incluso un hsm que no sea de hardware El problema que tiene los hsm es que los físicos cuestan bastante y de todas maneras Si de todas maneras si queréis probar me quieres sonar que hay hsm en cloud que también se puede integrar Vale, tenemos más preguntas Pongo como dos preguntillas más pasamos a demo y luego ya seguimos que veo que está viendo con muchísimo ¿Cómo se configura la versión 2.3 para que no utilice? Ah no, perdona, la siguiente ¿Puedes ir en la miración de un proyecto con la versión 2.2 despliegado con docker conservando el ledger? Sí, en ese caso la mejor opción sería despliegar nuevos pias en 2.3 unirlos al canal dejar que se simplinicen y entonces a partir de ahí matas los activos Ese es la versión más conservadora para migrar Luego podrías cambiar el pias de versión pero había que mirar las versiones de gps pero si creas nuevos pias los señales al canal esto te va a servir para todas las versiones Vale, si queréis seguimos con demo por no recordar mucho en mitad y dejamos todas estas preguntas para el final intentaremos la seguimos respondiendo por orden me he quedado cuáles la siguiente y seguimos ¿vale? Hay algunas preguntas sobre minikube en este caso vamos a utilizar vamos a la demo ya vamos a dos vamos a la demo un momento porque hay algunas preguntas que podemos contestar Dice Carlos en este caso lo vamos a despliegar utilizando kind no sé si sabéis lo que es kind pero lo voy a poner en pantalla kind es una herramienta creada por Kubernetes que el principal objetivo es crear clusters de Kubernetes no solo de un node porque minikube solo soporta un node entonces con este con este programa se podrían crear por ejemplo 10 nodes de Kubernetes en tu máquina para probar entonces es muy fácil para crear clusters puedes tener incluso varios clusters en tu máquina y con diferentes versiones y demás vamos a utilizar si vamos a los prerequisitos ¿qué necesitaríamos para hacer esta demo? un Kubernetes cluster 1.15 esta versión ya es bastante antigua la que vamos a utilizar es la 1.22 pero esta sería la mínima el plugin de QCTL que esto se instala luego usan las instrucciones para instalarlo y bueno también necesitaremos el programa gel y programas también que pueden servir yo aquí en mi local yo tengo lens no sé si lo habéis utilizado pero aquí tengo un problema porque he eliminado mi cluster de Kubernetes antes pero bueno pues aquí puedo visualizar los posts si están arriba si están abajo podría haber incluso logs de los posts y demás es una herramienta bastante fácil para no tener que estar con la consola de comandos de QCTL viendo los posts y viendo los logs y demás y bueno aquí en nombre of kind repito, lo voy a poner en el chat esta URL la podéis encontrar aquí esta instrucción las podéis encontrar aquí si no quieres seguir y en este caso vamos a crear el cluster de kind esta sería la instrucción kind create cluster y le pasamos aquí la imagen si vamos a si alguien está interesado en ejecutar kind con varios nodos pues se podría hacer hay un parámetro si me recuerdo mal esto va a tardar 3-4 minutos hay un parámetro que es el config y con esto se va hay una configuración en la que un momento voy a poner la página configuración este sería la configuración y si vamos un poco más abajo también aquí este sería un ejemplo de configuración con kind que tenemos en este caso pues un master y tres word en este caso la tecnología que vamos a tener es solo un nodo y el nodo va a ser de worder y también va a ser de control play pero aquí pues quien quiera investigar en esto pues que sepa que hay aquí muchas más configuraciones no se se habrá acabado esto bueno esperamos un poco más ya se me preguntaba lo has podido trabajar con teraform creación del cluster y despliegue de la red y recusas de nuevo pero esto tiene que ver más con el Kubernetes tiene que ver más con Kubernetes porque con teraform lo que yo he llegado a hacer es crear el cluster de Kubernetes incluso en Amazon en varias zonas en islanda y a partir de ahí instalar el operador en cada cluster y con un app interactuar con cada uno bueno bueno el cluster acaba de ser creado vamos a obtener la configuración vamos a con el kifconfig y vamos a citar hfkind entonces esta es la configuración que necesitaríamos para acceder a nuestro cluster de Kubernetes que ha sido creado podemos aquí está en localhost ya no estamos haciéndolo en ningún cluster remoto vamos a copiar esto y lo vamos a poner aquí en el lense para poder ver nuestro cluster lo copiamos aquí lo pegamos como texto en el kind lo voy a volver a hacer de nuevo por si alguien lo quiere hacer en casa tenemos aquí la consada de kind izquierda al de cluster y tenemos las opciones especificar el fichero o copiar el kifconfig como texto entonces lo vamos a copiar como texto la vamos a hacer de cluster y ya tenemos aquí el cluster esto yo lo considero es una de las cosas más importantes porque si no no tenemos visibilidad sobre qué está pasando en el cluster y nos podemos volver un poco locos ahora mismo no hemos hecho nada vamos a ver los pods que hay aquí por defecto no se asustéis si no parece nada porque por defecto está filtrando por el cluster por el demispace default entonces vamos a poner con namespace y podemos comprobar que ha sido creado correctamente vale entonces vamos aquí aquí podemos lanzar un par de comandos para verificar que podemos acceder al cluster con kipctl y también podemos ver los pods que en este caso no hay ningún y ahora cuando empieza hasta ahora toda su infraestructura pues esto si alguien quiere despegarlos a su o en algún clavo esta sería la primera parte que tendría que solucionar el despegue en este ahora vamos a instalar el operato cuando instalamos el operato no nos va a crear nada el operato lo que nos va a permitir es la posibilidad de generar recursos estos trd custom risas definitions que hemos visto antes para que el operato los coja y pueda crear estos pias y demás entonces lo primero que habría que hacer es un repositorio al gen entonces habría que añadirlo en este caso ya existe porque necesitamos un repositorio porque las charts en este caso del operato están en un sitio part entonces este es el repositorio en el que están las charts aquí si puedes mirar como también en el chat este repositorio y esta es la chart que vamos a despegar para quien sea lobo en esto de las gen charts al final la gen chart es una serie de plantillas esta sería una gen chart este diretorio templates son las plantillas que se van a mezclar con un radius diable que es un fichero y al final va a producir unos va a crear unos recursos en cuáles metes entonces esto se va a crear un deployments se va a crear un service monitor se va a crear una serva los costumbre de las definiciones están aquí entonces estos llaman son los que se van a crear en cuáles metes entonces una vez que hayamos añadido el repositorio y ya se pague donde ir a coger estas plantillas podemos instalar lo instalamos para tardar un poco y aquí nos dice status deploy si ha habido algún error pues aparecería aquí y que tiene este hd operator llaman vamos a ver hd operator no sé si la fuente está bien es algo que no me puedo confirmar si se ve bien estoy comprobando en youtube y bueno la derecha en youtube se ve un peli pequeño va a ser mejor es que youtube va un peli más lento bueno al final vamos a tener la ida stat chart es bastante simple tenemos la imagen estamos utilizando una versión es la que estoy desarrollando para la siguiente release que principalmente tiene algunas mejoras del plugin y demás y más pulsicles en el caso de que seguramente con los parámetros por defecto os pueda servir pero básicamente estos son parámetros de Kubernetes entonces para asegurarnos que ha sido creado correctamente aquí tenemos unos checks a la izquierda bueno si hubiera alguna modificación pues gel map crate pasándole los parámetros que hemos visto antes con esto si lo justo no haría nada pero que sepáis que lo podéis lo podéis utilizar y después de que esté instalado podemos ver los crd esta es la clado si vemos que crd esta es la lista podemos hacer esto más grande vemos que tenemos 4 en realidad el fabric ordening service esto es algo como el operator a principios de 2020 y ahí está el concepto de ordening service lo lo he mantenido pero al final lo que los vamos a utilizar son fabricias para crear cias certificados ahorita un ordener nodes esto lo vamos a utilizar y para crear piers y vamos a estar viendo crear una cia primero crear un ordener y demás vale y si por ejemplo queremos obtener cuantos cias hay en el cluster pues podemos hacer qctlget pasamos aquí este nombre completo y tendríamos cuantas cias en este caso pues no hay entonces como no hay pues vamos a crear un como crearíamos vamos arriba ok hemos visto los crd esto está correctamente los pods también dos de dos también lo podemos ver en el lens si filtramos aquí podemos ver que esto está en verde entonces esto está en verde estamos bien y si queremos ver los para meter los logs del operato en este caso el podza también creo que este era de una instalación que tenía antigua podemos ver aquí que todos los logs son info entonces ha iniciado correctamente entonces vamos a empezar con la red blockchain vamos a tener una carpeta que se va a llamar resources por uno resources for 2 y luego vamos a crear otra carpeta para las definiciones del orden también en esta carpeta ahora veremos lo que se crea pero solo van a haber llamas no van a haber certificados de nada de eso bueno vamos a crear nuestra primera organización ahora quiero volver a poner la presentación un momento para que veamos el objetivo entonces vamos a empezar esto es al final lo que queremos vamos a empezar creando esto hacia la parte de la izquierda luego el pier y luego vamos a estalar el checo luego pasaremos al orden y luego pasaremos a los dos componentes que instalemos voy a venir siempre a esta figura vale entonces vamos aquí a ejecutar este comando este comando que va a hacer como vemos aquí este comando lo que hace es redirigir lo que saca que es un Java a un fichero y tenemos aquí algunos parámetros por acepto para rellenar el Java por ejemplo las clas para cobernantes cuanto esto les va a tener el nombre y esto es bastante importante porque es el usuario que va a tener la CA a la hora de revisionar usuarios y lo más entonces vamos a ejecutar este comando pero lo ha ejecutado esto creo voy a crear los directores perfecto lo voy a hacer y voy a ejecutar este comando se va estallando para abajo esto así perfecto lo voy a aplicar y vamos a ver qué parámetros hay en la CA para ir ganando tiempo y esto va a ir despegando la CA y demás esto no lo puedo hacer más grande la CA podemos ver aquí este llamar que tiene 158 líneas y vamos a ver qué parámetros tiene voy a colapsar los parámetros para verlo mejor la CA esto no es de la CA este rojo no haga escasos porque hay alguna obligación hay un plugin que saca esto pero el primer parámetro que tenemos es la CA esta es la CA que se va a crear para firmar estamos creando la CA para la organización 1 y aquí tenemos todos los parámetros que soporta esta favorecia tenemos aquí el CSR se va a generar intermedias el nombre de la CA es bastante importante porque este es el nombre que le vamos a dar al operador cuando queremos un PIR vamos a decir oye ve a esta CA hace un enrol con la CA que tenga este nombre y ese certificado ponlo en el PIR y por último esta CA también una serie de identidades esto puede ser útil en el caso de que queramos tener un usuario para el PIR o para ADMIN podemos tener una serie de identidades por defecto registrado entonces tendríamos esta serie de identidades estos son parámetros y la CA tiene una serie de más propiedades como la operación se puede customizar al nivel que queráis y bueno, aquí está Celer ha ido añadiendo parámetros porque esto al final lo que se hace con estos parámetros es rellenar el fichero de la CA de configuración parámetros del COS estamos utilizando ese pulite para hacer más fácil el despliegue la imagen de prefabriciar estamos utilizando la misma imagen de custom en este caso Istio esto lo vamos a ver más adelante porque ahora vamos a utilizar no de port no vamos a utilizar Istio el Istio yo lo he utilizado para despliegos en producción luego ya no enteré más en detalle cuando utilizar Istio cuando no utilizarlo las métricas como configurar las métricas por defecto, pues bueno, está promisios que es el más usado que es más cloud native por así decirlo la RCA con algunas con el subject y service que va a crear ahora veremos las propiedades podemos aquí estar storage class que es el standard que tenemos puesto antes y por el tamaño y hemos visto arriba que teníamos la CA que está servida para firmar y aquí tenemos las propiedades para la CA que se va a utilizar para generar vamos a utilizar para generar los despliegados del PR y aquí no quiero entrar mucho en detalle pero esto puede ser customizado como creáis incluso en la TLSCA pues aquí podéis poner vosotros vuestros certificados imaginémonos que creáis certificados cuando crees SSL y los tenés en vuestra máquina pues podríes empezar esta CA para ver los certificados existentes y nada más me podría extender aquí bastante más porque hay pues de monetización y demás pero esto se lo sería de tiempo bastante y ahora vamos a ir al lens pues en el lens tenemos aquí que nos ha creado por un OCA si vemos los logs pues está funcionando ya desde hace y si vamos aquí a los custom resources a la izquierda abajo podemos ver que tenemos pues fabriceas aquí tenemos un centro fabriceas, order nodes y pias si vamos a fabriceas pues aquí podemos ver todas las tascas que hay en el cluster en este caso pues el estado está bueno si bueno un poco por detalle para vosotros todos los certificados se podrían ver aquí en este caso TMS estos son los certificados y las claves que se utilizan para la CA y aquí MSP estos son los certificados que se va a utilizar para firmar si vemos cogemos este certificado aquí nos vamos a una página que se va a utilizar bastante para ver algunas propiedades que se han difiertado que es SSL software pues vamos a ver aquí todas las propiedades que hemos visto antes en el fichero en este caso vale tu pues las CAs por defecto expiren en 10 años esto es algo que si alguno tenéis algún caso de uso en el que queréis que las CAs que se generen con el operato expiren en 5 años o en 2 años se podría se podría añadir porque al final este certificado está generado el operato vale bueno vamos a seguir lo siguiente hemos hecho estos dos pasos primero hemos generado el jamen y luego hemos aplicado el jamen el vctl apply lo que hace es coger este jamen y meterlo en la pasta de juguetes mientras lo que hemos visto antes de que el operador se da cuenta de que hay una nueva CA y lo que haces es pegar y aquí tenemos unos checks eh creo que se me va abajo cuando hago la pantalla más pequeña pero tendré que terminar más rato eh vale estamos aquí vamos a hacer unos checks de que la CA está correctamente y de que los pods uno a uno raro perfecto ahora que tenemos que hacer tenemos la CA hemos inicializado con nuestro usuario password para que podamos registrar los usuarios y registrando esos nuevos usuarios vamos a poder generar certificados entonces vamos a registrar un usuario para los días en este para que se pueda ver vale perfecto entonces esto es el plugin de Clubsetier al final hay unos es como una extensión de Clubsetier pero que tiene pues comandos específicos para azarle en este caso el comando es CA register aquí le estamos dando el nombre de la CA que es el mismo que vemos aquí en la lista de fábricas por uno CA y vamos a registrar el usuario PR con el secreto PRP W de que tipo va a ser este usuario esto es muy importante tenemos que dar a la hora de generar un certificado para el PR tiene que ser el tipo PR y este es el Android y todo el password que hemos utilizado para crear la CA y este es el MSPID que es el idea de la unecación que vamos a trabajar a partir de ahora entonces vamos a registrar este usuario tenemos algunos logs si no hay ningún error aquí si fije que esto lo ha hecho correctamente y vamos ahora a generar el journey voy a poner esto así para que se pueda ver y que parámetros vamos a pasarle al PR vamos a pasar, como le hemos pasado antes a la CA, vamos a pasar el Strat class que es que tiene que utilizar para el almacenamiento que Strat class utiliza para el almacenamiento el Enroll ID, el PR que es el que hemos registrado antes y como no es el Enroll Password la capacidad cuantos torres vamos a poner el nombre del PR que vamos a utilizar y la CA que vamos a utilizar esto es muy importante, en este caso la CA está en forma de org1 en nombre de la CA punto en namespace en este caso, si vemos aquí a la derecha la utilidad la utilidad de comando para que sea eso en namespaces default no sea sabiendo esto, vamos a generar el llave y vamos a ejecutarlo y vamos a ver que parámetros tenemos en el llave por uno beer, perfecto pregunta Jorge de la O, como puedo olvidar la GPD después en esta red luego vemos esta pregunta vale qué parámetros tenemos en el beer beer los nulos son opcionales estos son casos de uso que he tenido a lo largo de este último año en este caso es paramétricas para exportar métricas de COSDB a la hora de ver de programas de performance en el chenco y demás aquí en el caso de que utilizemos COSDB se puede especificar por su usuario por parámetros de beer docker software path en este caso si lo dejamos vacío no va a utilizar el docker que viene con gubernetes también decir que docker ha sido de percado de gubernetes en este caso es recomendable dejarlo así external jink code builder si se especifica esta opción en la configuración se va a añadir los parámetros para que cuando instalemos el chenco utilice gubernetes y aquí en el caso de que tuviese una lógica especial para de nuestro beer y imaginemos tenemos un external builder que me permite desarrollar chain codes de manera remota pues aquí podría tener una rail y pues aquí se especificaría el nombre remota chain code y el path de aquí por ejemplo por ejemplo pero en este caso vamos a utilizar el external builder que viene por defecto en la imagen que hemos visto de antes si se deja así el nodo de gubernetes que haya configurado que esto sería pues IP algo así y el puerto entonces vamos a dejar así en una red de producción habría que poner aquí el host completo en este caso queremos tener una red en un cubo en el local por defecto hostiles es en el caso de que tengáis algún problema por los registros de DNS o alguna organización que no tenga el DNS correctamente configurado podríais configurarlo aquí el hostiles es más configuraciones sobre host imagen, blogging en el caso de que tengáis problemas en spading que tengáis por el espacero y desanglitar ese PIR por alguna razón y recursos de gubernetes chenco PIR tampoco me quiero extender mucho aquí porque esta es la parte esta es la parte digamos la parte movillar de este este llamen fijaos aquí en este segmento control component tenemos los parámetros que van a utilizar el operato para generar este caso certificado para firmar si no nos fijamos tenemos component aquí para firmar y TLS en este caso aquí especificando dónde está la CA esto podría ser una CA que tengáis vosotros en una URL por ejemplo como los postulantes CA y el porto puede ser para todo esto ahora estamos ejecutando la configuración por defecto pero para hacer un despliegue a producción habría que gestionar todos estos parámetros para que se adecuase en nuestro caso para el final solamente con el usuario y con la contraseña especificando la CA name este es el parámetro que hemos visto en el otro en el CA jamb especificando con qué CA tiene que usar para generar el certificado con esto ya el operato se apañaría y generaría los certificados y lo mismo con el TLS y por último tenemos el tipo de service se podría poner esto como load balancer en el caso de que este es la UDS como queráis esto en este caso vamos a utilizarlo de por porque estamos enlotados la base de datos que vamos a utilizar es leveldb para pruebas y aquí tenemos una configuración para todo el tema de los gigas y el storage class y por último momento y esto parece una tontería si esta propiedad certificada lo actualizásemos el operador lo necesitaría que haya un cambio en este valor y regeneraría los certificados esto es una manera bastante fácil de regenerar los certificados sin que haya una interacción humana la única interacción humana es actualizar esta fecha y lo que hará será ir otra vez a la CEA que está configurada y generar estos certificados matar el PIR y volver a empezar y bueno, después de toda esta discusión no sé si hay alguna duda o demás sobre esto pero bueno, las vamos viendo vamos a ver si el PIR se ha despegado correctamente aquí vemos dos verdes el PIR y otro vez el FSPR este container FSPR lo vamos a ver ahora vamos a ver ahora lo que es porque vamos a seguir con las instrucciones entonces, hemos creado el PIR bueno, hemos hecho aquí es donde hemos creado el PIR Vctl PIR jammer vamos a ver los PIR que tenemos uno PIR cero perfectamente uno, uno y dos, dos en este caso ahora vamos a instalar el PIR y esta parte tengo una depositiva preparada para que podamos entender que está pasando realmente de atrás bueno, esta esta serie de instrucciones se van a repetir a lo largo de todo el ritmo vamos a tener que registrar de enrolarlos recordamos que registrar no implica ninguna operación filetográfica solamente en la registra para que luego con ese usuario y esa password que hemos especificado aquí este useradmin podamos enrolar y podamos obtener los certificados entonces vamos a obtener unos certificados de tipo admin para ser capaces de instalar en sí pues ejecutamos aquí y vamos a registrar a un usuario vemos que esto no da ningún errós y ahora vamos a enrolar el usuario y esto nos va a dar como output como vemos aquí especificamos la CA, el usuario y el secret que es el mismo que de arriba el MSPID también y la CAName que esta CAName está relacionado con el primer fichero que hay con la CA y los nombres que queráis pero estos son CA y TLS son nombres que son estándar también en los tutoriales de Fabry y demás y como output vamos a tener pier por uno que vamos a ver ahora no ha habido ningún errós vamos a ver lo que nos ha creado aquí pier por uno y esto nos ha creado un fichero que se ha creado y la clave si podemos estar certificados y lo ponemos en la página web que hemos visto antes certificado en el tutorial vamos a ver como el nombre es el mean organization y esto es certificado al contrario que la CA los certificados que se generan a partir de la CA por defecto tienen una adulación de un año si enrollásemos otra vez tendríamos certificado de frente siempre podéis enrollar cuantas veces queráis pero en este caso como lo hemos configurado vamos a generar para interactuar con el press necesitamos un fichero de configuración y este se le vamos a generar con este comando QCDL-HLF-ISPECT y aquí le pasamos las organizaciones que tenemos especiales del plástico este comando lo que hace es mirar todas las definiciones CA, PR y demás y generar este fichero de configuración para que podamos de una manera fácil interactuar con este caso con una consola de fabricas que utilice el fabrico SDK o contaba lo acabamos de generar aquí a la derecha y si vamos a la izquierda vemos aquí este fichero que ahora mismo como solo tenemos una organización tenemos aquí QHDL-HLF-ISPECT y los pies QHDL-HLF-ISPECT y por cada pier tenemos la URL esta es la que hemos visto esta es la de la IP de Kubernetes y esta es el NodePort y esta es la CA este caso de esta organización la CA tiene ese entonces una vez que tenemos este fichero vamos a añadir el usuario que hemos creado antes en este enroll lo vamos a añadir a este fichero por el uno punto ya entonces este es un fichero más de utilidad no tiene nada que ver con Hyperledger QHDL-Uthils-AdUser pero es para no tener que estar copiando, operando los certificados y ahora vamos a ver lo que va a provocar bueno, ya tenemos y si vamos a lo uno punto llame de nuevo vamos a ver que ha añadido una propiedad que es users con el nombre de admin y esto es lo que vamos a utilizar con el PIA en este caso la siguiente instrucción sería instalar el chenco en el requisitorio que hemos pasado por el chat mitad de CouchSHLF hay una carpeta que se llama chenco si ponemos el bifaf aquí esta es la carpeta chenco FabCar este es el FabCar de prueba en este caso vamos a utilizar el bone este es el que he estado probando pero podría instalar cualquier chenco al final es todo lo que hace pues es una utilidad que al final llama al PIA y dice, oye, instálame este chenco vale entonces este proceso de instalar el chenco, tarda unos tres o cuatro minutos voy a lanzar y ahora vamos a ver que es lo que está haciendo la presentación de nuevo bueno, y vamos a ver cómo funciona en estas las víctimas ahora mismo lo que ha hecho el operato es despegar estos dos contenedores tanto el PIA, como el FaceSystemServe y diréis por qué tienes un sistema de bicheros en el PIA si eso en teoría no tiene mucho sentido pero el FaceSystemServe es el que nos va a permitir lanzar cuando se instala qué ocurre cuando se instala estamos arriba estamos aquí esto es lo que acabamos lo que acabamos de utilizar como fuente se comando que empiece a instalar el chenco esto va al PIA y el PIA puede tener uno de todos los vídeos entonces está configurado por defecto para que vaya a instalar el bílter de cuerpos y va a ejecutar el dinario y va a decir tengo este chenco de este caso de FabFac que quiero instalar y esto puede tener nuestra lógica que queramos podría integrarse con Slack podría integrarse con mecanismos de traza de errores como Sentry en este caso está con Go que es el más adecuado para interactuar con Kubernetes porque al final lo que estamos haciendo es crear un POD que es el chenco de bílter que si vamos al lens vamos a ver que aquí va a haber un POD que se llama CCBid y este POD lo que va a hacer es si vamos aquí en el bílter creo que está de un lado a cinco shows se está disparando toda la fuente del chenco pues aquí estaría nuestro código para el bílter y una vez que termina lo sube al falsest sensor lo que sube al final es el resultado de la compilación si escaba serán ciertas cosas al final lo que haces es limitizar lo que hacía antes el GPLA de fabrico en doble y si se aprueba un chenco se hace comid y vamos a ejecutar una transacción, estamos abajo ahora lo que desde el gsdclcl que esto lo haremos en unos minutos ejecutamos la transacción en el PR esto lo mismo está en el bílter, en este caso otro comando que si no me equivoco es el RAM y al final lo que haces es crear el POD y este POD se conecta con el vía directamente y bueno este POD aquí no está pero hay un initcontainer en el POD que lo que haces es coger el resultado de la compilación de este falsest sensor esta sería el proceso que consiste ahora mismo estamos en la parte de arriba y esta es la que tarda 3 por 3 minutos cuando estemos en la parte de abajo esto tardará 20 o 30 segundos y básicamente no es mucho tiempo y si tenés varios pias pues una vez que esté levantado no tenéis que levantarlo otra vez osea se queda ahí para siempre y esta comunicación por siempre está arriba vamos a ver si ha terminado no, no he terminado aquí está ejecutando haciendo build de todo el chaincode podemos dejarlo instalado de hecho esta destrucción la puse aquí porque iba a tardar bastante 3 o 4 minutos y vamos a seguir con lo siguiente lo siguiente en este caso es se me equivoco es crear la organización del orden vale estamos aquí estamos listo el chaincode como recto, estamos aquí prepare network config for tenemos registrado usuario tenemos instalado usuario hemos obtenido la configuración, hemos añadido el usuario y ahora estamos instalando el chaincode si cogemos los code aquí vemos que aún está el chaincode compilándose pasamos a la organización al final estos pasos que hemos hecho al principio de crear la CAA registrado del usuario se van a repetir por cada organización es un paso que es el mismo para para crear una organización de pias para crear una organización de ordenes vamos a crear la carpeta para el orden y vamos a crear una lista voy a hacer esto para que veamos todos los comandos aquí otra vez tenemos todas las clases estándar dos gigas, el nombre lo suelo llamar el nombre de la organización, guión CAA el usuario y password inicial y el guión y una output es para que en vez de crearlo lo podamos ver y lo ponga en un fichero por eso lo podamos ver entonces todo, lo tenemos aquí yo creo que nada falta revisar la configuración porque ya la hemos visto entonces podemos pasar directamente a CAA y esto, si vamos al lens el lens tiene que estar creando breve aquí está ordenero juno solo por dar un poco más de contexto sobre qué es lo que está haciendo por detrás qué es lo que está utilizando si vamos aquí al reactor a la fuente está todo el código aquí hay una carpeta entonces, si alguno no quiere utilizar el operato pero tiene quiere utilizar estas charts de aquí pues hay para PR para la CAA y para el Node pues podría utilizar y cualquier cambio que quiera hacer la configuración tendría que hacer aquí en el caso del PR pues las templates, todo esto es lo que se crea, instirredway Pogmonito aquí pues todo todos estos recursos son los que hay buroclados a la hora de crear un pier pues a veces nos tardan más de la cuenta y bueno, lo mismo más o menos para la CAA al final hay unas plantillas que de una manera más o menos inteligente se rellenan en base a los parámetros que hemos visto al principio vale ahora tendría que estar la CAA creada por del rojo CAA lo mismo, vamos a crear el usuario para el orden en este caso antes hemos visto hemos creado dos usuarios hasta la fecha uno de tipo admin para amistrar el chenco y otro de tipo ordener comando es más o menos lo mismo vamos a hacer un cambio a 2 levels PID y el tipo de usuario lo vamos a ejecutar por cierto hemos generado el por registrado el usuario y ahora vamos a generar el YAML para crear nuestro primer orden y aquí más o menos es muy similar al pier el orden y la CAA también que hay que utilizar una vez que sepáis crear un orden a lo mejor al principio os cuesta pues bueno si queréis customizar os puede costar pero una vez que no tengáis dominado pues sea bastante más fácil y podéis ser bastante más ágiles a la hora de crear las redes y demás entonces vamos a ver que tiene el orden el YAML porque este recurso no lo hemos visto a fondo y vamos a poder responder a una pregunta que creo que tuvo a iNesters como se llama lo que preguntaba era cómo se configura la versión 2.3 y no utiliza la existencia entonces esta es la configuración la configuración en el orden es bastante más simple que en el pier aquí tenemos algunos parámetros de disto que ahora veremos tengo una de positiva para eso no vamos a entrar en detalle ahora pero estos parámetros son claros porque son claros porque el buscad mezo en el 2.2 era y aquí había que especificar de pues un genesis en este caso pues aquí se podía especificar con las T4 que estaban bastante grandes este genesis es kilométrico si lo copiáis si queréis aquí pero bueno esta sería la manera de utilizar el operato para redes que sean de 2.2 porque al final la 2.2 es la LTS entonces es la que al final ustedes lo utilizan tenemos el genesis buscad mezo que antes estaba el NONE entonces lo ponemos en NONE que en casa que no hace nada por defecto y si juntamos el NONE con el chanel de participación de NEOGLE que lo que hacemos por una variable de todo activa este comportamiento pues ya podemos despegar un orden sin necesidad de tener un genesis de lo que queremos porque si no tendríamos que generar el canal de sistema tendríamos que generar los certificados antes de generar el orden y esto pues puede ser bastante bastante tiempo en el sentido de operaciones entonces por esto el objetivo es despegar el orden sin nada y luego utilizar el channel participación de NEOGLE tenía por aquí la URL del channel participación con los parámetros y con las instrucciones también lo pondré lo voy a poner en el chat o sea alguien quiere ir mirar los detalles por aquí lo que hay básicamente es una especie de tutorial de cómo crear un canal sin existenchar como vemos el consorcio ya no se requiere y podemos crear un orden sin necesidad de tener un canal de sistema y aquí si bajamos un poco aquí remove desistenchar y si alguien tiene una red en 2.2 pues aquí están las instrucciones de cómo mirar este caso este buscad mezo que nos está diciendo ponerlo no esto es lo que estamos haciendo ya de primeras entonces esta es la clave y luego este channel participación en NEOGLE este es lo que estamos poniendo con esta variable channel participación en NEOGLE ok bueno aparte de esto tenemos la imagen como siempre hostiles es en caso de que poner host y pese a host estáticas el MSPID un clásico y después lo que hemos visto también con el PIA pues la CA el host de la CA puerto, certificado y el orden del password que hemos dado a la consola para que genere este ya y aparte de esto tenemos lo que hemos visto también en el PIA que es el tipo de service que va a crear este caso va a ser un no de port y y también tenemos la propiedad famosa para actualizar los certificados en el caso de los ordres tampoco me voy a poner no me voy a poner en detalle pero es más complicado aquí hay una parte que tiene que hacer el operador los certificados de nuevo y lo iniciar del orden pero luego hay una operación que en todos los canales en los que esté este orden hay que actualizarlos con los nuevos certificados entonces esto, normalmente como lo he solucionado es poniendo una capa encima del operador que esto es un up and go por ejemplo y esta es la que gestiona actualizar este valor esperar a que los certificados han sido generados y a partir de ahí actualizar los canales con los certificados correctos vale vale, entonces ahora creo que hay mucho por ahí suelto ahora vamos a crear del ordenes estamos por aquí por el organization por el create aquí estamos vamos a crear el orden ya lo hemos visto y ahora lo podemos ver en unos segundos, vamos a poder verlo al next que se está poniendo para crear se ha oído un programa apista apista, esto tardará pues dependiendo de la red porque tiene que descargar las imágenes, va a tardar pues mejor uno o dos minutos para crear ya he generado los certificados más cosas que tenemos que hacer una cosa que podemos ver porque ahora estamos atacando directamente al node port vale claro, esto para desarrollo está bien pero cuando queremos la producción esta sería nuestra desde nuestra máquina de administrador desde donde yo lo estoy haciendo pues vamos al node port y después el node port pues le dirige a los componentes de HLF está la versión fácil pero luego para producción esto lo suyo sería utilizar Istio que Istio al final es un ingres que puedes tener un AP y un puerto sólo accesible y en base al SNI SNI es ser un indicator SNI es una cabecera del TLS que en Hello por curiosidad entonces para SNI va a redirigir al componente de HLF que tuve y este al final Istio lo que va a hacer es leer la configuración de un recurso que se llama Gateway y de un recurso que se llama virtual service y los recursos con los que se pueden configurar el operato si vamos al ordener y vamos al ordenes Jammer pues en el administrio y en el Istio podemos configurar aquí los hosts que podríamos poner pues el order y empresa y el puerto 4.4.3 y el ingres que este sería un parámetro que tiene el Istio cuando estaleis Istio seguramente tengáis este valor y lo mismo pasa para el administrio porque se necesita el administrio porque al no tener canal de sistema necesitamos una manera de hacer las operaciones más delicadas en este caso pues imaginamos que creamos un canal y hacemos un join de este orderer al canal entonces no lo vamos a hacer por este Istio lo vamos a hacer por otro entonces esta es la razón por la que haya dos parámetros para el Istio y bueno vamos a seguir vamos a crear un orderer node vamos a crear el canal lo primero que tenemos que hacer es generar nuestra fichera de configuración en este caso vamos a poner north service jammer esto va a tener una estructura similar a los que hemos visto antes en este caso aquí está el orderer con node uno con la url y los certificados a tenerse justo después vamos a registrar un usuario pero no en el en la cea lo vamos a crear y en la cea que vamos a crear del orderer uno esto es generico y justo ahora vamos a enrollar el usuario para un momento para ser capaz de enviar transacciones a los de entonces vamos a enrollar esto nos va a dar north service jammer que esto es el usuario vamos a utilizar y la clave privada pasados en la cea y vamos a añadir el usuario igual como situantes al north service jammer entonces vamos ahora a los service jammer ahora tenemos las ordenaciones, el orderer msp y el usuario con el admin con la clave privada que hemos visto ahora lo que vamos a hacer es generar este es una parte que es la más importante pero vamos a generar el bloque que vamos a utilizar para crear para unir el orderer que acabamos de crear a un canal este va a ser el primer orderer de nuestro canal entonces este es un comando que está metido en el plugin de Truxetier que es lo que nos hace generar un canal con estas dos ordenaciones una va a estar, va a ser para el orderer y otra va a ser para la ordenación 1 entonces vamos a generarlo esto no ha hecho nada por ahora, lo único que ha generado es este demo.block si lo estás viendo aquí está entonces como no podemos ver vamos a ejecutar un comando para pasarlo a Jason nos lo ha convertido a Jason block.json y aquí podríamos ver este Jason no sé si lo habéis visto alguna vez pero al final esta es la configuración con la que trabaja Hyperledio no es tan complicada entender al final nos tenemos que ir al application y al orderer y estas son las dos partes principales del canal luego hay un tema de política policies pues quién puede actualizar el canal quién puede leer quién puede escribir y aquí pues parámetros del canal o sea esto pasa al contacto y aquí podemos ver en el application que es el que nos interesa que nuestro orderer SP está ahí y aquí tenemos también políticas este sí que es para actualizar el canal el que está debajo del application y luego hay otra política para el orderer y aquí en el orderer en el orderer está por ahora el orderer SP pero podría haber varios esta es la política también para actualizar esta configuración de añadir más organizaciones a la parte del orderer que es la parte que realiza el console entonces una vez que hemos visto que la configuración de las organizaciones metidas en la configuración vamos a generar un certificado de admin pero en este caso vamos a ver que ha cambiado algo y ahí el parámetro que ha cambiado es el cnm porque para crear un canal de nodo necesitamos en este caso que necesitamos otra ca para estas operaciones es la tlsa que se crea podrías tener otro nombre para este caso las operaciones de este estilo al final vamos a generar la tlsa all service que vamos a ver el resultado ahora y este es el fichero estándar que hemos visto durante los anteriores 15 minutos y vamos a utilizar estas credenciales para hacer un para unir el orderer a este canal entonces los parámetros que necesitamos aquí el bloque este es al final es en protobuf lo que hemos visto básicamente en el bloque y la vamos a decir que orderer queremos que se una a este canal y por último le decimos la identidad que esta es la clave privada de las credenciales que va a utilizar para autoteticarse y que este orderer se una al canal todos los debutamos esto es code 301 esto significa que el orderer ya está en el canal podemos verificar si vamos al next pero esto es tan interesante en next 1 y aquí tiene que haber algo relacionado con el canal que acabamos de crear y bueno como este caso rafleer change 301 en este caso solo hay un orderer si hubiera varios pues podríais ver que los orders están publicando en este caso solo hay un bloque vale actualizamos estado si vamos a la figura principal ahora que tenemos tenemos toda la parte del orderer crear vamos a estar al change vamos a crear un pier por supuesto y hemos creado también la cea y el orderer de la organización del orderer pero ahora nos falta a figura esta aquí es donde vamos a empezar a trabajar probando definiciones de change ahora lo que vamos a hacer es ya tenemos que crear el canal pero necesitamos que el pier del orderer se una al canal para que al final poder ejecutar transacciones este es el siguiente paso yo en pier aquí lo mismo tenemos que registrar el usuario con base a el orderer está burro ya mejor pero al final todas estas operaciones se pueden realizar de manera programata este sería el inicio luego entrolamos en este caso hemos registrado un error porque ya hemos registrado el paso interior esto no es un problema al final vamos a poder hacer el rol sin problemas vamos a crear el orderer vamos a añadir el usuario y con esto con este orderer si lo vemos de nuevo aquí está el orderer que tiene que ir a obtener el bloque y para el final llamar al pier un et este canal también estamos identificados el usuario que puedo utilizar para hacer la transacción contra el pier para hacer el join pues bueno vamos a ejecutar este comando vamos a pasar aquí en nombre del canal demos en este caso la configuración el usuario este usuario no es el de fabricar este usuario es que está en el ojo de los llamers que se miramos aquí users podríamos tener aquí client por ejemplo pero en este caso nos queremos utilizar al armin y al pier el pier que queremos que se una entonces vamos a utilizar y nos da que se unida correctamente vamos a ver los logs en el lens por un pier 0 logs y aquí podemos ver created ledger al final todo canal que se cree pues tiene un genesis este o no con el canal de sistema que se utiliza en 2.2 pero bueno aquí nos falta una transacción porque ahora si encontré aquí el comando hay un comando aquí quiero que veamos la configuración del canal lo vamos a ver la configuración del canal aquí hay un comando que es bastante útil que es qctl hlf-channel-inspect que lo que hace es coger la configuración del canal y la pasar a un JSON para que la podamos leer esto es muy útil pues para hacer debugging si ha habido alguna configuración que no se te fina entonces aquí nos ha creado el demo JSON y podemos ver aquí el application en el funnel si miramos ancorpias y esto es necesario para que una busca aquí ancorp y no aparecido en esta configuración lo que vamos a hacer es añadir porque necesitamos un ancorpias un ancorpias es un pier bien conocido por el canal que otras organizaciones van a utilizar para descubrir más pias que tiene esa organización si no se añaden este ancorpia y tuviésemos más de una organización tendríamos problemas porque los pias de cada organización no podrían descubrir los pias de la otra y hacia después esto es necesario para los notos privados y demás entonces vamos a añadir momento creo que se ha ido abajo esto aquí aquí acabamos de ejecutar el join y ahora vamos a añadir el ancorpia y para añadir el ancorpia al final todo esto del plugin de Qtcdl está bien para para levantar una red web al final yo acabado haciéndome mis herramientas en un momento dado si hay suficiente gente interesada se podría mejorar este plugin para que sirviese para más casos de uso entonces vamos a añadir aquí el ancorpia el ancorpia recordemos que cualquier solo puede naturalizar los ancorpias en la organización o sea no necesita en dos metiamos de varias organizaciones en este caso si tomiéramos 10 organizaciones en uno podría actualizar los ancorpias y una vez que tengamos estos ancorpias podemos un comando de utilidad para ver todos los pias en que hay que estar entonces en este caso tenemos que la URL de este pias que es de esta organización tiene un block tiene la altura lo iremos ejecutando a medida de que vayamos probando el chenco por esto va a subir hasta 5, 6 o incluso más entonces bueno quiero hacer una pausa aquí porque creo que mejor es mucha información alguna duda algo que no hay entendido algo que tengáis todo por como hacerlo antes de pasar a la parte del chenco porque esta es la parte digamos que el operato gestiona hasta la reacción del pias, de la CIA y del orden a partir de aquí todos son utilidades que tiene este plugin de Qubes Tiel todos son utilidades en base al estado del cluster de cuerdotes pues es capaz de dificultar y en base a los parámetros a los llaves hay alguna duda mal de tiempo María hay dudas y están mirando en youtube y tampoco y bueno de tiempo estaba reservada hasta las 8 así que lo único pues eso que no nos pasemos más teníamos medida de preguntas yo creo que si queréis paramos aquí si hay preguntas comentamos lo que queda pues es esta parte pero es la parte de aprobar el chenco entonces esta parte podemos con el plugin podemos ver los chencos que hay instalados en un pias y luego podemos ver podemos aprobar en base a este package ID una política de dosmen podemos aprobar el chenco había por ahí una pregunta de Jorge que yo creo que si es interesante que no sé si la has llegado a contestar de cómo se podría conectar hay que poder ayer explorar a la red en este caso yo lo conecté hace un año y al final necesitas esta en este cinchero creo que si no recuerdo mal el explorer tiene una configuración en JSON no sé si me puedes asistir ahí Jorge no sé si tiene una configuración en JSON pero al final lo que necesitas son estas URLs y estas certificados y al final el explorer se necesita conectar con una clave privada y con un certificado que es esto y para esto es al final para lo que sirve el role para obtener certificados de cliente que otras aplicaciones esto puede ser un explorer esto puede ser un explorer que construyes vosotros para visualizar los bloques pero al final estos parámetros tienen que estar tienen que obtener el explorer al final el explorer es un poco una aplicación más entonces si no me equivoco el JSON de conexión es muy es muy similar al de una aplicación que le metes en el SDK de hecho perdona es que tenía otra pregunta Jorge terminamos esta no pregunta que sería con un chart o un operator ah bueno depende del producto yo en este caso para facilitar la instalación del operato he hecho una gel check pero ahí habría que ver el producto y demás de todas formas creo que también hay otro producto que es el fabric console que también esto podría hacer un vídeo ya luego o si os quedáis podemos intentar ver cómo sería integrarlo con el explorer el fabric console ¿te referéis al console? si parece que si al final es sacar estos parámetros y meterlos y pasarles a los consoles y la verdad es una funcionalidad que a lo mejor la implementamos en un futuro para que haya una especie de un operato para que se pueda desplegar el fabric console y esto es lo que sustituiría el fabric console sustituiría a estos comandos de approve, de comit y demás tenemos una pregunta que yo también quería hacer la tengo aquí en myspronte que relación entre esto y el proyecto del blockchain automation framework ahí me pides no la policía framework que es otro proyecto dentro de HyperLayer, no sé si está dentro de HyperLayer o está como un lab dentro de HyperLayer que tiene como objetivo pues es muy similar a tu proyecto despliega en cubernetes de cualquier plataforma de HyperLayer no solo fabric sino pues otras indies creo que lo he visto no lo he utilizado pero al final esto sería la base si el blockchain automation framework utilizase que quisiese desplegar en cubernetes podría utilizar el operato como backend por así decirlo entonces creo que estamos manteniendo está más orientada para fabric solo queremos hacer funcionalidad para fabric para crear una red sea lo más fácil posible he visto también otros proyectos como BESU el CELO que también tienen una misma orientación no sé si pero en este caso el CELO tiene un operado que pasa que no está actualizado para 2.3 no sé si tenéis algún operato para ver sobre BESU decir nada que BESU ahora está como ganando cada vez más revancia porque como cada vez en Ethereum se están estabilizando más las cosas gracias a que ya hay más herramientas para poder mejorar la escalabilidad que las tenemos como poligón, etc pues digamos que BESU también está como ahora escalando protagonismo vale, yo tengo una preguntilla también tu proyecto es open source cualquiera puede colaborar se puede utilizar de manera gratuita sí, sí, sí por licencia mejor, se me ha olvidado que creo que la tiene con licencia de TAPACHE 2 de las más permísivas o sea que cualquiera de la licencia TAPACHE 2 TAPACHE license 2 entonces ahora están en un punto, yo los estoy utilizando yo también tengo todo el conocimiento de cómo está los ex hijos del operato y lo estoy utilizando para los proyectos que estoy haciendo en vez de hacer todo desde cero decidí hacer esto para agarrarme tiempo pero bueno, si más gente consigue ahorrar tiempo mejor y nada, si tenéis alguna red si tenéis algún problema lo queréis usar o por GitHub o por mail me puedes contratar por alguna duda es un problema sin problema teníamos preguntas de antes pero yo creo que se han ido resolviendo un poquito sobre la marcha soluciones githops para relacionar con este tema al final todo lo que estamos utilizando son comandos o sea, si tenéis una pipeline un interacción continuo que se descalde el plugin el plugin de QCTL para el operato y ejecutes estos comandos en base a tu lógica interna pues podrías hacer githops bastante fácil y si lo que quieres hacer es githops para crear los pias pues sería hacer una plantilla que al final tuve rellenar estos parámetros de la forma que quisieses que quisieses en la página no sé si esto responde a la pregunta de githops no sé si es de una persona pues no sé si, si de la verdad pero bueno, como se ha quedado grabado ha dicho si vale, genial al final yo esto no voy a poder enseñar el código porque es código privado para la persona que esté trabajando pero se podría crear este item de manera totalmente programática de hecho, si vamos al operato el código del operato, pues está así que es libre pues si vamos al comando aquí vamos, no os asustéis tampoco pero para el que sepa go para, si sea de alguno que sabe go y que quiere implementar lo que os gustaría que sepa como hacerlo al final, todos estos parámetros que estamos viendo están definidos aquí o sea aquí el service monitor nil nulo que hemos visto antes pues está definido aquí entonces aquí las posibilidades son podrías montar los sas que creas en pias con este sistema automáticamente y va a ser estrenal impotente de vosotros quisiéseis la imagen vuestra usuario latorio de hecho, yo he hecho algún ejemplo por un app y por una web poder crear un pias en el modo de prueba de concepto y la verdad que no funciona porque al final lo que se hace es generar estos diámen e interactuar con el API de Kubernetes y aquí por lo mismo los services y demás esto es totalmente customizable para quien quiera ir un poco más allá de los diámenes vale pues no sé si hay alguna pregunta más sino también podéis saberlo en micro y así vamos más ágiles bueno, aquí mientras estamos hablando he hecho comid y ya he hecho, si vemos los el G de la altura de la red pues estrés hay uno para de la prueba y otro para de la tablet entonces ya podríamos invocar con esta utilidad de pasamos la conferencia en devog pasamos el usuario que utiliza la conferencia en devog el PR que va a importar el canal, función y parámetros esto lo podrías hacer desde vuestra consola esto es lo que utilizo yo pues para probar unos changes entonces la primera vez va a tardar un poco más y aquí pues vamos a ver si vamos al menos con esto de término va a haber un pod este es el pod que tiene el change y este es lo que se está ejecutando aunque no haya logs este es lo que se está ejecutando entonces ahora hemos invocado hemos metido un bloque más si vemos si hacemos un top de dichán podría darme más no se ve porque todo que mirar esto, pero si hacemos un pull and pull cars nos va a devolver todos los coches que hay aquí este es el hero war el Geper Ladyfab un poco por un resumen, lo que hemos hecho al final es hemos creado un Piar con su certificado Zority después hemos instalado un chico de Dense Piar hemos creado luego de después del Piar, hemos creado el Order que ha necesitado también tener una CA hemos generado un bloque para el canal demo y este bloque, este bloque Genesis para este canal tenía la organización el Org1 MSP MSP y el Orderer MSP entonces una vez que hemos generado este bloque hemos unido el Order a este canal y una vez que hemos hundido el Order en este canal hemos podido hacer join del Piar al canal añadir a la corpia para que en el caso de que hubiera más organizaciones de hecho aquí sigue con más organizaciones en el Rhythmia que las organizaciones se puedan ver entre sí en el caso de que hubiera más organizaciones luego hemos instalado el chico en la organización de Piar en el Org1 MSP hemos aprobado, hemos hecho homing hemos invocado hemos hecho una transacción para meter algunos registros y esto lo que estamos haciendo es hacer una query al Docher al ESPAL Contra en este caso estamos haciendo query a esta función que se llama query del caso en este canal demo y no sé si no hay alguna ninguna pregunta pues yo vamos de momento espero que hayas entendido que os hayáis servido a ver os ha sido muy interesante de momento pues no tenemos muchas preguntas más ninguna pregunta es mala eh? ninguna pregunta es mala bueno mientras veis preguntando cosas pues tocar al principio cuando te enfrentas a Hyperlayer Fabric es bastante chocante y bueno Lidia es un poco con los errores que al principio no sabes por donde vienen cuál es casi tu mayor reto a la hora de programar el operito bueno la verdad que al principio no sabía lo que era un operador está hablando del 2020 hice algunos prototipos para agilizar este sistema y la verdad que ha sido un proceso desde media de 2020 hasta finales cuando lo sacamos pues ha sido saber cómo programar un operador hacer varios re-factor cosas que no funcionaban pero cuando empecé con esta empresa pues hubo algunos problemas y eso me ayudó a mejorar el operato que los que fuese más tarde a utilizarlo pero la verdad que ha sido un proceso no ha sido un día me levanto y vuelvo el operato y todo va es a lo largo de más de un año programándolo y mejorándolo y aún quedan bastantes cosas para mejorar de hecho una de las cosas que tenía en mente era unirlo al operato para que se pudiese despegar el fabricón y eso sustituiría parte de estos comandos desde aquí Siempre es recomendable ¿Cubernetes con las redes blockchain? Nos pregunta Yasmin al final al ser un producto tan complejo lo recomendable es hacerlo como más fácil ser en este caso si puedo levantarlo en el Z2 de hecho la empresa con la que estaba trabajando antes lo tenía en el Z2 al hacer el cambio con el API vamos ellos ahora mismo no son expertos en cubernetes pero al darles un API y al darles unas instituciones pueden crear pidas pueden crear canales y pueden gestionar todo sin mi presente en este caso que es el final objetivo todo lo que estoy haciendo con el operato todas las utilidades al final van destinadas a eso gestionar más redes fabric más redes fabric o más pidas o más ordres y dedicarle el mínimo tiempo posible a la tópica con cubernetes ha sido bien en los últimos proyectos está funcionando bien y también con este otro proyecto también no sé si Yasmin tiene alguna experiencia en el Z2 es decir, al principio cuando mis comienzos de Hyperlayer Fabric yo empecé con la versión 06 allá por 2017 y he vivido un poco de evolución yo también empecé con Z2 de Amazon con docker con pose y la verdad que con cubernete este cura mucho salud auto scaling en realidad no se utiliza con Hyperlayer Fabric porque no puedes escalar un pier ah vale con beso vale vale que es uno de los de los desafíos cómo hacer una aplicación que no tiene otro scaling sería muy fácil crear un STFoolset de hecho base de datos lo tiene por ejemplo el operador para posles tiene un STFoolset y quiero cuatro instancias de posles que te las crea una locura pero con esto no es posible porque cada pier es tiene su dominio, tiene sus certificados y es mucho más complicado al final probadlo si tenéis el problema al final si no tenéis el problema de despegar a lo mejor el esfuerzo de entenderlo y demás si no utilizas en el día a día pues a lo mejor nos puede nos puede nos puede rentar pero si desplegáis redes si estáis manteniendo redes yo creo que puede ser bastante interesante que de ese en menos este este tutorial creo que haréis en el caso que haréis y si tenéis alguna duda pues contactáis por LinkedIn por Gmail y todo lo hacerais y no podemos ver vale, tenemos otra pregunta de Agostin que dice en algún nombre de la configuración había una sección para definir tu aplicación cómo funciona esto si no se pueden escalar los piers de hecho no hay ningún check pero se pone a hacer este parámetro está para que yo he tenido casos en el que quería probar cómo funcionaba la red sin determinar tus piers entonces lo pones a cero lo actualizas y automáticamente el operador te mata el diploma que tiene asociado con ese pier lo va a hacer y este es el caso de uso no es para ponerlo a dos pues va a haber problemas claro, al final pensar que cada PIB tiene su propia identidad y sus propios certificados entonces si pones dos PIBs con mismos certificados, claves privadas etc pues va a fallar no, y si tienes lvdb por ejemplo lo damos ahora tenemos aquí los los vosotros los problemas que ponemos a vos y el segundo PIB lo va a empezar ya, va a haber un error pues un recurso se está utilizando seguramente ahí está no va a pasar nada esto es con lvdb si no probáis con caos db pues al final va a haber un error del volumen que está siendo utilizado por otro pozo pues nada me parece que no hay más preguntas si os parece lo dejamos aquí, muchísimas gracias David por el mitad la verdad, ha sido súper ilustrativo y muy técnico de cara a aprender las tripas, que yo creo que es lo que es más importante sobre todo con HyperLayer Fabry que aprender las tripas es lo para mí lo más importante y muchísimas gracias por tu tiempo ha sido la verdad que que muy guay así que nada, cuando quieras por ver a darnos otra charla nada, estás más que invitado perfecto con nada, para terminaros animo que probéis el operator y hay que es lo que ha dicho al final el tema de ver las tripas eso es lo que te da la experiencia de levantar redes vamos a el tiempo red y cuando os falla cuando os falla y tienes que mirar los blogs esto es lo que os va a hacer que al hacer otras redes pues no tengáis miedo o sea que añadir que podéis hacer la pregunta de cuántos pies queréis que esto ahora mismo hay pocas empresas en las que se hagan, se preguntan es un lío el crear nuevos pies crear nuevos órdenes para esto en teoría tendría que hacerlos la vida más fácil muchas gracias a todos muchas gracias también a todos por asistir seguimos con más meetups en el futuro muchas gracias hasta luego