Publication de Solana Web3.js 2.x : un design modulaire améliore les performances et la sécurité

robot
Création du résumé en cours

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.

Web3 Débutant Série : Mettez à niveau @solana/web3.js 2.x pour activer la programmation fonctionnelle

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.

Web3 Nouveau Série : Mettez à niveau @solana/web3.js 2.x pour commencer la programmation fonctionnelle

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.

SOL3.06%
Voir l'original
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.
  • Récompense
  • 6
  • Partager
Commentaire
0/400
SellTheBouncevip
· 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_fishvip
· 07-07 22:21
Le code est bien écrit, entrer dans une position et copier les devoirs.
Voir l'originalRépondre0
AllInDaddyvip
· 07-06 22:49
Enfin, une nouvelle version est sortie ! buy the dip, préparez-vous à plonger !
Voir l'originalRépondre0
MEV_Whisperervip
· 07-06 22:45
Solana est vraiment top, la vitesse c'est comme un coup de poing.
Voir l'originalRépondre0
BlockchainTherapistvip
· 07-06 22:42
Dépêche-toi d'acheter un gros paquet de SOL.
Voir l'originalRépondre0
AirdropHarvestervip
· 07-06 22:34
Solana a encore fait des sornettes, ça a pump.
Voir l'originalRépondre0
  • Épingler
Trader les cryptos partout et à tout moment
qrCode
Scan pour télécharger Gate app
Communauté
Français (Afrique)
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)