# ソラナ Web3.js 2.x バージョン:関数型プログラミングの新時代ソラナ Web3.js 2.x バージョンは今年11月に正式にリリースされ、1.x バージョンに比べて大きな変革をもたらしました。この記事ではその主な変更点を概説し、開発者の今後の移行に備えます。! [Web3スターターシリーズ:今すぐ@solana/web3.js 2.xをアップグレードして関数型プログラミングを有効にする](https://img-cdn.gateio.im/social/moments-0fa0888db1937c21f03f2851ec3bd095)## バージョン比較1.xバージョンは使いやすいですが、いくつかの問題があります。すべての機能が1つのパッケージに集中しているため、ユーザーのデバイスは必要ない可能性のある大量のコードをダウンロードする必要があります。2.xバージョンはモジュール設計を採用し、コードベースを@solana/accounts、@solana/codecsなどの複数の小さなモジュールに分割しました。新しいバージョンはクラスベースの実装を廃止し、単一の関数の方式を採用しており、JavaScriptコードのビルド時の最適化に役立ちます。公式データによれば、新しいバージョンのDAppは通常30%のサイズ最適化を達成でき、少量の機能のみを使用するアプリケーションでは、最適化の割合がさらに高くなる可能性があります。しかし、これによりソラナチームのドキュメントの質に対する要求も高まっています。現在、パッケージ名の意味性は良好であり、開発者の移行の難易度を減らすのに役立っています。しかし、新しいバージョンが最近リリースされたばかりのため、多くのプロジェクトはまだ移行を行っておらず、ソラナクックブックの2.xバージョンの例も比較的少ないです。2.xバージョンのもう一つの重要な特徴はゼロ依存です。この特性は安全性の向上において重要な意味を持ち、特に最近発生した1.95.5および1.95.6バージョンのサプライチェーン攻撃を考慮するとそうなります。## 重要な変更点###接続2.xバージョンでは、接続を処理するためにより関数型のアプローチが採用されています。Connectionクラスは使用されず、RPCリクエストアドレスを設定することでリクエスト送信者を作成します。### 鍵ペア新しいバージョンでは、KeypairとPublicKeyクラスが一連の関数に置き換えられました。例えば、今はawait generateKeyPair()を使ってキー ペアを生成しますが、以前のKeypair.generate()ではありません。新しいメソッドはPromiseを返します。これは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 発表:モジュラー設計とゼロ依存の関数型プログラミングの新時代
ソラナ Web3.js 2.x バージョン:関数型プログラミングの新時代
ソラナ Web3.js 2.x バージョンは今年11月に正式にリリースされ、1.x バージョンに比べて大きな変革をもたらしました。この記事ではその主な変更点を概説し、開発者の今後の移行に備えます。
! Web3スターターシリーズ:今すぐ@solana/web3.js 2.xをアップグレードして関数型プログラミングを有効にする
バージョン比較
1.xバージョンは使いやすいですが、いくつかの問題があります。すべての機能が1つのパッケージに集中しているため、ユーザーのデバイスは必要ない可能性のある大量のコードをダウンロードする必要があります。
2.xバージョンはモジュール設計を採用し、コードベースを@solana/accounts、@solana/codecsなどの複数の小さなモジュールに分割しました。新しいバージョンはクラスベースの実装を廃止し、単一の関数の方式を採用しており、JavaScriptコードのビルド時の最適化に役立ちます。公式データによれば、新しいバージョンのDAppは通常30%のサイズ最適化を達成でき、少量の機能のみを使用するアプリケーションでは、最適化の割合がさらに高くなる可能性があります。
しかし、これによりソラナチームのドキュメントの質に対する要求も高まっています。現在、パッケージ名の意味性は良好であり、開発者の移行の難易度を減らすのに役立っています。しかし、新しいバージョンが最近リリースされたばかりのため、多くのプロジェクトはまだ移行を行っておらず、ソラナクックブックの2.xバージョンの例も比較的少ないです。
2.xバージョンのもう一つの重要な特徴はゼロ依存です。この特性は安全性の向上において重要な意味を持ち、特に最近発生した1.95.5および1.95.6バージョンのサプライチェーン攻撃を考慮するとそうなります。
重要な変更点
###接続
2.xバージョンでは、接続を処理するためにより関数型のアプローチが採用されています。Connectionクラスは使用されず、RPCリクエストアドレスを設定することでリクエスト送信者を作成します。
鍵ペア
新しいバージョンでは、KeypairとPublicKeyクラスが一連の関数に置き換えられました。例えば、今はawait generateKeyPair()を使ってキー ペアを生成しますが、以前のKeypair.generate()ではありません。新しいメソッドはPromiseを返します。これは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をアップグレードして関数型プログラミングを有効にする