Solana Web3.js version 2.x : séparation des fonctionnalités et optimisation des performances
La version 2.x de Solana Web3.js a été publiée en novembre, avec des changements significatifs par rapport à la version 1.x. Cet article présentera un aperçu de ces principaux changements afin d'aider les développeurs à se préparer pour la migration future.
Comparaison des versions
L'utilisation de la version 1.x est relativement simple, car elle ne contient qu'un seul paquet @solana/web3.js, qui encapsule un grand nombre d'opérations courantes dans des classes. Par exemple, la classe Connection offre des dizaines de méthodes qui couvrent presque tous les besoins de développement. Cependant, cette conception entraîne également certains problèmes, tels qu'une bibliothèque de code trop volumineuse, ce qui prolongent le temps de téléchargement.
La version 2.x adopte une approche modulaire, décomposant la bibliothèque de code en plusieurs petits modules, tels que @solana/accounts, @solana/codecs, etc. En même temps, la nouvelle version abandonne l'implémentation basée sur des classes et adopte plutôt une approche basée sur une seule fonction, ce qui aide à l'optimisation lors de la construction du code JavaScript. Selon les statistiques officielles, les DApps utilisant la nouvelle version peuvent généralement bénéficier d'une optimisation de 30 % de la taille du code.
Cependant, ce changement impose également des exigences plus élevées à la documentation de l'équipe Solana, et aider les développeurs à trouver rapidement les fonctionnalités nécessaires deviendra un sujet important. Actuellement, la nomination des packages a une bonne sémantique, ce qui réduit dans une certaine mesure la difficulté de migration des développeurs.
Une autre caractéristique importante de la version 2.x est l'absence de dépendances. Compte tenu des récentes attaques de la chaîne d'approvisionnement sur les versions 1.95.5 et 1.95.6, réduire les dépendances externes peut considérablement diminuer les risques de sécurité.
Points de changement importants
connexion
La version 2.x adopte une approche plus fonctionnelle pour gérer les connexions. La classe Connection n'est plus utilisée, mais les émetteurs de requêtes sont créés en configurant l'adresse de la requête RPC.
paire de clés
Dans la nouvelle version, les classes Keypair et PublicKey sont remplacées par une série de fonctions. Par exemple, vous pouvez utiliser await generateKeyPair() pour générer une paire de clés. La plupart de ces fonctions retournent des Promises, car elles tirent parti de l'API Web Crypto de JavaScript.
envoyer la transaction
La version 2.x n'utilise plus les classes Transaction et VersionedTransaction. Les méthodes liées au System Program doivent également être importées d'ailleurs. La nouvelle version propose une forme pipe couramment utilisée en programmation fonctionnelle, rendant les opérations de transaction plus flexibles et personnalisables.
React prend en charge
Il convient de noter que le projet @solana/web3.js comprend également une bibliothèque @solana/react, qui propose quelques hooks React, intégrant des fonctionnalités telles que signIn.
Résumé
La publication de la version 2.x de Solana Web3.js démontre l'engagement de l'équipe Solana envers l'amélioration continue. La nouvelle version offre aux développeurs une manière plus efficace, flexible et personnalisable d'interagir avec le réseau Solana, ce qui devrait favoriser le développement et l'application ultérieurs de la plateforme.
Cette page peut inclure du contenu de tiers fourni à des fins d'information uniquement. Gate ne garantit ni l'exactitude ni la validité de ces contenus, n’endosse pas les opinions exprimées, et ne fournit aucun conseil financier ou professionnel à travers ces informations. Voir la section Avertissement pour plus de détails.
9 J'aime
Récompense
9
3
Partager
Commentaire
0/400
SocialAnxietyStaker
· Il y a 11h
Amélioration de l'efficacité de développement, une très bonne chose
Publication de Solana Web3.js 2.x : un design modulaire pour améliorer la performance et la sécurité
Solana Web3.js version 2.x : séparation des fonctionnalités et optimisation des performances
La version 2.x de Solana Web3.js a été publiée en novembre, avec des changements significatifs par rapport à la version 1.x. Cet article présentera un aperçu de ces principaux changements afin d'aider les développeurs à se préparer pour la migration future.
Comparaison des versions
L'utilisation de la version 1.x est relativement simple, car elle ne contient qu'un seul paquet @solana/web3.js, qui encapsule un grand nombre d'opérations courantes dans des classes. Par exemple, la classe Connection offre des dizaines de méthodes qui couvrent presque tous les besoins de développement. Cependant, cette conception entraîne également certains problèmes, tels qu'une bibliothèque de code trop volumineuse, ce qui prolongent le temps de téléchargement.
La version 2.x adopte une approche modulaire, décomposant la bibliothèque de code en plusieurs petits modules, tels que @solana/accounts, @solana/codecs, etc. En même temps, la nouvelle version abandonne l'implémentation basée sur des classes et adopte plutôt une approche basée sur une seule fonction, ce qui aide à l'optimisation lors de la construction du code JavaScript. Selon les statistiques officielles, les DApps utilisant la nouvelle version peuvent généralement bénéficier d'une optimisation de 30 % de la taille du code.
Cependant, ce changement impose également des exigences plus élevées à la documentation de l'équipe Solana, et aider les développeurs à trouver rapidement les fonctionnalités nécessaires deviendra un sujet important. Actuellement, la nomination des packages a une bonne sémantique, ce qui réduit dans une certaine mesure la difficulté de migration des développeurs.
Une autre caractéristique importante de la version 2.x est l'absence de dépendances. Compte tenu des récentes attaques de la chaîne d'approvisionnement sur les versions 1.95.5 et 1.95.6, réduire les dépendances externes peut considérablement diminuer les risques de sécurité.
Points de changement importants
connexion
La version 2.x adopte une approche plus fonctionnelle pour gérer les connexions. La classe Connection n'est plus utilisée, mais les émetteurs de requêtes sont créés en configurant l'adresse de la requête RPC.
paire de clés
Dans la nouvelle version, les classes Keypair et PublicKey sont remplacées par une série de fonctions. Par exemple, vous pouvez utiliser await generateKeyPair() pour générer une paire de clés. La plupart de ces fonctions retournent des Promises, car elles tirent parti de l'API Web Crypto de JavaScript.
envoyer la transaction
La version 2.x n'utilise plus les classes Transaction et VersionedTransaction. Les méthodes liées au System Program doivent également être importées d'ailleurs. La nouvelle version propose une forme pipe couramment utilisée en programmation fonctionnelle, rendant les opérations de transaction plus flexibles et personnalisables.
React prend en charge
Il convient de noter que le projet @solana/web3.js comprend également une bibliothèque @solana/react, qui propose quelques hooks React, intégrant des fonctionnalités telles que signIn.
Résumé
La publication de la version 2.x de Solana Web3.js démontre l'engagement de l'équipe Solana envers l'amélioration continue. La nouvelle version offre aux développeurs une manière plus efficace, flexible et personnalisable d'interagir avec le réseau Solana, ce qui devrait favoriser le développement et l'application ultérieurs de la plateforme.