Una actualización importante de Solana Web3.js 2.x: el diseño modular mejora el rendimiento y la seguridad

robot
Generación de resúmenes en curso

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.

Serie para principiantes de Web3: Actualiza ahora @solana/web3.js 2.x para habilitar la programación funcional

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.

Serie para principiantes de Web3: Actualiza ahora @solana/web3.js 2.x para comenzar la programación funcional

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.

SOL0.42%
Ver originales
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.
  • Recompensa
  • 9
  • Republicar
  • Compartir
Comentar
0/400
ProbablyNothingvip
· 07-19 15:36
sol finalmente se ha puesto en marcha
Ver originalesResponder0
GweiWatchervip
· 07-18 09:24
¡Conectar es rey!
Ver originalesResponder0
MoonBoi42vip
· 07-18 08:31
Los de adelante comen sandía, alcista sol
Ver originalesResponder0
CryptoMotivatorvip
· 07-17 01:02
¡Por fin ha llegado esta actualización!
Ver originalesResponder0
Anon32942vip
· 07-17 01:01
Finalmente se ha optimizado, parece que antes realmente no funcionaba.
Ver originalesResponder0
FUD_Whisperervip
· 07-17 00:54
¿Solana todavía puede funcionar?
Ver originalesResponder0
JustHereForMemesvip
· 07-17 00:53
React finalmente está bien, ¡vaya!
Ver originalesResponder0
SatoshiNotNakamotovip
· 07-17 00:39
666, Sol está de nuevo en la acción.
Ver originalesResponder0
OnchainGossipervip
· 07-17 00:33
solana alcista!!!
Ver originalesResponder0
Ver más
Opere con criptomonedas en cualquier momento y lugar
qrCode
Escanee para descargar la aplicación Gate
Comunidad
Español
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)