Solana Web3.js versión 2.x: división de funciones y optimización
Solana Web3.js es una biblioteca de JavaScript rica en funciones, que recientemente lanzó la versión 2.x. En comparación con la 1.x, la nueva versión tiene cambios significativos, y este artículo resumirá sus principales actualizaciones.
Aunque la versión 2.x se lanzó hace poco y su uso aún no es alto, muchas bibliotecas ampliamente utilizadas aún no se han migrado, pero conocer estos cambios con anticipación ayudará a prepararse para futuras actualizaciones.
Comparar versiones
La versión anterior era bastante simple de usar, todas las funciones estaban concentradas en el paquete @solana/web3.js, que encapsulaba muchas operaciones comunes basadas en un diseño orientado a clases. Sin embargo, este diseño también trajo algunos problemas, como que toda la biblioteca se descargaba en el dispositivo del usuario, incluso si solo se utilizaba una pequeña parte de las funciones.
La versión 2.x divide el código base en módulos más pequeños, como @solana/cuentas, @solana/códecs, @solana/rpc, etc. La nueva versión abandona las implementaciones basadas en clases en favor de una sola función, lo cual es bueno para optimizar las compilaciones de código JavaScript. Los códigos no utilizados se eliminarán y no se descargarán en el dispositivo del usuario. Según las estadísticas oficiales, el uso de la nueva versión de la aplicación puede obtener básicamente una optimización de volumen del 30%.
El diseño modular de la nueva versión impone mayores exigencias a la documentación de desarrollo. Actualmente, los nombres de los módulos tienen una buena semántica para ayudar a los desarrolladores a encontrar rápidamente las características que necesitan. Sin embargo, dado que se acaba de lanzar, muchos proyectos aún no se han migrado y hay pocos ejemplos de esto.
Otra característica importante de la versión 2.x es la ausencia de dependencias. Esta característica puede no tener un gran impacto en los usuarios comunes, pero es muy importante desde el punto de vista de la seguridad. El equipo de desarrollo decidió utilizar más funciones nativas, eliminando la introducción de dependencias externas y Polyfills, para reducir los riesgos de seguridad.
Cambios importantes
Procesamiento de conexiones
La nueva versión implementa la conexión de una manera más funcional. Por ejemplo, al enviar una transacción, se iniciará automáticamente una solicitud HTTPS y se establecerá una conexión WSS, suscribiéndose al estado de la transacción y devolviendo el hash de la transacción una vez confirmada.
gestión de claves
Las funciones relacionadas con las claves públicas y privadas han cambiado significativamente. Las clases Keypair y PublicKey que se usaban habitualmente en la versión 1.x ya no existen y se han sustituido por algunas funciones. Por ejemplo, puede usar await generateKeyPair() para generar un par de claves en lugar del par de claves anterior.generate().
La nueva implementación aprovecha la API de cifrado web de JavaScript tanto como sea posible, utilizando la implementación nativa Ed25519. Esto hace que algunos métodos se vuelvan asincrónicos, pero no es un gran problema para los desarrolladores que están familiarizados con las promesas.
Envío de transacciones
Las clases Transaction y VersionedTransaction ya no están disponibles en la versión 2.x. Los métodos relacionados con el programa del sistema ya no existen y deben introducirse desde otros módulos.
La nueva versión ofrece la forma pipe, comúnmente utilizada en la programación funcional. Por ejemplo, al implementar la función de transferencia, ya no se inicia la transacción a través de la Conexión, sino que se generan funciones específicas a través del Proveedor RPC definido para iniciar la transacción. Aunque este método aumenta la cantidad de código, proporciona una mayor personalización.
React soporta
Vale la pena señalar que el proyecto @solana/web3.js también incluye la biblioteca @solana/react, que proporciona algunos React Hooks y funciones integradas como signIn.
Resumen
El lanzamiento de Solana Web3.js 2.x demuestra el compromiso del equipo de desarrollo con la mejora continua. 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 que impulse la adopción y el crecimiento 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.
15 me gusta
Recompensa
15
9
Republicar
Compartir
Comentar
0/400
ProbablyNothing
· 07-19 15:36
sol finalmente se ha puesto en marcha
Ver originalesResponder0
GweiWatcher
· 07-18 09:24
¡Conectar es rey!
Ver originalesResponder0
MoonBoi42
· 07-18 08:31
Los de adelante comen sandía, alcista sol
Ver originalesResponder0
CryptoMotivator
· 07-17 01:02
¡Por fin ha llegado esta actualización!
Ver originalesResponder0
Anon32942
· 07-17 01:01
Finalmente se ha optimizado, parece que antes realmente no funcionaba.
Una actualización importante de Solana Web3.js 2.x: el diseño modular mejora el rendimiento y la seguridad
Solana Web3.js versión 2.x: división de funciones y optimización
Solana Web3.js es una biblioteca de JavaScript rica en funciones, que recientemente lanzó la versión 2.x. En comparación con la 1.x, la nueva versión tiene cambios significativos, y este artículo resumirá sus principales actualizaciones.
Aunque la versión 2.x se lanzó hace poco y su uso aún no es alto, muchas bibliotecas ampliamente utilizadas aún no se han migrado, pero conocer estos cambios con anticipación ayudará a prepararse para futuras actualizaciones.
Comparar versiones
La versión anterior era bastante simple de usar, todas las funciones estaban concentradas en el paquete @solana/web3.js, que encapsulaba muchas operaciones comunes basadas en un diseño orientado a clases. Sin embargo, este diseño también trajo algunos problemas, como que toda la biblioteca se descargaba en el dispositivo del usuario, incluso si solo se utilizaba una pequeña parte de las funciones.
La versión 2.x divide el código base en módulos más pequeños, como @solana/cuentas, @solana/códecs, @solana/rpc, etc. La nueva versión abandona las implementaciones basadas en clases en favor de una sola función, lo cual es bueno para optimizar las compilaciones de código JavaScript. Los códigos no utilizados se eliminarán y no se descargarán en el dispositivo del usuario. Según las estadísticas oficiales, el uso de la nueva versión de la aplicación puede obtener básicamente una optimización de volumen del 30%.
El diseño modular de la nueva versión impone mayores exigencias a la documentación de desarrollo. Actualmente, los nombres de los módulos tienen una buena semántica para ayudar a los desarrolladores a encontrar rápidamente las características que necesitan. Sin embargo, dado que se acaba de lanzar, muchos proyectos aún no se han migrado y hay pocos ejemplos de esto.
Otra característica importante de la versión 2.x es la ausencia de dependencias. Esta característica puede no tener un gran impacto en los usuarios comunes, pero es muy importante desde el punto de vista de la seguridad. El equipo de desarrollo decidió utilizar más funciones nativas, eliminando la introducción de dependencias externas y Polyfills, para reducir los riesgos de seguridad.
Cambios importantes
Procesamiento de conexiones
La nueva versión implementa la conexión de una manera más funcional. Por ejemplo, al enviar una transacción, se iniciará automáticamente una solicitud HTTPS y se establecerá una conexión WSS, suscribiéndose al estado de la transacción y devolviendo el hash de la transacción una vez confirmada.
gestión de claves
Las funciones relacionadas con las claves públicas y privadas han cambiado significativamente. Las clases Keypair y PublicKey que se usaban habitualmente en la versión 1.x ya no existen y se han sustituido por algunas funciones. Por ejemplo, puede usar await generateKeyPair() para generar un par de claves en lugar del par de claves anterior.generate().
La nueva implementación aprovecha la API de cifrado web de JavaScript tanto como sea posible, utilizando la implementación nativa Ed25519. Esto hace que algunos métodos se vuelvan asincrónicos, pero no es un gran problema para los desarrolladores que están familiarizados con las promesas.
Envío de transacciones
Las clases Transaction y VersionedTransaction ya no están disponibles en la versión 2.x. Los métodos relacionados con el programa del sistema ya no existen y deben introducirse desde otros módulos.
La nueva versión ofrece la forma pipe, comúnmente utilizada en la programación funcional. Por ejemplo, al implementar la función de transferencia, ya no se inicia la transacción a través de la Conexión, sino que se generan funciones específicas a través del Proveedor RPC definido para iniciar la transacción. Aunque este método aumenta la cantidad de código, proporciona una mayor personalización.
React soporta
Vale la pena señalar que el proyecto @solana/web3.js también incluye la biblioteca @solana/react, que proporciona algunos React Hooks y funciones integradas como signIn.
Resumen
El lanzamiento de Solana Web3.js 2.x demuestra el compromiso del equipo de desarrollo con la mejora continua. 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 que impulse la adopción y el crecimiento de la plataforma.