Web3.js - Pasado, Presente y Futuro

Rate this content
Bookmark

Discutiremos los desafíos enfrentados en el proyecto Web3.js.

Algunas estadísticas de contribución de código abierto.

Objetivos actuales de refactorización en los que estamos trabajando para mejorar web3.js.

Cronograma de lanzamiento.

Visión general de los planes futuros.

FAQ

La biblioteca Web3js fue iniciada en 2014 por Jeffrey Bickle.

Hasta ahora se han lanzado 172 versiones de Web3JS.

La versión 4 de Web3JS incluirá soporte nativo de TypeScript, un tamaño de compilación reducido y una mayor cobertura de pruebas, entre otras mejoras.

El validador declarativo facilita la validación de datos usando esquemas JSON, estrechamente relacionados con los tipos de Ethereum, mejorando la eficiencia y precisión en el manejo de datos.

Las versiones anteriores enfrentaron problemas como código confuso, módulos fuertemente acoplados, y problemas de TypeScript, lo que dificultaba la introducción de nuevas características y la depuración.

Web3JS v4 está siendo reescrita desde cero para ser más extensible, permitiendo una fácil adición de nuevas características y una mejor integración con la comunidad.

La versión 4 de Web3JS está disponible para exploración directamente desde GitHub en la rama 4.x y pronto se lanzará en fase alfa.

La versión 1 de Web3JS continuará recibiendo soporte aunque se alentará a la comunidad a migrar a la versión 4 para aprovechar las nuevas mejoras.

Nazar Hussain
Nazar Hussain
21 min
20 Jun, 2022

Comments

Sign in or register to post your comment.

Video Summary and Transcription

Hoy discutiremos la biblioteca Web3JS, su historia, mantenimiento y participación de la comunidad. La próxima versión 4 tiene como objetivo abordar los desafíos enfrentados en la versión 1 mediante la introducción de soporte nativo para TypeScript, reducción de tamaño, mejora de la legibilidad del código y aumento de la cobertura de pruebas. La versión 4 también introduce un nuevo validador para facilitar la validación de datos de Ethereum y permite a los desarrolladores personalizar cómo manejan números y bytes. Trae un formato de datos dinámico para el formato personalizado e introduce TypeScript para contratos sin transpilar. La API en la versión 4 es fácil de extender y tiene mejoras y refactorización futuras.

Available in English: Web3.js - Past, Present & Future

1. Introducción a la biblioteca Web3JS

Short description:

Hoy discutiremos la biblioteca Web3JS, su historia, mantenimiento y participación de la comunidad. Comenzó en 2014 por Jeffrey Bickle, la biblioteca ha sido mantenida por varios colaboradores y organizaciones. Con más de 100 colaboradores y 17,000 solicitudes de extracción, la biblioteca ha sido sometida a extensas pruebas. Datos curiosos incluyen el período beta de dos años de la biblioteca y los intentos fallidos de reescritura. A pesar de esto, la versión uno sigue siendo la más utilizada.

Y hoy vamos a discutir Web3JS, una de las bibliotecas más famosas y ampliamente utilizadas en la comunidad de Ethereum. Así que vamos a discutir algunos aspectos pasados de la biblioteca y algunos aspectos futuros así como algunos hitos presentes que hemos logrado hasta ahora. Así que empecemos.

Primero que nada, vamos a explorar el pasado de la biblioteca. La mayoría de ustedes han estado usando mucho esta biblioteca, pero tal vez no sepan cómo se inició esta biblioteca en realidad. Esta biblioteca Web3js fue iniciada en 2014 por un único colaborador, Jeffrey Bickle, y en 2016 fue transferida a otro único mantenedor, Samuel Furter. Y desde 2018, Ethereum JS de la Fundación Ethereum ha estado manteniéndola. Y desde hace dos años, nuestra empresa ChainSev ha sido responsable de mantener esta biblioteca. Y si observamos el hecho de que esta biblioteca ha sido mantenida durante más de ocho años, tiene más de 100 colaboradores en total y más de 17,000 solicitudes de extracción.

