Version 2.x de Solana Web3.js : séparation des fonctionnalités et optimisation
Solana Web3.js est une bibliothèque JavaScript riche en fonctionnalités, qui a récemment publié la version 2.x. Par rapport à la version 1.x, la nouvelle version présente des changements significatifs, cet article résumera ses principales mises à jour.
Bien que la version 2.x vient d'être publiée et que son utilisation ne soit pas encore élevée, de nombreuses bibliothèques largement utilisées n'ont pas encore été migrées, mais comprendre ces changements à l'avance peut aider à se préparer aux mises à jour futures.
L'ancienne version était relativement simple à utiliser, toutes les fonctionnalités étant concentrées dans le package @solana/web3.js, qui encapsule de nombreuses opérations courantes basées sur un design orienté objet. Cependant, ce design a également entraîné certains problèmes, comme le fait que l'ensemble de la bibliothèque doit être téléchargé sur l'appareil de l'utilisateur, même si seule une petite partie des fonctionnalités est utilisée.
La version 2.x a divisé la bibliothèque de code en plusieurs petits modules, tels que @solana/accounts, @solana/codecs, @solana/rpc, etc. La nouvelle version abandonne l'implémentation basée sur des classes et adopte davantage des fonctions uniques, ce qui favorise l'optimisation lors de la construction du code JavaScript. Le code inutilisé sera supprimé et ne sera pas téléchargé sur les appareils des utilisateurs. Selon les statistiques officielles, les applications utilisant la nouvelle version peuvent généralement bénéficier d'une optimisation de volume de 30 %.
La conception modulaire de la nouvelle version impose des exigences plus élevées à la documentation de développement. Actuellement, les noms de modules ont une bonne sémantique pour aider les développeurs à trouver rapidement les fonctionnalités dont ils ont besoin. Cependant, comme il vient de sortir, de nombreux projets n’ont pas encore été migrés, et il y a peu d’exemples de cela.
Une autre caractéristique importante de la version 2.x est l'absence de dépendances. Cette caractéristique peut ne pas avoir un grand impact sur les utilisateurs ordinaires, mais elle est très importante du point de vue de la sécurité. L'équipe de développement a décidé d'utiliser davantage de fonctionnalités natives, de supprimer les dépendances externes et l'introduction de Polyfills, afin de réduire les risques de sécurité.
Changements principaux
traitement de connexion
La nouvelle version adopte une approche plus fonctionnelle pour établir des connexions. Par exemple, lors de l'envoi d'une transaction, une requête HTTPS est automatiquement initiée et une connexion WSS est établie, s'abonnant à l'état de la transaction, et renvoyant le hachage de la transaction après confirmation.
gestion des clés
Les fonctionnalités liées aux clés publiques et privées ont subi des changements importants. Les classes Keypair et PublicKey couramment utilisées dans la version 1.x n'existent plus, remplacées par certaines fonctions. Par exemple, vous pouvez utiliser await generateKeyPair() pour générer une paire de clés, au lieu de l'ancienne méthode Keypair.generate().
La nouvelle implémentation exploite autant que possible l’API Web Crypto de JavaScript, en utilisant l’implémentation native Ed25519. Cela fait que certaines méthodes deviennent asynchrones, mais ce n’est pas un gros problème pour les développeurs qui sont familiers avec les promesses.
Envoi de la transaction
Les classes Transaction et VersionedTransaction ne sont plus disponibles dans la version 2.x. Les méthodes liées au programme système n’existent plus et doivent être introduites à partir d’autres modules.
La nouvelle version propose une forme de pipe couramment utilisée dans la programmation fonctionnelle. Par exemple, lors de la mise en œuvre d'une fonction de transfert, il n'est plus nécessaire de lancer la transaction via la connexion, mais plutôt de générer une fonction spécifique par le biais d'un RPC Provider défini. Bien que cela augmente la quantité de code, cela offre une plus grande personnalisation.
React prend en charge
Il convient de noter que le projet @solana/web3.js inclut également la bibliothèque @solana/react, qui fournit des hooks React et intègre des fonctionnalités telles que signIn.
Résumé
La sortie de Solana Web3.js 2.x démontre l’engagement de l’équipe de développement envers l’amélioration continue. La nouvelle version offre aux développeurs un moyen plus efficace, plus flexible et plus personnalisable d’interagir avec le réseau Solana, ce qui devrait stimuler l’adoption et la croissance de la plate-forme.
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.
15 J'aime
Récompense
15
9
Reposter
Partager
Commentaire
0/400
ProbablyNothing
· 07-19 15:36
sol a enfin décollé
Voir l'originalRépondre0
GweiWatcher
· 07-18 09:24
Connexion est roi !
Voir l'originalRépondre0
MoonBoi42
· 07-18 08:31
Avant, mangeant des pastèques, haussier sur sol
Voir l'originalRépondre0
CryptoMotivator
· 07-17 01:02
Enfin, cette mise à jour est arrivée !
Voir l'originalRépondre0
Anon32942
· 07-17 01:01
Enfin optimisé, il semble que cela ne fonctionnait vraiment pas auparavant.
Une mise à jour majeure de Solana Web3.js 2.x : la conception modulaire améliore les performances et la sécurité
Version 2.x de Solana Web3.js : séparation des fonctionnalités et optimisation
Solana Web3.js est une bibliothèque JavaScript riche en fonctionnalités, qui a récemment publié la version 2.x. Par rapport à la version 1.x, la nouvelle version présente des changements significatifs, cet article résumera ses principales mises à jour.
Bien que la version 2.x vient d'être publiée et que son utilisation ne soit pas encore élevée, de nombreuses bibliothèques largement utilisées n'ont pas encore été migrées, mais comprendre ces changements à l'avance peut aider à se préparer aux mises à jour futures.
! Web3 Starter Series : mise à niveau @solana/web3.js 2.x maintenant pour permettre la programmation fonctionnelle
Comparer les versions
L'ancienne version était relativement simple à utiliser, toutes les fonctionnalités étant concentrées dans le package @solana/web3.js, qui encapsule de nombreuses opérations courantes basées sur un design orienté objet. Cependant, ce design a également entraîné certains problèmes, comme le fait que l'ensemble de la bibliothèque doit être téléchargé sur l'appareil de l'utilisateur, même si seule une petite partie des fonctionnalités est utilisée.
La version 2.x a divisé la bibliothèque de code en plusieurs petits modules, tels que @solana/accounts, @solana/codecs, @solana/rpc, etc. La nouvelle version abandonne l'implémentation basée sur des classes et adopte davantage des fonctions uniques, ce qui favorise l'optimisation lors de la construction du code JavaScript. Le code inutilisé sera supprimé et ne sera pas téléchargé sur les appareils des utilisateurs. Selon les statistiques officielles, les applications utilisant la nouvelle version peuvent généralement bénéficier d'une optimisation de volume de 30 %.
La conception modulaire de la nouvelle version impose des exigences plus élevées à la documentation de développement. Actuellement, les noms de modules ont une bonne sémantique pour aider les développeurs à trouver rapidement les fonctionnalités dont ils ont besoin. Cependant, comme il vient de sortir, de nombreux projets n’ont pas encore été migrés, et il y a peu d’exemples de cela.
Une autre caractéristique importante de la version 2.x est l'absence de dépendances. Cette caractéristique peut ne pas avoir un grand impact sur les utilisateurs ordinaires, mais elle est très importante du point de vue de la sécurité. L'équipe de développement a décidé d'utiliser davantage de fonctionnalités natives, de supprimer les dépendances externes et l'introduction de Polyfills, afin de réduire les risques de sécurité.
Changements principaux
traitement de connexion
La nouvelle version adopte une approche plus fonctionnelle pour établir des connexions. Par exemple, lors de l'envoi d'une transaction, une requête HTTPS est automatiquement initiée et une connexion WSS est établie, s'abonnant à l'état de la transaction, et renvoyant le hachage de la transaction après confirmation.
gestion des clés
Les fonctionnalités liées aux clés publiques et privées ont subi des changements importants. Les classes Keypair et PublicKey couramment utilisées dans la version 1.x n'existent plus, remplacées par certaines fonctions. Par exemple, vous pouvez utiliser await generateKeyPair() pour générer une paire de clés, au lieu de l'ancienne méthode Keypair.generate().
La nouvelle implémentation exploite autant que possible l’API Web Crypto de JavaScript, en utilisant l’implémentation native Ed25519. Cela fait que certaines méthodes deviennent asynchrones, mais ce n’est pas un gros problème pour les développeurs qui sont familiers avec les promesses.
Envoi de la transaction
Les classes Transaction et VersionedTransaction ne sont plus disponibles dans la version 2.x. Les méthodes liées au programme système n’existent plus et doivent être introduites à partir d’autres modules.
La nouvelle version propose une forme de pipe couramment utilisée dans la programmation fonctionnelle. Par exemple, lors de la mise en œuvre d'une fonction de transfert, il n'est plus nécessaire de lancer la transaction via la connexion, mais plutôt de générer une fonction spécifique par le biais d'un RPC Provider défini. Bien que cela augmente la quantité de code, cela offre une plus grande personnalisation.
React prend en charge
Il convient de noter que le projet @solana/web3.js inclut également la bibliothèque @solana/react, qui fournit des hooks React et intègre des fonctionnalités telles que signIn.
Résumé
La sortie de Solana Web3.js 2.x démontre l’engagement de l’équipe de développement envers l’amélioration continue. La nouvelle version offre aux développeurs un moyen plus efficace, plus flexible et plus personnalisable d’interagir avec le réseau Solana, ce qui devrait stimuler l’adoption et la croissance de la plate-forme.