Solana Web3.js 2.x: Actualización importante de una biblioteca JavaScript rica en funciones
Solana Web3.js como una poderosa biblioteca de JavaScript, lanzó oficialmente la versión 2.x este noviembre. En comparación con la 1.x, la nueva versión trae muchos cambios importantes. Este artículo ofrecerá un resumen de estos cambios principales para preparar a los desarrolladores para su futura migración.
Comparación de versiones
El uso de la versión 1.x es relativamente simple, ya que solo incluye un paquete de @solana/web3.js, que utiliza un diseño basado en clases y encapsula una gran cantidad de operaciones comunes. Sin embargo, este diseño también trae algunos problemas, como un tamaño de biblioteca más grande, lo que requiere que los dispositivos de los usuarios descarguen el archivo de biblioteca completo.
La versión 2.x adopta un diseño modular, dividiendo la antigua base de código en múltiples módulos pequeños, como @solana/accounts, @solana/codecs, @solana/rpc, entre otros. La nueva versión abandona la implementación basada en clases y utiliza más funciones individuales, lo que favorece la optimización durante la construcción del código JavaScript. Según estadísticas, las aplicaciones que utilizan la nueva versión suelen obtener una optimización del 30% en tamaño, y si solo se utilizan unas pocas 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. Actualmente, la versión 2.x ha eliminado todas las dependencias externas.
Puntos de cambio importantes
conectar
La versión 2.x implementa la función de 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 para suscribirse al estado de la transacción, devolviendo el hash de la transacción una vez confirmada.
par de claves
En la nueva versión, las clases Keypair y PublicKey ya no existen y han sido reemplazadas por algunas funciones. Por ejemplo, se puede usar await generateKeyPair() para generar un par de claves. La nueva implementación utiliza tanto como sea posible la API Web Crypto de JavaScript, utilizando una implementación nativa de Ed25519.
enviar transacción
La versión 2.x ya no tiene las clases Transaction y VersionedTransaction. Los métodos relacionados con el System Program también necesitan ser importados desde otros lugares. Por ejemplo, la instrucción transfer necesita llamar a la función getTransferSolInstruction en @solana-program/system.
La nueva versión ofrece la forma pipe, comúnmente utilizada en la programación funcional. Las transacciones ya no se inician a través de Connection, sino que se generan funciones específicas mediante el RPC Provider definido para iniciar las transacciones. Aunque este método aumenta la cantidad de código, proporciona una mayor personalización.
Soporte para React
El proyecto @solana/web3.js también incluye la biblioteca @solana/react, que proporciona algunos hooks de React, incorporando funciones como signIn.
Resumen
La publicación de la versión 2.x de @solana/web3.js demuestra el compromiso del equipo de Solana con la mejora continua. La nueva versión ofrece a los desarrolladores una forma eficiente, flexible y personalizable de interactuar con la red de Solana, lo que se espera impulse el desarrollo y la aplicación del 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.
10 me gusta
Recompensa
10
6
Compartir
Comentar
0/400
MemecoinResearcher
· hace13h
la verdad, sol web3 2.0 es increíble, de verdad de verdad
Ver originalesResponder0
SelfSovereignSteve
· hace13h
sol ha vuelto a actualizarse
Ver originalesResponder0
GweiWatcher
· hace13h
¡La mejora de rendimiento es tan grande, a trabajar!
Ver originalesResponder0
LiquiditySurfer
· hace13h
¡Sola finalmente ha sido impresionante!
Ver originalesResponder0
SerNgmi
· hace13h
Esta ola es realmente alcista.
Ver originalesResponder0
BankruptcyArtist
· hace13h
Tan confiable, hay esperanza de recuperar la inversión.
Actualización importante de Solana Web3.js 2.x: el diseño modular mejora el rendimiento y la seguridad.
Solana Web3.js 2.x: Actualización importante de una biblioteca JavaScript rica en funciones
Solana Web3.js como una poderosa biblioteca de JavaScript, lanzó oficialmente la versión 2.x este noviembre. En comparación con la 1.x, la nueva versión trae muchos cambios importantes. Este artículo ofrecerá un resumen de estos cambios principales para preparar a los desarrolladores para su futura migración.
Comparación de versiones
El uso de la versión 1.x es relativamente simple, ya que solo incluye un paquete de @solana/web3.js, que utiliza un diseño basado en clases y encapsula una gran cantidad de operaciones comunes. Sin embargo, este diseño también trae algunos problemas, como un tamaño de biblioteca más grande, lo que requiere que los dispositivos de los usuarios descarguen el archivo de biblioteca completo.
La versión 2.x adopta un diseño modular, dividiendo la antigua base de código en múltiples módulos pequeños, como @solana/accounts, @solana/codecs, @solana/rpc, entre otros. La nueva versión abandona la implementación basada en clases y utiliza más funciones individuales, lo que favorece la optimización durante la construcción del código JavaScript. Según estadísticas, las aplicaciones que utilizan la nueva versión suelen obtener una optimización del 30% en tamaño, y si solo se utilizan unas pocas 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. Actualmente, la versión 2.x ha eliminado todas las dependencias externas.
Puntos de cambio importantes
conectar
La versión 2.x implementa la función de 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 para suscribirse al estado de la transacción, devolviendo el hash de la transacción una vez confirmada.
par de claves
En la nueva versión, las clases Keypair y PublicKey ya no existen y han sido reemplazadas por algunas funciones. Por ejemplo, se puede usar await generateKeyPair() para generar un par de claves. La nueva implementación utiliza tanto como sea posible la API Web Crypto de JavaScript, utilizando una implementación nativa de Ed25519.
enviar transacción
La versión 2.x ya no tiene las clases Transaction y VersionedTransaction. Los métodos relacionados con el System Program también necesitan ser importados desde otros lugares. Por ejemplo, la instrucción transfer necesita llamar a la función getTransferSolInstruction en @solana-program/system.
La nueva versión ofrece la forma pipe, comúnmente utilizada en la programación funcional. Las transacciones ya no se inician a través de Connection, sino que se generan funciones específicas mediante el RPC Provider definido para iniciar las transacciones. Aunque este método aumenta la cantidad de código, proporciona una mayor personalización.
Soporte para React
El proyecto @solana/web3.js también incluye la biblioteca @solana/react, que proporciona algunos hooks de React, incorporando funciones como signIn.
Resumen
La publicación de la versión 2.x de @solana/web3.js demuestra el compromiso del equipo de Solana con la mejora continua. La nueva versión ofrece a los desarrolladores una forma eficiente, flexible y personalizable de interactuar con la red de Solana, lo que se espera impulse el desarrollo y la aplicación del plataforma.