Hasta ahora se han lanzado 172 versiones y de ellas 90 eran versiones previas al lanzamiento. Eso significa que esta biblioteca ha sido sometida a una investigación y depuración muy exhaustivas y pruebas por parte de la comunidad durante las versiones previas al lanzamiento. 90 versiones previas al lanzamiento es un número grande. Y esta biblioteca también tiene 600,000 descargas semanales. Y todo esto es gracias a la comunidad que utiliza y confía en esta biblioteca.

Y hay algunos datos curiosos sobre la biblioteca. He preguntado, así que la versión uno de la biblioteca web3.js ha estado en beta durante dos años y la gente ha estado utilizando la versión beta v1 en el entorno de producción durante muchos años. Porque esta v1 fue sometida a un extenso testing y un proceso de depuración exhaustivo. Y comenzamos a tener una reescritura v2 en el pasado y fue un fracaso y un intento de reescritura abandonado debido a algunos aspectos que discutiré en diapositivas posteriores. Comenzamos una reescritura v3 con algunas características extensas, que no duraron mucho. Y desde entonces, v1 es la única versión que toda la comunidad ha estado utilizando hasta ahora.

2. Web3 JS Version 4 y Logro de Objetivos

Short description:

La biblioteca Web3 JS ha enfrentado desafíos en la versión 1, que incluyen una base de código confusa, módulos fuertemente acoplados, problemas con TypeScript y tamaño de compilación. A pesar de los intentos fallidos de reescritura, la próxima versión 4 tiene como objetivo abordar estos desafíos. Contará con soporte nativo de TypeScript, reducción de tamaño, mejora en la legibilidad del código y mayor cobertura de pruebas. Los objetivos de la versión 4 se han logrado manteniendo la API de Parity v1, asegurando un mínimo de interrupciones en los proyectos.

Este es también un aspecto bastante interesante, y considerando que como dos intentos de reescritura o dos intentos de versión han fallado hasta ahora, pero eso no significa que la biblioteca en la versión v1 haya sido inestable. Por lo tanto, la v1 se ha mantenido y respaldado hasta ahora y lo ha estado haciendo. Y si observamos el aspecto de que la v1 vivió durante dos años en la versión beta, creo que este es el tiempo más largo después de otro proyecto, ExpressJS versión 5, que durará más de dos años.

Y hubo algunos desafíos que enfrentamos en la versión 1 de Web3JS. La mayoría de ustedes pueden entenderlo porque es posible que ya hayan informado algunos de los problemas o se hayan encontrado o estén enfrentando esos problemas. La base de código era muy confusa. La base de código estaba siendo mantenida por más de 100 colaboradores que mencioné anteriormente. La base de código no estaba utilizando algún proceso estándar o patrones estándar. Los módulos dentro del código estaban muy fuertemente acoplados. Había muchos desafíos técnicos para mantener este código y había muchas dificultades para introducir nuevas características, especialmente en la biblioteca v1.

Y la mayoría de ustedes ya han estado utilizando TypeScript. Por lo tanto, había muchos tipos desacoplados. Había tipos desacoplados en Web3.js v1. Y debido a eso, se informaron muchos problemas de TypeScript por parte de la comunidad. Y si observo los registros, puedo ver que se informaron más de 60 problemas de tipos incorrectos o inexactos, lo cual fue uno de los mayores desafíos para nosotros. Y desde la perspectiva de la comunidad, el tamaño de compilación se convirtió en un cuello de botella. Y para el desarrollo, debido a que esta biblioteca se empaquetaba en un archivo único enorme y ese archivo de paquete se empaquetaba en cada desarrollo. Y esto estaba causando muchos problemas durante el desarrollo por parte de la comunidad también. Y en un espectro más amplio, la comunidad de JavaScript y la cadena de herramientas han avanzado mucho. Se han introducido muchas nuevas frameworks, nuevos patrones y nuevas herramientas en la comunidad y en el ecosistema, pero Web3 JS no pudo avanzar debido a esos desafíos que mencioné anteriormente.

