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