Solana Web3.js 2.x Version : Une nouvelle ère de la programmation fonctionnelle
Solana Web3.js, en tant que bibliothèque JavaScript riche en fonctionnalités, a officiellement publié la version 2.x en novembre de cette année. Par rapport à la version 1.x, la nouvelle version a apporté des changements majeurs, cet article présentera un aperçu de ses principales modifications.
Bien que la version 2.x soit récemment sortie et que son utilisation soit encore inférieure à celle de l'ancienne version, comprendre ces changements est crucial pour la migration des projets futurs.
Comparaison des versions
Il est indéniable que l'expérience utilisateur des anciennes versions était plus simple. La version 1.x se concentrait sur un seul package, utilisant une conception basée sur des classes, englobant de nombreuses opérations courantes. Par exemple, la classe Connection offre des dizaines de méthodes, couvrant presque toutes les fonctionnalités nécessaires aux développeurs. Cependant, ce type de conception a également entraîné certains problèmes, tels que la redondance du code et l'augmentation du temps de chargement.
La version 2.x adopte une conception modulaire, en divisant l'ancienne bibliothèque de code en plusieurs petits modules, tels que @solana/accounts, @solana/codecs, @solana/rpc, etc. En même temps, la nouvelle version abandonne l'implémentation basée sur des classes au profit d'une méthode à fonction unique, ce qui favorise l'optimisation lors de la construction du code JavaScript. Selon les statistiques, les applications utilisant la nouvelle version parviennent généralement à réaliser une optimisation de volume de 30 %, et pour les applications n'utilisant qu'un nombre limité de fonctionnalités, le taux d'optimisation peut être encore plus élevé.
La nouvelle conception modulaire de la version exige une qualité documentaire plus élevée. Il semble actuellement que la nomination des différents modules ait une bonne sémantique, ce qui réduit dans une certaine mesure la difficulté de migration pour les développeurs.
Il convient de noter que la version 2.x a réalisé une 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 renforce sans aucun doute la sécurité de la bibliothèque. L'équipe de développement a décidé de tirer davantage parti des fonctionnalités natives, en éliminant les dépendances externes et l'introduction de Polyfills.
Points de changement importants
connexion
La version 2.x adopte une approche plus fonctionnelle pour gérer les connexions. La nouvelle version crée un émetteur de requêtes en configurant l'adresse de requête RPC, puis utilise cet émetteur pour initier diverses requêtes.
paire de clés
Le traitement des clés publiques et privées a également subi des changements majeurs. Les classes Keypair et PublicKey couramment utilisées dans la version 1.x ont été remplacées par une série de fonctions. Par exemple, il est maintenant possible de générer une paire de clés en utilisant la fonction asynchrone generateKeyPair(). Ce changement découle de l'utilisation accrue de l'API Web Crypto de JavaScript dans la nouvelle version, adoptant une implémentation native d'Ed25519.
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'autres endroits. Par exemple, l'instruction transfer nécessite désormais d'appeler la fonction getTransferSolInstruction dans @solana-program/system.
La nouvelle version propose une forme de pipe couramment utilisée en programmation fonctionnelle, rendant le processus de lancement et de confirmation des transactions plus flexible et personnalisable.
React prend en charge
Il convient de noter que le projet @solana/web3.js comprend désormais une bibliothèque appelée @solana/react, qui fournit des 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 la détermination de l'équipe Solana à innover en continu. La nouvelle version offre aux développeurs une manière d'interagir avec le réseau Solana qui est plus efficace, flexible et personnalisable, ce qui promet de favoriser davantage l'adoption et le développement 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.
12 J'aime
Récompense
12
6
Partager
Commentaire
0/400
SellTheBounce
· 07-08 14:55
Avoir des compétences ne vaut pas mieux que d'avoir de l'humanité. Perdre, c'est le destin.
Voir l'originalRépondre0
just_another_fish
· 07-07 22:21
Le code est bien écrit, entrer dans une position et copier les devoirs.
Voir l'originalRépondre0
AllInDaddy
· 07-06 22:49
Enfin, une nouvelle version est sortie ! buy the dip, préparez-vous à plonger !
Voir l'originalRépondre0
MEV_Whisperer
· 07-06 22:45
Solana est vraiment top, la vitesse c'est comme un coup de poing.
Publication de Solana Web3.js 2.x : un design modulaire améliore les performances et la sécurité
Solana Web3.js 2.x Version : Une nouvelle ère de la programmation fonctionnelle
Solana Web3.js, en tant que bibliothèque JavaScript riche en fonctionnalités, a officiellement publié la version 2.x en novembre de cette année. Par rapport à la version 1.x, la nouvelle version a apporté des changements majeurs, cet article présentera un aperçu de ses principales modifications.
Bien que la version 2.x soit récemment sortie et que son utilisation soit encore inférieure à celle de l'ancienne version, comprendre ces changements est crucial pour la migration des projets futurs.
Comparaison des versions
Il est indéniable que l'expérience utilisateur des anciennes versions était plus simple. La version 1.x se concentrait sur un seul package, utilisant une conception basée sur des classes, englobant de nombreuses opérations courantes. Par exemple, la classe Connection offre des dizaines de méthodes, couvrant presque toutes les fonctionnalités nécessaires aux développeurs. Cependant, ce type de conception a également entraîné certains problèmes, tels que la redondance du code et l'augmentation du temps de chargement.
La version 2.x adopte une conception modulaire, en divisant l'ancienne bibliothèque de code en plusieurs petits modules, tels que @solana/accounts, @solana/codecs, @solana/rpc, etc. En même temps, la nouvelle version abandonne l'implémentation basée sur des classes au profit d'une méthode à fonction unique, ce qui favorise l'optimisation lors de la construction du code JavaScript. Selon les statistiques, les applications utilisant la nouvelle version parviennent généralement à réaliser une optimisation de volume de 30 %, et pour les applications n'utilisant qu'un nombre limité de fonctionnalités, le taux d'optimisation peut être encore plus élevé.
La nouvelle conception modulaire de la version exige une qualité documentaire plus élevée. Il semble actuellement que la nomination des différents modules ait une bonne sémantique, ce qui réduit dans une certaine mesure la difficulté de migration pour les développeurs.
Il convient de noter que la version 2.x a réalisé une 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 renforce sans aucun doute la sécurité de la bibliothèque. L'équipe de développement a décidé de tirer davantage parti des fonctionnalités natives, en éliminant les dépendances externes et l'introduction de Polyfills.
Points de changement importants
connexion
La version 2.x adopte une approche plus fonctionnelle pour gérer les connexions. La nouvelle version crée un émetteur de requêtes en configurant l'adresse de requête RPC, puis utilise cet émetteur pour initier diverses requêtes.
paire de clés
Le traitement des clés publiques et privées a également subi des changements majeurs. Les classes Keypair et PublicKey couramment utilisées dans la version 1.x ont été remplacées par une série de fonctions. Par exemple, il est maintenant possible de générer une paire de clés en utilisant la fonction asynchrone generateKeyPair(). Ce changement découle de l'utilisation accrue de l'API Web Crypto de JavaScript dans la nouvelle version, adoptant une implémentation native d'Ed25519.
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'autres endroits. Par exemple, l'instruction transfer nécessite désormais d'appeler la fonction getTransferSolInstruction dans @solana-program/system.
La nouvelle version propose une forme de pipe couramment utilisée en programmation fonctionnelle, rendant le processus de lancement et de confirmation des transactions plus flexible et personnalisable.
React prend en charge
Il convient de noter que le projet @solana/web3.js comprend désormais une bibliothèque appelée @solana/react, qui fournit des 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 la détermination de l'équipe Solana à innover en continu. La nouvelle version offre aux développeurs une manière d'interagir avec le réseau Solana qui est plus efficace, flexible et personnalisable, ce qui promet de favoriser davantage l'adoption et le développement de la plateforme.