Entonces, ¿vamos a quedarnos con la versión uno, o vamos a hacer algo al respecto? A pesar de los dos intentos o intentos fallidos, todavía tenemos la esperanza de presentar las mejoras actuales en la biblioteca y dicho esto, esta es la nueva era para Web3 JS, la versión cuatro, y esto no es una especulación. Ha estado en desarrollo durante más de un año. Y casi estamos listos para lanzar, esperamos que se lance este mes, pero ya puedes explorarlo directamente desde GitHub. La versión cuatro será un hito enorme para la vida útil de Web3 JS y abordará muchas cosas que hemos estado discutiendo en la comunidad y todas esas personas han estado abordando esos temas. Por lo tanto, la versión cuatro vendrá con soporte nativo de TypeScript y tendrá un tamaño reducido. Hemos desacoplado mucho código y se ha reducido la complejidad ya que estamos haciendo esta reescritura completamente desde cero, por lo que la legibilidad del código ha mejorado mucho y tratamos de hacerlo extensible para que en el futuro podamos agregar más características fácilmente e incluso la comunidad pueda extender la biblioteca para su propio uso, y nos enfocamos en la cobertura de pruebas para la versión cuatro y esperamos que una vez, en este momento estamos trabajando en escribir las pruebas del sistema para la biblioteca, y dentro de un mes, cuando lancemos la primera versión alfa para la v4, tendrá una cobertura de pruebas mucho mayor en comparación con la versión uno y en comparación con cualquier otra biblioteca competitiva en el ecosistema. Entonces, la pregunta es, ¿todos estos objetivos que definimos, la reescritura para la versión cuatro, son suficientes o los hemos logrado? Sí, hemos logrado todos estos objetivos y lo más importante es que hemos logrado todos estos objetivos con una API de Parity v1. Por lo tanto, no tienes que preocuparte de que tus proyectos se rompan. Puede haber cambios leves que documentaremos y compartiremos con la comunidad en el registro de cambios o en la guía de migración, pero esos cambios

Check out more articles and videos

We constantly think of articles and videos that might spark Git people interest / skill us up or help building a stellar career

