 a este webinar del capítulo latinoamericano de Hyperledger en equipo con Web3Lab. Nos da mucho gusto que nos acompañen. Vamos a presentar traducida al castellano. Una presentación que Web3Lab dio en Hyperledger el pasado que fue tres semanas, hace tres semanas o dos semanas. Web3Lab es el nuevo miembro de la fundación de Hyperledger. Y si me permiten, voy a compartir mi pantalla. ¿La pueden ver? ¿Se ve la pantalla? Sí, se ve la pantalla. Muy bien, perfecto. Entonces, vamos a hablar sobre Hyperledger Web3J. Esta presentación fue hecha por Conor Benson, el fundador de los laboratorios, y fue presentada por George Inichal, que ahora nos acompaña. La agenda está bastante apretada. Voy a ir muy rápido en las slides, porque me interesa que quede mucho tiempo para el demo. Y todas las slides van a ser compartidas. Están las originales y a la izquierda está la traducción para quien quiera utilizarla o compartirlas. Vamos a tener primero una introducción. Vamos a hablar sobre la atracción que tiene Web3J, sus características principales, la hoja de la ruta, ver cuáles son los primeros pasos para utilizarlo. Después viene una demostración y terminamos con opciones para participar. ¿Quién es Conor? Conor fue, ha estado en tecnología de finanzas institucionales desde 2003. En blockchain está desde 2016. Fue presidente del Grupo de Trabajo de Specificaciones Técnicas de la Alianza de Empresas Ethereum, Enterprise Ethereum, de 2017 a 2020. Es autor del manual del innovador de blockchain y es el anfitreón del podcast del innovador de Web3. Los speakers que nos acompañan ahora son George Trevegan, que es ingeniero de software Java Senior, con más de siete años de experiencia. Actualmente empresa servicio como blockchain developer en Web3 Lab y maintainer de Web3J. Nishal Sharma es desarrollador backend experimentado con más de tres años de experiencia centrada en el ecosistema Ethereum. Actualmente trabaja como desarrollador de blockchain en Web3 Lab y mantenedor de Web3J. ¿Qué es Web3 Lab? Los laboratorios Web3 es un proveedor de soluciones de infraestructura descentralizada. Sucede está en el Reino Unido y tiene personal en Europa, Asia y África. Sus productos y servicios son una exploradora analítica de blockchain ChainLens, una biblioteca de integración de Web3J Ethereum y el soporte de Hybrid Ledger VESO. Sus clientes, ahí están los logos, no ustedes lo pueden ver. ¿Qué es Web3J? Web3J es la biblioteca de integración de Java para Ethereum. Implementa el protocolo JSON RPC para comunicarse con los nodos de Ethereum. Realiza la conversión de tipos para desplegar, realizar transacciones y leer datos de contratos inteligentes. Manija abstracciones de billetera y llave para realizar transacciones con Ethereum. La tracción que ha tenido Web3J está muy utilizado, es muy utilizado, su lanzamiento inicial fue en septiembre de 2016. Tiene más de dos millones de descarga. Se creó en ese septiembre de 2016. Las estrellas de GitHub son 4.9 y en el 194 colaboradores únicos, 107 versiones, 1.7k forks, más de 1000 problemas resueltos y ha sido donado a Hyper Ledger por la Fundación Hyper Ledger por Web3 Lab en 2024, recientemente. ¿Por qué Web3J? Porque por más de 20 años de infraestructura se ha construido en la empresa en la plataforma JBM. Es fuertemente remisado y probado en la batalla por la comunidad Ethereum durante los últimos siete años. Permite mapeos seguros de tipos DBM nativos a JBM y OpenAI. Capacidades de prueba robustas, EVM de producción, infustrada y flexible, y tres capacidades de prueba de integración. Es modular, usa lo que necesitas. Su API específica completa de beso y soporte de privacidad y es una única implementación. Las características principales de Web3J es una implementación completa de la API de cliente de JSON RPC de Ethereum sobre HTTP e IPC. Soporte de la cartera de Ethereum, generación automática de envoltorios, wrappers de contratos inteligentes Java, que permite crear, desplegar, realizar transacciones y contratos inteligentes desde un código Java nativo. Soporta para las transacciones IP 155, 1559, 2930, 48, 44, primero en cualquier librería Web3. Es compatible con HSM, con Android, con ENS y con herramientas de línea de comandos. Las redes compatibles con las que trabaja son blockchain privadas, blockchain públicas y AppChain. Ahí tienen los logos, es gestor de la Gerveso, por Ethereum, Polygon, Lineart. Los pueden ustedes ver. ¿Cuál es la hoja de ruta? La actualización de Web3J Android, mejorar el depurador de Solidity de Intel iJ Web3J. Soporte para fracción de cuentas, con LRC 4337, con la funcionalidad Strock, sin tener una correspondiente clase de Java y liberar Web3J 5.x. Hay dos maneras de empezar con Web3J y lo vamos a ver en el demo, pero queremos relatarla. El primer lugar es un Web3J Clip, por lo que tenemos muy fácil la capacidad de instalar y utilizar esta herramienta para crear nuevos proyectos, generar Java Rappers o emotorios o paquetes, crear mi entera a la wallet de Ethereum, etcétera. El segundo lugar es incluirlo, para empezar, la segunda forma es incluirlo en cualquier proyecto Java como un plugin de la dependencia. Apoñamos tanto Mavin y Gradle. Puedes fácilmente descargar e instalar esto en cualquier caso de forma, Windows, macOS, Linux, ejecutando los siguientes contratos, comandos que allí están en la pantalla, pero que vamos a ver en el demo, y que a través de una serie de referencias, ustedes podrán consultar, no solo en los slides, sino en los documentos. Es importante recordar el prerequisito, y esto lo vimos cuando hicimos la prueba del demo que la hizo Eduardo, que ahora lo presento. Es importante para que Web3 otra funcione, que tengamos Java 17 pre-instalado, o de lo contrario, arrocará error. Y con esto puedes generar un nuevo proyecto Web3. Otra forma de usar Web3.jota directamente es en cualquier proyecto Java como una dependencia. Para Gradle puedes incluirlo así, y para Mavin así, ahí están los códigos. Estaremos compartiendo estas dispositivas, y también podrán consultarles en las documentaciones. Ahora, ¿qué es lo mejor de Web3.jota? ¿Por qué todos los desarrolladores aman Web3.jota? Por su capacidad para crear embortorios o rappels de Java para cualquier contrato inteligente en Solidity, y que pueda interactuar con el contrato inteligente directamente en el lenguaje que hagan a ti. Esto hace que sea muy fácil para los desarrolladores crear sus propios proyectos Web3 en Java en muy poco tiempo y mínima experiencia de Tery. Como lo hace, compila el código Solidity para generar los archivos VIN-Javi, y con ellos, crear los embortorios o rappels de Java. Una vez que tenemos las embolduras de los paquetes, no necesitamos preocuparnos por escribir pruebas para el contrato inteligente. Web3.jota hace que sea muy fácil probar el contrato inteligente mediante la generación de embolduras de contrato de prueba, para que pueda probar rápidamente la funcionalidad. Se ponen en marcha los nodos de Tery, un necesario utilizando JMM, se prueba el contrato. Por ejemplo, necesitamos probarlo en VESU, mencionamos el tipo de nodo, e iniciamos un contenedor de doku VESU para probar el contrato inteligente. Una vez que hemos probado nuestros contratos, lo querremos desplegar, quedan en un predeterium. Así que para desplegarlo, necesitamos el endpoint JSONRPC y una cartera o credenciales de cuenta. Podemos hacer esto muy fácilmente usando el siguiente código. Cuando el contrato está, haremos una demostración de todo para una mejor comprensión. Cuando tenemos el contrato desplegado en una red de producción o de prueba, querremos interactuar con él. El uso de los emboldtorios o rápels de Java que se generaron antes nos permiten llamar a cualquier función del contrato inteligente y obtener el recibo de la transacción para ello. Podemos comprobar, entonces, si la transacción se ha realizado correctamente o ha fallado con algún error. Vamos a entrar al demo, que es la parte sustantiva de esta presentación. Y para ello nos acompaña Eduardo Yasun, que es parte muy importante de Hyperledger Paraguay, que es uno de nuestros países miembros del capítulo latinoamericano de Hyperledger. Eduardo tiene la palabra, junto con Nishal, van a hacer este demo. Y al final del demo regresamos a que presente los puntos finales de la agenda. Sin más, les dejo el micrófono y las cámaras. Sin embargo, Nishal, la flor es tuya Buenas, gracias Alfonso. Aquí vamos a estar haciendo una demo con Nishal sobre cómo hacer un pequeño deploy de las herramientas de Web 3J. Nishal. Y también si quieres ir más allá, tenemos un workshop de 28. ¿Puedes registrar eso? Podemos hacer un pequeño video sobre la demo, más por una cuestión de practicidad. Cualquier cosa que queramos ir más adelante y ir ahondando más en el tema, lo podemos ir viendo en otro workshop que van para deteniendo más adelante. ¿Sí? Así que, primero, es la manera más fácil de instalar Web 3J con CLI, para que podemos crear nuestros propios proyectos muy fácilmente y es muy útil para los desarrolladores para empezar con los desarrolladores de Theorem. Aquí estamos instalando la paquetería que era instalada. Como dijo Alfonso, se requiere previamente tener instalado Java 17, el SDK correspondiente como se comprobó ahí. El script ya de por sí hace todo chequeo y ya presenta toda nuestra plataforma y ya te explica la plataforma. Nishal. Si veis, tenemos este CURL command en Linux o en MacOS, y para los usuarios de Windows tenemos el otro comando que es en la presentación. Entonces, cuando runmos este comando verá la versión de Java y si es más de 17 o 17 y se va a instalar Web 3J. ¿Puedo ver eso? Sí. El script ya, como pudieron ver el script ya está dentro de los slides y está disponible para las plataformas que hay, tanto en MacOS como Linux como Windows y tenemos una extensa documentación también basada en eso. ¿Nishal? Entonces, once this Web 3J installed, we can check the Web 3J CLI version so the latest one is 1.5. Aquí hacemos una pequeña verificación de que Web 3J se encuentre instalados podemos mover la versión y el build correspondiente. ¿Nishal? So, to create any or default project so the basic one is Hello World and we have ERC20, ERC721, ERC777. So, right now we are going to demo the most simple Hello World project so the command is Web 3J New Hello World. Aquí vamos a crear un nuevo proyecto como pueden ver es bastante sencillo aquí se está creando con el estándar con los datos estándar del proyecto pero también se fijaron dentro de los slides. Hay distintas distintas configuraciones también dentro de este script para crear un nuevo proyecto. So, once we run this Web 3J New Hello World if you see it will create a project or Hello World for you so this will be a Web 3J app with all the Web 3J components in it so if you see the project was successfully created just do a little bit so if you see project is created so como pueden ver aquí creamos un proyecto nuevo el ya nos crea todos los scripts y las librerías para tener todo mal contra el ya nos crea toda la estructura que vamos a necesitar tanto el preparado cares, el running y los descritos de scripts para comenzar a trabajar ya el proyecto so just open this project in any code environment so we have IntelliJ podemos abrir este proyecto en cualquier plataforma que tenga muy disponibles a IntelliJ en Azure Studio Code o cualquier de nuestra preferencia so if you see this is the basic structure so we have built.gradle which will contain all the plugins and dependencies for Web 3J then we have the build project and the source so we will go to all these files one by one como pueden ver aquí el proyecto se generó completo tenemos toda la estructura tanto lo que es el build el glade tiene todo el código para poder generar toda la estructura que estamos trabajando tanto el glade el settings, el source incluido también lo que estamos viviendo más tarde so in the plugin we have this Web3J version 4.11.0 and then if we go down we have dependencies so this is the org.web3j.code then the Web3J version so we can import many more dependencies from the Web3J they are code generator and then the crypto but the main thing is the main library is Web3J.code aquí podemos ver aquí podemos ver todas las dependencias que se utilizan para la construcción del proyecto incluyendo también las librerías que se utilizan de Web3J como en este caso la version 4.11 y como se puede ver también están todas las dependencias y los vínculos correspondientes para la implementación so if you see in this task so we have in Web3J or two tasks generate contact wrappers and then generate test contact wrappers como pueden ver aquí en la parte de tareas tenemos dentro de las tareas de Web3 ya tenemos lo que es la generación del paquetado del contrato y la generación del paquetado de prueba del contrato so I'll just talk about these two tasks first is generate contact wrappers so what it does first those functions into java wrappers so that we don't need to write from the starting we can directly use those java functions to interact with this smart contract dentro de estas estas tareas se encuentran todos los comandos de solidity para la implementación del smart contract también nos va a permitir esto generar modificar algunos datos para generar nuestro propio smart contract y el otro task es generar test contact wrappers lo que hace si queremos test nuestra solidity smart contract no tenemos que escribir todos los test automáticamente generará el test para todas las funciones y lo testará en el invadido EVM o podemos render el test en BESU o GET en lo que sería el test contract lo que nos permite es realizar sin necesidad de crear de hacer un build de toda la unidad nos permite hacer pruebas de todos los comandos del smart contract que tenemos disponibles en solidity siguiente Nisho vamos a hacer otros files en el proyecto y también aquí estamos intentando generar contact wrappers si veis que fue sucesivo y generó contact wrappers acuerdo aquí podemos ver al generar lo que se genera para generar el contrato en solidity o lo que se genera Nisho si vamos a construir un generado tenemos estos contact wrappers si veis que es un contract y estos wrappers tienen toda la función de deploy y toda la función para entrar en el contract como pueden ver aquí lo que es generado, el llame generó todo lo que son los binary para el deploy del contract con toda la función Nisho voy a mostrar el contract de solidity este es el más básico lo que hace es hacer un greeting y store el y si quieres podemos cambiar ese mensaje aquí utilizamos el hello world que tienen 2 comandos que son el en solidity que tenemos 2 comandos que son el greeting y lo que sería el Nibulin para generar nueva información dentro del contract y en solidity Nisho si veis que tenemos 2 funciones greeting y el new greeting vamos a entrar en el contact wrapper los 2 funciones en java created este es el greeting como pueden ver aquí están el greeting como el new greeting si se fijan están totalmente en java y los comandos se traducen al método de hacer el deploy estos 2 funciones created un new greeting y replaces el correcto mensaje aquí como pueden ver en new greeting permiten ingresar un string para meter dentro de la cadena Nisho ahora este es el main web3app que se ha visto la solidity que tenemos y hemos creado todos los java wrappers ahora vamos a crear un app para esto ahora con esto a partir de esto a parte de Cragone también se crea la aplicación para interactuar con el smartphone Nisho este es el básico de crear un objecto web3j y then deploy any smart contract and then interact with that smart contract aquí como pueden ver tenemos tanto las credenciales y toda la forma de interactuar con el smartphone contract, aquí esta la función es para interactuar con con los nodes aquí no vamos a load a wallet y voy a usar un private key para crear un objecto credencial aquí vamos a utilizar una vietera privada vamos a trabajar en la red local con una credencial local para hacer de prédios del marco y en este node url tenemos que dar el endpoint rpc de la red puede ser una red publica o una red privada creada con desu un node uno puede aplicar tanto node apuntar a nodes tanto privada como publico al app privada como publica van a poder trabajar aquí yo puedo publicar directamente la información hacia un marco Nisho para este demo voy a crear un network privado usando corom dev quick start automáticamente crea un network privado usando beso con algún tipo de consensus algorithm voy a usar 2bf para este demo vamos a crear una red privada de corom que utiliza hyperlayer beso ya tenemos el corom test y aquí si ganas un network privado usando el comando run.sh va a ser directamente con todos los containers de stalker aquí con este comando ejecutamos todos los nodes ejecutamos nuestros nodes y ahí como pueden ver dentro del link ya genera todos los stalkers y toda la información para poder desplegar como pueden ver aquí la aplicación ya se desplega con el JSON a la dirección que ya asignamos con el porto 8dc Nisho aquí pueden cargar los datos de la billetera o en este caso vamos a utilizar lo que genesis para de uno de los nodes para poder añadir directamente los datos de la billetera para conseguir los datos del genesis abrimos el archivo genesis de los datos de la billetera como pueden ver aquí está la cuenta y aquí está la clave privada que utilizaremos para la conexión con esto lo generaremos y como pueden ver aquí tenemos la tarea que hacer la conexión utilizando los nodes los laborales que nosotros brindamos Nisho para hacer el deploy los datos y añadimos los siguientes datos dentro de lo que es el deploy y el web 3 las creencias que ya están asignadas arriba un gas provider y el mensaje que queremos ingresar que está dentro la tarea del contrato Nisho y antes de eso si queremos test ya hemos hablado de test para poder realizar pruebas de todas las funcionalidades utilizamos este archivo que sería HeloWorks que es un archivo que es un archivo que es un archivo que es un archivo que es un archivo que es un archivo que es un archivo que es un archivo que sería HeloWorks test que nos permite realizar pruebas de todas las funciones que están dentro del Smart Contract Nisho aquí estamos realizando la prueba de todos los comandos al ejecutar la información tanto la función de greeting como la de Nisho como pueden ver todo el test es rápido y luego pueden ver todo el resultado dentro de la consola ahora vamos a volver a nuestra web 3 app usando la web 3j así que podemos pensar esta app como básicamente una nueva web aquí vamos a realizar la prueba correspondiente de nuestro contrato principal contra la modificación que nosotros vamos a ir haciendo hacia nuestra red hacia nuestra red privada Nisho como pueden ver todo el docker está trabajando como pueden ver toda la red y la app están corriendo ahora vamos a utilizar nuestra app aquí es la modificación de debug para obtener todos los logs o incluso los logs de debug en el output como pueden ver estamos en modo de voc así que podemos ver toda la información que está desplegando dentro de la red dentro del resultado estos son todos los requisitos que estamos enviando al blockchain y la respuesta que estamos obteniendo como pueden ver aquí tanto la información del contrato la interrupción con el no y los datos de lo que desplegamos de lo que publicamos dentro de lo que es el resultado como pueden ver aquí la adresa del contrato como pueden ver aquí la adresa del contrato solo estamos llevantando los logs primero es el contrato de lo que se desplega lo podemos ver aquí la adresa del contrato podemos ver el mensaje del tipo del contrato y la adresa del contrato que ya publicamos ahí ¿Cómo podemos encontrar este método dentro del contrato? Entonces, si veis, el resultado ha salido, hola, blockchain world. No, ¿pueden ver? Aquí dice, hola, blockchain world. Entonces, ahora, si queremos interactuar con otras funciones, como dar un nuevo contrato, o básicamente coger el mismo contrato con el contacto, el adres, y llamar otras funciones de ese contacto, podemos hacer eso. Aquí lo pueden ver todo lo que sería la parte del despegue. Aquí podemos modificar la información y hacer un despegue del marcontrato. Entonces, ahora lo que vamos a hacer es desbloquear el contacto smart y luego llamar otras funciones y cambiar el greeting. Aquí vamos a modificar el contacto, vamos a modificar la estructura, vamos a modificar lo que dice aquí y luego vamos a revisar un nuevo greeting. Aquí vamos a cargar el contacto smart. Y en los parámetros, primero este contacto, vamos a copiar ese contacto. Aquí vamos a ingresar el parámetro de la dirección del contrato que lo tenemos dentro de nuestro... Y el segundo es el 3J objeto, y el segundo es el objeto 2LV3J y luego la credenciales. Luego el default el poder de gas por defecto. Una vez que tengamos todo esto parado podemos llamar a la función new greeting. Aquí vamos a añadir la función s. Vamos a añadir el mensaje de esto es un... y ahora el fonson. Esta es toda la petición que realizamos todo el envío y la tentación que está actuando con el no. Y vamos a buscar lo que dice el contrato. Y vamos a buscar la dirección del contrato donde se publicó. Como pueden ver el mensaje cambió, se realizó la interacción y se generó dentro del contrato. Vamos a ir revisando toda la información de cómo se interactúe con el contrato y podemos ir generando inclusive de poder o nuevas tareas dentro del contrato. Aquí podemos ver el uso de gas y toda la interacción que se tuvo con el no con el contrato. Y el testado 0.1 nos da exitos a la interacción con el marco. Y aquí está el caso de transacción. Vamos a estar compartiendo toda la información para que ustedes puedan ir probando y viendo si pueden crearnos aplicaciones con nuevas estructuras que utilizan las estructuras dolares y si tienen preguntas por favor, os dejo. Aquí terminamos una pequeña demo en cualquier pregunta por el momento. Muchas gracias Nishal Muchas gracias Eduardo me permiten compartir pantalla ¿Pueden ver mi pantalla? Si, sin problema. Bueno pues el resumen del demo que tuvimos fue cómo interactuar perdón con web 3J los plugins como compilar contratos inteligentes como crear los wrappers de Java como interactuar con nodos de Ethereum utilizando los principales API RPC como desplegar el contrato en la red de Ethereum y cómo interactuar con contratos inteligentes. Ahora, ¿Cómo pueden participar ustedes en este código abierto que ha sido contribuido por Web3Lab a HyperVecher? Primero, ¿Has encontrado un error? ¿Has escrito una corrección para un error? Cualquier contribución es bienvenida incluso pequeñas correcciones de errores tipográficos o cambios en el léame en el rhythmic y sus comentarios. ¿Tienes la intención de añadir una característica o cambiar un existente? ¿Tienes preguntas o quieres discutir sobre el código fuente? Estas son las maneras de involucrarse y aquí están los links al canal de Discord y a GitHub. Laboratorios Web3 es una empresa líder en estrategia y tecnología blockchain especializada en soluciones de infraestructura descentralizada. En el programa ChainLens proporciona datos y análisis para blockchains NADM y AppChains. También ofrece soporte comercial para Hyperledger, Besu y Corel. Muchas gracias y ahora entramos a las preguntas. Pero antes de irnos a las preguntas quisiera hacer un anuncio. Hay un taller práctico el próximo jueves 28 de marzo a las 8 AM Pacifico, California están todos muy corealmente invitados y al final de las slides están todos los recursos que hemos ido compartiendo en el chat y que estarán ahí para que ustedes los consulten a voluntad posteriormente. Ahora sí voy a terminar de compartir pantalla y regresamos a las preguntas, tenemos 10 minutos si hubiese preguntas comentarios con mucho gusto aquí estamos. Háganle el chat por favor para que queden registradas y documentadas. Ánimo. Una pequeña observación quisiera añadir como ya hay un momento esta plataforma disponible para trabajar desde Windows desde Linux, desde macOS como sabemos de Java, así que es técnico universal. Realmente es muy sencilla, nosotros estuvimos trabajando con Shal en tiempito con esto y es muy intuitivo, muy sencillo de trabajar para realizar lo que es desplie en cualquier tipo de red que sea base que nosotros utilizamos por defecto Hyperledger, de lo que es VESU pero podemos integrar a cualquier VM disponible que trabaje con R6-20 o con alguno de otros R6-20. Gracias gracias Eduardo. Lo interesante de estas nuevas herramientas es la facilidad que ofrecen para construir soluciones blockchain para cualquier aplicación que uno tenga. Es una manera muy rápida de poder prototypar de poder explorar si lo que estamos pensando funciona o no funciona. Aquí hay un comentario de Daniel Lanzelmi y dice no son preguntas pero encontré que la información explica correctamente como estoy comenzando a explorar este mundo y a entender un poco más sobre los contratos las transacciones y el entorno de blockchain. Gracias por el ejemplo práctico fue muy muy claro. Gracias Daniel por tus comentarios no lo traducido a Nishaw porque él lo tradució en inglés. Esto es algo también que hemos luchado mucho dentro de Hyperledger el tema del idioma. Es paradójico que estemos luchando por una descentralización de las interacciones y a la vez impongamos un solo lenguaje para todo el mundo. Entonces sus colaboraciones también para que estas traducciones crezcan es importante. René García nos dice gracias por la presentación actualmente estoy trabajando con el uso de sensores IoT con IPFS y Ethereum y habría visto el Hyperledger para hacer ciertas aplicaciones pero por el tipo de tecnología me basé en un modelo llamado D3A Me fue de utilidad esta práctica ya que no soy experto en Hyperledger. Nishaw René gracias por la presentación actualmente estoy trabajando con el uso de sensores IoT, IPFS y Ethereum y he visto Hyperledger para algunas aplicaciones pero por el tipo de tecnología que estoy trabajando con he usado un modelo llamado D3A fue de utilidad esta presentación porque no soy experto en Hyperledger Bienvenido René Hay muchas casos de uso y grupos de interés especiales en Hyperledger donde podrías encontrar respuestas a tus intereses Me refiero concretamente a el grupo de interés especial sobre acción climática y contabilidad Hay también todo un tema de identidad para lo de IoT Acércate a través de la página de Hyperledger ve a los grupos de interés especial y trabajo registratés gratis y acompáñanos nos reunimos cada dos semanas Antonio Fraga nos dice todo tipo de nodos disponibles para prueba están definidos en el tipo de nodo que se usan para definir el contrato Eduardo y Nishal les dejo ustedes esa respuesta todo tipo de nodos disponibles son definidos en el tipo de Nishal les dejo ustedes esa respuesta podemos usar cualquier tipo de nodos básicamente tenemos un EGM que es muy fácil de testar y podemos usar Beso para crear contras de Beso y testar y tenemos kits para crear contras de kits y testar gracias Nishal Nishal está en su cuarta lección de español te digo en tu cuarta lección de español de este proyecto gracias alguna otra pregunta algún otro comentario nos quedan unos cuantos minutos para el fin de la hora lo interesante de la fundación Hyperledger estamos en la fundación Linux es la cultura de código abierto y este es un caso muy interesante desde hace seis, siete años Web3 Labs están trabajando en el contexto de Ethereum y deciden aliarse con la fundación Linux y Hyperledger contribuyendo con su código que ellos desarrollaron para el uso abierto de todo el mundo esto lo que permite primero no es un acto de calidad es un acto de colaboración y es una colaboración que permite cooperación y avance de conocimiento con lo cual se abren oportunidades comerciales entonces son el tipo de acciones en las que la participación enera oportunidades y por eso su forma de comunicarse con nosotros nuestro objetivo de presentarlos al público iberoamericano es precisamente eso que comencemos a interactuar y que comencemos a construir más piezas que nos sirven a todos porque de esa manera tenemos un juego como el que yo tengo aquí mis litografías atrás es un antimo juego alemán de hace 150 años que son piedritas para construir edificios y lo tengo aquí atrás porque eso es código abierto son pequeños bloques con los que podemos construir cosas juntos y para eso estamos aquí y para eso estamos a la disposición y a la escucha de lo que ustedes nos aporten y contribuyen en github y en discord comentarios pues si no los hay los que sigan pueden entrar directamente a discord y a github, son bienvenidos si no hay más comentarios en esta reunión en línea quisiera yo agradecer a George al National al Eduardo que nos ha ayudado tanto en el ejercicio práctico de este demo y en la traducción de la parte de este demo gracias también a Connor por haber hecho esta reunión y haber hecho posible web3lab gracias a David Boswell de Hyperledger Foundation están invitados para el evento taller de web3j el próximo 29 de este mes es el siguiente juego dentro de una semana gracias a todos gracias a todos gracias a todos gracias a todos gracias a todos de nada bye bye gracias a todos por estar gracias a todos bye bye