# ソラナ Web3.js 2.xバージョン:機能分割とパフォーマンス最適化ソラナ Web3.jsは、機能豊富なJavaScriptライブラリとして、今年11月に正式に2.xバージョンをリリースしました。1.xバージョンと比較して、新バージョンは構造と実装方法において顕著な変更がありました。本記事では、これらの主な変更点を概説し、開発者が将来の移行に備えられるようにします。! [Web3スターターシリーズ:今すぐ@solana/web3.js 2.xをアップグレードして関数型プログラミングを有効にする](https://img-cdn.gateio.im/social/moments-0fa0888db1937c21f03f2851ec3bd095)## バージョン比較1.xバージョンの主な特徴はシンプルで使いやすいことです。それは単一の@solana/web3.jsパッケージを含み、クラスベースの設計を採用しており、多くの一般的な操作をカプセル化しています。たとえば、Connectionクラスは数十種類のメソッドを提供し、開発者が必要とするほぼすべての機能をカバーしています。しかし、この設計は、コードベースのサイズが大きく、ユーザーのデバイスが必要ない可能性のある大量のコードをダウンロードする必要があるなどの問題も引き起こします。2.xバージョンは異なる戦略を採用しました。開発チームはコードベースを複数の小型モジュールに分割しました、例えば@solana/accounts、@solana/codecs、@solana/rpcなどです。新しいバージョンはクラスベースの実装を放棄し、単一の関数の方法を採用しました。これはJavaScriptコードの構築時の最適化に役立ちます。未使用のコードは削除され、ユーザーのデバイスにはダウンロードされません。公式の統計によれば、新しいバージョンのDAppは通常30%のサイズ最適化を達成できますが、少数の機能しか使用しない場合、最適化の割合はさらに高くなる可能性があります。2.xバージョンのもう一つの重要な特徴はゼロ依存です。最近1.95.5および1.95.6バージョンで発生したサプライチェーン攻撃を考慮すると、外部依存を減らすことでセキュリティリスクを大幅に低減できます。新しいバージョンでは、ネイティブ機能をより多く使用し、外部依存とポリフィルの導入を廃止しました。## 重要な変更点###接続2.xバージョンでは、接続を処理するためにより関数型のアプローチが採用されました。Connectionクラスは使用されなくなり、RPCリクエストアドレスを設定することでリクエスト送信器が作成されます。例えば、取引を送信する際には、HTTPSリクエストが自動的に発起され、取引の状態を購読するためにWSS接続が確立されます。### 鍵ペア公開鍵と秘密鍵に関連する処理も変わりました。1.xバージョンで一般的に使用されていたKeypairとPublicKeyクラスは、いくつかの関数に置き換えられました。例えば、現在はawait generateKeyPair()を使用して鍵ペアを生成しますが、以前はKeypair.generate()を使用していました。新しい実装はJavaScriptのWeb Crypto APIを利用し、ネイティブのEd25519実装を使用しているため、一部のメソッドが非同期になりました。### トランザクションを送信するバージョン 2.x では、Transaction クラスと VersionedTransaction クラスは使用されなくなりました。 また、システムプログラム関連の手法も他から導入する必要があります。 たとえば、transfer ディレクティブは、@solana-program/system の getTransferSolInstruction 関数を呼び出す必要があります。新しいバージョンでは、関数型プログラミングで一般的に使用されるpipe形式が提供されています。開発者はpipe関数を使用して、元の1.xバージョンの送金機能を実現できます。コード量は増加しましたが、より強力なカスタマイズ性が提供されています。### React のサポート注目すべきは、@solana/web3.jsプロジェクトには、signInなどの機能を内蔵したいくつかのReact Hookを提供する@solana/reactというライブラリも含まれていることです。## まとめソラナ Web3.js 2.xバージョンのリリースは、開発チームの継続的な改善へのコミットメントを示しています。新バージョンは、開発者にソラナネットワークと対話するためのより効率的で柔軟、カスタマイズ可能な方法を提供し、このプラットフォームのさらなる発展と応用を促進することが期待されています。現在、多くのプロジェクトがまだ新バージョンに移行していないものの、これらの変化を理解することは、開発者が将来の移行に備えるのに役立ちます。! [Web3スターターシリーズ:今すぐ@solana/web3.js 2.xをアップグレードして関数型プログラミングを有効にする](https://img-cdn.gateio.im/social/moments-d3e17fab6bb8c485a8bdac5b1e385273)
ソラナ Web3.js 2.x:モジュール化再構築とパフォーマンス向上
ソラナ Web3.js 2.xバージョン:機能分割とパフォーマンス最適化
ソラナ Web3.jsは、機能豊富なJavaScriptライブラリとして、今年11月に正式に2.xバージョンをリリースしました。1.xバージョンと比較して、新バージョンは構造と実装方法において顕著な変更がありました。本記事では、これらの主な変更点を概説し、開発者が将来の移行に備えられるようにします。
! Web3スターターシリーズ:今すぐ@solana/web3.js 2.xをアップグレードして関数型プログラミングを有効にする
バージョン比較
1.xバージョンの主な特徴はシンプルで使いやすいことです。それは単一の@solana/web3.jsパッケージを含み、クラスベースの設計を採用しており、多くの一般的な操作をカプセル化しています。たとえば、Connectionクラスは数十種類のメソッドを提供し、開発者が必要とするほぼすべての機能をカバーしています。しかし、この設計は、コードベースのサイズが大きく、ユーザーのデバイスが必要ない可能性のある大量のコードをダウンロードする必要があるなどの問題も引き起こします。
2.xバージョンは異なる戦略を採用しました。開発チームはコードベースを複数の小型モジュールに分割しました、例えば@solana/accounts、@solana/codecs、@solana/rpcなどです。新しいバージョンはクラスベースの実装を放棄し、単一の関数の方法を採用しました。これはJavaScriptコードの構築時の最適化に役立ちます。未使用のコードは削除され、ユーザーのデバイスにはダウンロードされません。公式の統計によれば、新しいバージョンのDAppは通常30%のサイズ最適化を達成できますが、少数の機能しか使用しない場合、最適化の割合はさらに高くなる可能性があります。
2.xバージョンのもう一つの重要な特徴はゼロ依存です。最近1.95.5および1.95.6バージョンで発生したサプライチェーン攻撃を考慮すると、外部依存を減らすことでセキュリティリスクを大幅に低減できます。新しいバージョンでは、ネイティブ機能をより多く使用し、外部依存とポリフィルの導入を廃止しました。
重要な変更点
###接続
2.xバージョンでは、接続を処理するためにより関数型のアプローチが採用されました。Connectionクラスは使用されなくなり、RPCリクエストアドレスを設定することでリクエスト送信器が作成されます。例えば、取引を送信する際には、HTTPSリクエストが自動的に発起され、取引の状態を購読するためにWSS接続が確立されます。
鍵ペア
公開鍵と秘密鍵に関連する処理も変わりました。1.xバージョンで一般的に使用されていたKeypairとPublicKeyクラスは、いくつかの関数に置き換えられました。例えば、現在はawait generateKeyPair()を使用して鍵ペアを生成しますが、以前はKeypair.generate()を使用していました。新しい実装はJavaScriptのWeb Crypto APIを利用し、ネイティブのEd25519実装を使用しているため、一部のメソッドが非同期になりました。
トランザクションを送信する
バージョン 2.x では、Transaction クラスと VersionedTransaction クラスは使用されなくなりました。 また、システムプログラム関連の手法も他から導入する必要があります。 たとえば、transfer ディレクティブは、@solana-program/system の getTransferSolInstruction 関数を呼び出す必要があります。
新しいバージョンでは、関数型プログラミングで一般的に使用されるpipe形式が提供されています。開発者はpipe関数を使用して、元の1.xバージョンの送金機能を実現できます。コード量は増加しましたが、より強力なカスタマイズ性が提供されています。
React のサポート
注目すべきは、@solana/web3.jsプロジェクトには、signInなどの機能を内蔵したいくつかのReact Hookを提供する@solana/reactというライブラリも含まれていることです。
まとめ
ソラナ Web3.js 2.xバージョンのリリースは、開発チームの継続的な改善へのコミットメントを示しています。新バージョンは、開発者にソラナネットワークと対話するためのより効率的で柔軟、カスタマイズ可能な方法を提供し、このプラットフォームのさらなる発展と応用を促進することが期待されています。現在、多くのプロジェクトがまだ新バージョンに移行していないものの、これらの変化を理解することは、開発者が将来の移行に備えるのに役立ちます。
! Web3スターターシリーズ:今すぐ@solana/web3.js 2.xをアップグレードして関数型プログラミングを有効にする