Pruebas E2E para Aplicaciones Web3
TestJS Summit 2022TestJS Summit 2022
21 min
Pruebas E2E para Aplicaciones Web3
Top Content
Repasaremos brevemente qué es Web3 y la arquitectura de una aplicación web3. Luego hablaremos sobre cómo realizar pruebas de extremo a extremo, sus desafíos, algunas herramientas de prueba que están disponibles y una demostración usando cypress y metamask.Agenda: ¿Qué es Web3?; La Arquitectura de una Aplicación Web3; Introducción a las Pruebas E2E Web3; Desafíos de las Pruebas E2E Web3; Herramientas de Pruebas E2E; Demostración.
Guía para desarrolladores frontend sobre Web3
React Summit 2022React Summit 2022
22 min
Guía para desarrolladores frontend sobre Web3
Hay mucho entusiasmo e interés en adentrarse en el espacio de Web3, y puede ser difícil manejar la sobrecarga de información y el énfasis en aprender nuevos lenguajes para trabajar en contratos inteligentes. Muchos desarrolladores en el espacio frontend se preguntan: '¿Cuánta de esta nueva información necesito para pasar a web3?' La verdad es que, como desarrollador de React, las habilidades que conozco son esenciales en web3. Vamos a agregar un poco de contexto sobre cómo aprovechar esas habilidades existentes para tener éxito en este nuevo espacio.
En esta charla, vamos a explorar cómo construir el contexto correcto y las tecnologías que debes entender para ayudarte a adentrarte en web3 como desarrollador frontend. Repasaremos paquetes populares como Ethers, que se pueden utilizar en aplicaciones de React para interactuar con billeteras y contratos inteligentes existentes. También exploraremos cómo puedes aprovechar tus habilidades en JavaScript para construir dApps de pila completa utilizando servicios gestionados como Moralis y Thirdweb.
Vamos a desmitificar algunos de los conceptos en web3 y aprovechar nuestras habilidades existentes para comenzar a construir.
Construyendo Dapps con React
React Advanced Conference 2021React Advanced Conference 2021
30 min
Construyendo Dapps con React
Las aplicaciones descentralizadas (dApps) continúan ganando impulso en la industria. Estos desarrolladores también son algunos de los mejor pagados en todo el sector. Construir aplicaciones descentralizadas es un cambio de paradigma que requiere una forma diferente de pensar que las aplicaciones construidas con infraestructura, herramientas y servicios centralizados tradicionales, teniendo en cuenta cosas como la teoría de juegos, la infraestructura descentralizada sin servidor y la criptoeconomía. Como desarrollador de React, inicialmente tuve dificultades para entender este ecosistema completamente nuevo (para mí), cómo todo encaja y el modelo mental necesario para entender y ser un desarrollador full stack productivo en este espacio (y por qué lo consideraría en primer lugar). En esta charla, daré una visión general completa del espacio, cómo puedes comenzar a construir este tipo de aplicaciones y toda la pila tecnológica desglosada y luego reensamblada para mostrar cómo funciona todo.
Reaccionando a Web3
React Summit 2022React Summit 2022
6 min
Reaccionando a Web3
¿Cuáles son las oportunidades disponibles para los desarrolladores web en web3? ¿Qué problemas es probable que enfrenten al hacer la transición a web3? Cómo Hyperverse de Decentology resuelve estos problemas y puede ayudarles a aprovechar estas oportunidades.
Construye dApps de Blockchain usando JavaScript
JSNation 2022JSNation 2022
21 min
Construye dApps de Blockchain usando JavaScript
¿Hemos encontrado el nirvana para los desarrolladores de Blockchain? Esta masterclass se centrará en construir dApps (aplicaciones distribuidas) de blockchain con un conjunto de código fuente y desplegarlo en múltiples blockchains. La sesión cubrirá cómo empezar con Reach y ser capaz de desplegar la misma solución en múltiples blockchains, incluyendo Algorand, Ethereum y Conflux. ¿Eres nuevo en Reach? Cubriremos cómo configurar tu entorno de desarrollo y también recorreremos una aplicación simple de frontend y backend. Por último, veremos uno de los enormes beneficios de Reach en el proceso de verificación incorporado. Reach proporciona verificaciones automáticas para asegurar que tu programa no pierda, bloquee o gaste en exceso fondos, y garantiza que tus aplicaciones estén libres de esta categoría completa de errores.

Workshops on related topic

