This page may contain third-party content, which is provided for information purposes only (not representations/warranties) and should not be considered as an endorsement of its views by Gate, nor as financial or professional advice. See Disclaimer for details.
ソラナ Web3.js 2.x 発表:モジュール化設計がパフォーマンスとセキュリティを向上
ソラナ Web3.js 2.x バージョン:関数型プログラミングの新時代
ソラナ Web3.js は、機能豊富な JavaScript ライブラリとして、今年 11 月に正式に 2.x バージョンをリリースしました。1.x と比較して、新しいバージョンは重大な変革をもたらし、この記事ではその主な変更点を概説します。
2.x バージョンはまだ登場したばかりで、使用量は旧版には及びませんが、これらの変化を理解することは、将来のプロジェクト移行にとって非常に重要です。
! Web3スターターシリーズ:今すぐ@solana/web3.js 2.xをアップグレードして関数型プログラミングを有効にする
バージョン比較
否定できないのは、旧バージョンの使用体験がより簡便であるということです。1.x バージョンは単一のパッケージに集中し、クラスベースの設計を採用して、一般的な操作を数多くカプセル化しています。例えば、Connection クラスは数十種類のメソッドを提供しており、ほぼ開発者が必要とするすべての機能を網羅しています。しかし、この設計はコードの冗長性やロード時間の延長といったいくつかの問題も引き起こしています。
2.x バージョンはモジュール化設計を採用し、従来のコードベースを @solana/accounts、@solana/codecs、@solana/rpc などの複数の小型モジュールに分割しました。同時に、新しいバージョンはクラスベースの実装を放棄し、単一関数メソッドを採用しました。これにより、JavaScript コードの構築時の最適化が促進されます。統計によると、新しいバージョンのアプリケーションは一般的に 30% の容量最適化を実現でき、機能を少量しか使用しないアプリケーションでは、最適化の割合がさらに高くなる可能性があります。
新しいバージョンのモジュール設計は、文書の質に対してより高い要求を課しています。現在のところ、各モジュールの命名は良好な意味を持っており、これにより開発者の移行の難易度がある程度低下しました。
注目すべきは、2.x バージョンがゼロ依存を実現したことです。最近の 1.95.5 および 1.95.6 バージョンで発生したサプライチェーン攻撃を考慮すると、外部依存を減らすことはライブラリのセキュリティを確実に強化します。開発チームは、外部依存とポリフィルの導入を取りやめ、ネイティブ機能をより多く活用することを決定しました。
重要な変更点
###接続
2.x バージョンは、接続を処理するためにより関数型のアプローチを採用しました。新しいバージョンでは、RPC リクエストアドレスを構成してリクエスト送信機を作成し、その後この送信機を利用してさまざまなリクエストを発起します。
鍵ペア
公開鍵と秘密鍵に関連する処理にも重大な変化がありました。1.x バージョンで一般的に使用されていた Keypair と PublicKey クラスは、一連の関数に置き換えられました。例えば、現在は非同期の generateKeyPair() 関数を使用して鍵ペアを生成できます。この変化は、新しいバージョンが JavaScript の Web Crypto API をより多く利用し、ネイティブの Ed25519 実装を採用したことに起因しています。
トランザクションを送信する
2.x バージョンでは、Transaction クラスと VersionedTransaction クラスは使用されなくなりました。 また、システムプログラム関連の手法も他から導入する必要があります。 たとえば、transfer ディレクティブは、@solana-program/system の getTransferSolInstruction 関数を呼び出す必要があります。
新しいバージョンでは、関数型プログラミングで一般的に使用される pipe 形式が提供されており、取引の開始と確認プロセスがより柔軟でカスタマイズ可能になっています。
React のサポート
注目すべきは、@solana/web3.js プロジェクトに @solana/react というライブラリが含まれており、signIn などの機能を内蔵したいくつかの React Hook を提供していることです。
! Web3スターターシリーズ:今すぐ@solana/web3.js 2.xをアップグレードして関数型プログラミングを有効にする
まとめ
@solana/web3.js 2.x バージョンのリリースは、ソラナチームの継続的な革新の決意を示しています。新しいバージョンは、開発者に対してより効率的で柔軟かつカスタマイズ可能なソラナネットワークとのインタラクション方法を提供し、このプラットフォームの採用と発展をさらに促進することが期待されています。