# ソラナ Web3.js 2.x バージョン更新:関数型プログラミングを受け入れるソラナ Web3.js は、機能豊富な JavaScript ライブラリとして、今年 11 月に 2.x バージョンをリリースしました。1.x と比較して、新しいバージョンは顕著な変化をもたらしました。現在、2.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、@solana/signers、@solana/transactions などの複数の小モジュールに分割しました。新しいバージョンはクラスベースの実装を放棄し、単一の関数方式を採用しており、JavaScript コードの構築時の最適化に役立ちます。未使用のコードは削除され、ユーザーのデバイスにダウンロードされることはありません。公式データによると、新しいバージョンのアプリは通常 30% のサイズ最適化を達成でき、少量の機能しか使用しない場合は、最適化率がさらに高くなる可能性があります。2.x バージョンのもう一つの重要な特徴はゼロ依存です。最近 1.95.5 および 1.95.6 バージョンで発生したサプライチェーン攻撃を考慮すると、外部依存を減らすことはセキュリティ向上に役立ちます。開発チームは、外部依存や Polyfills の導入を撤回し、より多くのネイティブ機能を使用することを決定しました。## 重要な変更点###接続2.x バージョンでは、接続を処理するためにより関数型のアプローチが採用されています。Connection クラスは使用されず、RPC リクエストのアドレスを設定してリクエスト送信者を作成します。たとえば、トランザクションを送信する際には、HTTPS リクエストが自動的に発起され、WSS 接続が確立され、トランザクションの状態が購読され、トランザクションが確認された後にトランザクションハッシュが返されます。### 鍵ペア2.x バージョンでは、従来の Keypair および PublicKey クラスが一連の関数に置き換えられました。たとえば、現在は await generateKeyPair() を使用してキー ペアを生成し、Keypair.generate() は使用しません。新しい実装は JavaScript の Web Crypto API を利用し、ネイティブの Ed25519 実装を使用するため、多くのメソッドが非同期になっています。### トランザクションを送信する2.x バージョンでは、Transaction および VersionedTransaction クラスはもはや使用されません。System Program に関連するメソッドも削除され、他のパッケージからインポートする必要があります。たとえば、送金指令は現在 @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 更新:モジュール化設計が性能と安全性を向上させる
ソラナ Web3.js 2.x バージョン更新:関数型プログラミングを受け入れる
ソラナ Web3.js は、機能豊富な JavaScript ライブラリとして、今年 11 月に 2.x バージョンをリリースしました。1.x と比較して、新しいバージョンは顕著な変化をもたらしました。現在、2.x バージョンの使用量はそれほど多くはありませんが、多くの広く使用されているライブラリはまだ移行されていません。しかし、これらの変化を理解することは、今後の開発や移行作業にとって極めて重要です。
! Web3スターターシリーズ:今すぐ@solana/web3.js 2.xをアップグレードして関数型プログラミングを有効にする
バージョン比較
1.x バージョンの使用は比較的簡単で、すべての機能は単一のパッケージ @solana/web3.js に集中しており、クラスベースの設計で多くの一般的な操作がカプセル化されています。たとえば、Connection クラスは数十のメソッドを提供し、開発者が必要とするほぼすべての機能をカバーしています。しかし、この設計はコードベースの大きさという問題も引き起こし、ユーザーのデバイスはライブラリ全体をダウンロードする必要があります。たとえその中の一部の機能しか使用しなくても。
2.x バージョンはモジュール化設計を採用し、コードベースを @solana/accounts、@solana/codecs、@solana/rpc、@solana/signers、@solana/transactions などの複数の小モジュールに分割しました。新しいバージョンはクラスベースの実装を放棄し、単一の関数方式を採用しており、JavaScript コードの構築時の最適化に役立ちます。未使用のコードは削除され、ユーザーのデバイスにダウンロードされることはありません。公式データによると、新しいバージョンのアプリは通常 30% のサイズ最適化を達成でき、少量の機能しか使用しない場合は、最適化率がさらに高くなる可能性があります。
2.x バージョンのもう一つの重要な特徴はゼロ依存です。最近 1.95.5 および 1.95.6 バージョンで発生したサプライチェーン攻撃を考慮すると、外部依存を減らすことはセキュリティ向上に役立ちます。開発チームは、外部依存や Polyfills の導入を撤回し、より多くのネイティブ機能を使用することを決定しました。
重要な変更点
###接続
2.x バージョンでは、接続を処理するためにより関数型のアプローチが採用されています。Connection クラスは使用されず、RPC リクエストのアドレスを設定してリクエスト送信者を作成します。たとえば、トランザクションを送信する際には、HTTPS リクエストが自動的に発起され、WSS 接続が確立され、トランザクションの状態が購読され、トランザクションが確認された後にトランザクションハッシュが返されます。
鍵ペア
2.x バージョンでは、従来の Keypair および PublicKey クラスが一連の関数に置き換えられました。たとえば、現在は await generateKeyPair() を使用してキー ペアを生成し、Keypair.generate() は使用しません。新しい実装は JavaScript の Web Crypto API を利用し、ネイティブの Ed25519 実装を使用するため、多くのメソッドが非同期になっています。
トランザクションを送信する
2.x バージョンでは、Transaction および VersionedTransaction クラスはもはや使用されません。System Program に関連するメソッドも削除され、他のパッケージからインポートする必要があります。たとえば、送金指令は現在 @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をアップグレードして関数型プログラミングを有効にする