Masterclass Web3 - Construyendo Tu Primer Dapp
React Advanced Conference 2021React Advanced Conference 2021
145 min
Masterclass Web3 - Construyendo Tu Primer Dapp
Top Content
Featured WorkshopFree
Nader Dabit
Nader Dabit
En esta masterclass, aprenderás cómo construir tu primer dapp de pila completa en la blockchain de Ethereum, leyendo y escribiendo datos en la red, y conectando una aplicación de front end al contrato que has desplegado. Al final de la masterclass, entenderás cómo configurar un entorno de desarrollo de pila completa, ejecutar un nodo local e interactuar con cualquier contrato inteligente usando React, HardHat y Ethers.js.
Consulta de datos de blockchain con GraphQL
JSNation 2023JSNation 2023
64 min
Consulta de datos de blockchain con GraphQL
WorkshopFree
Simon Emanuel Schmid
Simon Emanuel Schmid
¿Curioso acerca de cómo funcionan los datos en el mundo de la blockchain? Únete a Simon en una sesión interesante sobre The Graph, el protocolo de indexación descentralizado que facilita a los desarrolladores de blockchain buscar y consultar datos de blockchain.
Tabla de contenidos:- Comprendiendo los datos de blockchain- Anatomía de un contrato inteligente- Indexando datos de blockchain con The Graph- Accediendo a datos en The Graph- Subgrafos recomendados- Resumen de la escritura de subgrafos
Cómo Convertir Criptomonedas con Microservicios GRPC en Node.js
JSNation 2023JSNation 2023
117 min
Cómo Convertir Criptomonedas con Microservicios GRPC en Node.js
Workshop
Alex Korzhikov
Andrew Reddikh
2 authors
El masterclass presenta los principios de arquitectura clave, patrones de diseño y tecnologías utilizadas para construir microservicios en el stack de Node.js. Cubre la teoría del marco de trabajo GRPC y el mecanismo de protocol buffers, así como técnicas y especificaciones para construir servicios aislados utilizando el enfoque de monorepo con lerna y yarn workspaces, TypeScript. El masterclass incluye una tarea práctica en vivo para crear una aplicación de conversión de moneda que sigue los paradigmas de microservicios. Es adecuado para desarrolladores que deseen aprender y practicar el patrón de microservicios GRPC con la plataforma Node.js.
Requisitos previos:- Buen entendimiento de JavaScript o TypeScript- Experiencia con Node.js y escribir aplicaciones de backend- Preinstalar Node.js, npm- Preinstalar el Compilador de Protocol Buffer- Preferimos usar VSCode para una mejor experiencia con JavaScript y TypeScript (otros IDE también son aceptables)
Cómo construir interfaces de usuario para contratos inteligentes
React Summit 2022React Summit 2022
134 min
Cómo construir interfaces de usuario para contratos inteligentes
Workshop
Rahat Chowdhury
Rahat Chowdhury
Existen muchos caminos que podemos tomar para convertirnos en desarrolladores de web3. No todos los caminos requieren aprender un lenguaje completamente nuevo y convertirse en desarrollador de contratos inteligentes. En este masterclass aprenderemos cómo construir nuestra propia interfaz de usuario React sobre cualquier contrato inteligente existente en la blockchain de Prueba de Participación de Polygon. Exploraremos una visión general básica de las blockchains y aprenderemos sobre las ventajas de construir en Polygon. También obtendremos una comprensión de qué son los contratos inteligentes, aprenderemos cómo encontrar los existentes y conoceremos herramientas que nos ayudarán a interactuar con ellos desde una aplicación React.
Construye aplicaciones Web3 con Javascript
JSNation 2022JSNation 2022
49 min
Construye aplicaciones Web3 con Javascript
WorkshopFree
Shain Dholakiya
Shain Dholakiya
El masterclass está diseñado para ayudar a los desarrolladores Web2 a comenzar a construir para Web3 utilizando el Hyperverse. El Hyperverse es un mercado abierto de módulos inteligentes construidos por la comunidad, auditados y fáciles de descubrir. Nuestro objetivo es facilitar a los desarrolladores de JavaScript la construcción de aplicaciones Web3 sin escribir una sola línea de código de contrato inteligente. Piensa en 'npm para contratos inteligentes'.Aprende más sobre el Hyperverse aquí.Repasaremos todos los conceptos básicos de blockchain/crypto que necesitas saber para comenzar a construir en el Hyperverse, por lo que no necesitas tener ningún conocimiento previo sobre el espacio Web3. Solo necesitas tener experiencia en JavaScript.
Construye aplicaciones Web3 con React
React Summit 2022React Summit 2022
51 min
Construye aplicaciones Web3 con React
WorkshopFree
Shain Dholakiya
Shain Dholakiya
El masterclass está diseñado para ayudar a los desarrolladores Web2 a comenzar a construir para Web3 utilizando el Hyperverse. El Hyperverse es un mercado abierto de módulos inteligentes construidos por la comunidad, auditados y fáciles de descubrir. Nuestro objetivo es hacer que sea fácil para los desarrolladores de React construir aplicaciones Web3 sin escribir una sola línea de código de contrato inteligente. Piensa en 'npm para contratos inteligentes'.
Aprende más sobre el Hyperverse aquí.
Repasaremos todos los conceptos básicos de blockchain/crypto que necesitas saber para comenzar a construir en el Hyperverse, por lo que no necesitas tener ningún conocimiento previo sobre el espacio Web3. Solo necesitas tener experiencia en React.