Web3.js versión 2.x: Un nuevo capítulo en el desarrollo de Solana
La biblioteca Solana Web3.js lanzó oficialmente la versión 2.x en noviembre de este año. En comparación con la versión 1.x, la nueva versión trae cambios significativos. Este artículo resumirá sus principales puntos de actualización para preparar a los desarrolladores para el trabajo de migración en el futuro.
Comparación de versiones
La biblioteca Web3.js versión 1.x es relativamente sencilla de usar, y todas las funciones están concentradas en un solo paquete: @solana/web3.js. Está basada en un diseño orientado a clases y encapsula una gran cantidad de operaciones comunes, como la clase Connection, que incluye decenas de métodos y cubre prácticamente la mayoría de las funciones necesarias para los desarrolladores.
Sin embargo, este diseño también trae algunos problemas. Incluso si los desarrolladores solo utilizan una pequeña parte de las funciones, toda la biblioteca de código se descargará en el dispositivo del usuario, lo que podría resultar en tiempos de carga más largos.
La versión 2.x adoptó una estrategia diferente. El equipo de desarrollo dividió el antiguo repositorio de código en varios módulos pequeños, como @solana/accounts, @solana/codecs, @solana/rpc, @solana/signers y @solana/transactions. La nueva versión abandonó la implementación basada en clases y adoptó más un enfoque de funciones individuales, lo que ayuda a la optimización durante la construcción del código JavaScript. El código no utilizado será eliminado y no se descargará en los dispositivos de los usuarios. Según estadísticas oficiales, las DApps que utilizan la nueva versión suelen obtener una optimización del tamaño del 30%; si solo se utilizan algunas funciones, el porcentaje de optimización puede ser aún mayor.
Otra característica importante de la versión 2.x es la ausencia de dependencias. Teniendo en cuenta los recientes ataques a la cadena de suministro en las versiones 1.95.5 y 1.95.6, reducir las dependencias externas puede disminuir significativamente los riesgos de seguridad. El equipo de desarrollo de Web3.js ha decidido utilizar más funciones nativas y eliminar la introducción de dependencias externas y Polyfills.
Puntos de cambio importantes
conectar
La versión 2.x adopta un enfoque más funcional para implementar la función de conexión. Los desarrolladores ahora pueden crear un emisor de solicitudes configurando la dirección de solicitud RPC y luego usarlo para enviar varios tipos de solicitudes.
par de claves
En cuanto al manejo de pares de claves, la versión 2.x también ha cambiado significativamente. Las clases Keypair y PublicKey ya no existen, y han sido reemplazadas por algunas nuevas funciones. Por ejemplo, ahora se puede usar await generateKeyPair() para generar un par de claves, en lugar de la anterior Keypair.generate(). La nueva implementación aprovecha al máximo la API Web Crypto de JavaScript, utilizando la implementación nativa de Ed25519.
enviar transacción
En la versión 2.x, las clases Transaction y VersionedTransaction han sido eliminadas. Los métodos relacionados con el System Program ya no se proporcionan directamente y deben ser importados de otros lugares. Por ejemplo, el comando transfer ahora requiere llamar a la función getTransferSolInstruction en @solana-program/system.
La nueva versión ofrece la forma pipe, comúnmente utilizada en programación funcional, que permite a los desarrolladores combinar y ejecutar operaciones de transacción de manera más flexible.
Soporte de React
Cabe destacar que el proyecto @solana/web3.js también incluye una biblioteca llamada @solana/react, que proporciona algunos Hooks de React y funciones integradas como signIn, brindando así más comodidad a los desarrolladores de React.
Resumen
El lanzamiento de la versión 2.x de Solana Web3.js demuestra el compromiso continuo del equipo de Solana con la mejora y la innovación. La nueva versión proporciona a los desarrolladores una forma más eficiente, flexible y personalizable de interactuar con la red Solana, lo que se espera impulse el desarrollo y la aplicación adicional de la plataforma.
Esta página puede contener contenido de terceros, que se proporciona únicamente con fines informativos (sin garantías ni declaraciones) y no debe considerarse como un respaldo por parte de Gate a las opiniones expresadas ni como asesoramiento financiero o profesional. Consulte el Descargo de responsabilidad para obtener más detalles.
Lanzamiento de la versión 2.x de Solana Web3.js: el diseño modular ayuda a mejorar la eficiencia del desarrollo
Web3.js versión 2.x: Un nuevo capítulo en el desarrollo de Solana
La biblioteca Solana Web3.js lanzó oficialmente la versión 2.x en noviembre de este año. En comparación con la versión 1.x, la nueva versión trae cambios significativos. Este artículo resumirá sus principales puntos de actualización para preparar a los desarrolladores para el trabajo de migración en el futuro.
Comparación de versiones
La biblioteca Web3.js versión 1.x es relativamente sencilla de usar, y todas las funciones están concentradas en un solo paquete: @solana/web3.js. Está basada en un diseño orientado a clases y encapsula una gran cantidad de operaciones comunes, como la clase Connection, que incluye decenas de métodos y cubre prácticamente la mayoría de las funciones necesarias para los desarrolladores.
Sin embargo, este diseño también trae algunos problemas. Incluso si los desarrolladores solo utilizan una pequeña parte de las funciones, toda la biblioteca de código se descargará en el dispositivo del usuario, lo que podría resultar en tiempos de carga más largos.
La versión 2.x adoptó una estrategia diferente. El equipo de desarrollo dividió el antiguo repositorio de código en varios módulos pequeños, como @solana/accounts, @solana/codecs, @solana/rpc, @solana/signers y @solana/transactions. La nueva versión abandonó la implementación basada en clases y adoptó más un enfoque de funciones individuales, lo que ayuda a la optimización durante la construcción del código JavaScript. El código no utilizado será eliminado y no se descargará en los dispositivos de los usuarios. Según estadísticas oficiales, las DApps que utilizan la nueva versión suelen obtener una optimización del tamaño del 30%; si solo se utilizan algunas funciones, el porcentaje de optimización puede ser aún mayor.
Otra característica importante de la versión 2.x es la ausencia de dependencias. Teniendo en cuenta los recientes ataques a la cadena de suministro en las versiones 1.95.5 y 1.95.6, reducir las dependencias externas puede disminuir significativamente los riesgos de seguridad. El equipo de desarrollo de Web3.js ha decidido utilizar más funciones nativas y eliminar la introducción de dependencias externas y Polyfills.
Puntos de cambio importantes
conectar
La versión 2.x adopta un enfoque más funcional para implementar la función de conexión. Los desarrolladores ahora pueden crear un emisor de solicitudes configurando la dirección de solicitud RPC y luego usarlo para enviar varios tipos de solicitudes.
par de claves
En cuanto al manejo de pares de claves, la versión 2.x también ha cambiado significativamente. Las clases Keypair y PublicKey ya no existen, y han sido reemplazadas por algunas nuevas funciones. Por ejemplo, ahora se puede usar await generateKeyPair() para generar un par de claves, en lugar de la anterior Keypair.generate(). La nueva implementación aprovecha al máximo la API Web Crypto de JavaScript, utilizando la implementación nativa de Ed25519.
enviar transacción
En la versión 2.x, las clases Transaction y VersionedTransaction han sido eliminadas. Los métodos relacionados con el System Program ya no se proporcionan directamente y deben ser importados de otros lugares. Por ejemplo, el comando transfer ahora requiere llamar a la función getTransferSolInstruction en @solana-program/system.
La nueva versión ofrece la forma pipe, comúnmente utilizada en programación funcional, que permite a los desarrolladores combinar y ejecutar operaciones de transacción de manera más flexible.
Soporte de React
Cabe destacar que el proyecto @solana/web3.js también incluye una biblioteca llamada @solana/react, que proporciona algunos Hooks de React y funciones integradas como signIn, brindando así más comodidad a los desarrolladores de React.
Resumen
El lanzamiento de la versión 2.x de Solana Web3.js demuestra el compromiso continuo del equipo de Solana con la mejora y la innovación. La nueva versión proporciona a los desarrolladores una forma más eficiente, flexible y personalizable de interactuar con la red Solana, lo que se espera impulse el desarrollo y la aplicación adicional de la plataforma.