# ソラナ Web3.js 2.x バージョン:機能分割と最適化ソラナ Web3.js は、機能豊富な JavaScript ライブラリで、最近 2.x バージョンがリリースされました。1.x と比較して、新しいバージョンには大きな変更があります。この記事では、主な更新を概説します。2.x リリースは比較的新しいリリースですが、使用率は高くなく、広く使用されている多くのライブラリはまだ移行されていませんが、これらの変更を事前に知っておくと、将来のアップグレードに備えるのに役立ちます。! [Web3スターターシリーズ:今すぐ@solana/web3.js 2.xをアップグレードして関数型プログラミングを有効にする](https://img-cdn.gateio.im/social/moments-0fa0888db1937c21f03f2851ec3bd095)## バージョン比較古いバージョンは、すべての機能が @solana/web3.js パッケージに収められており、一般的に使用される多数の操作をカプセル化したクラスベースの設計で、使いやすくなっていました。 ただし、この設計には、機能のごく一部しか使用されていない場合でも、ライブラリ全体がユーザーのデバイスにダウンロードされるなど、いくつかの問題も伴います。2.x バージョンはコードベースを @solana/accounts、@solana/codecs、@solana/rpc などの複数の小さなモジュールに分割しました。新しいバージョンはクラスベースの実装を放棄し、より単一の関数を使用することで、JavaScript コードの構築時の最適化を促進します。未使用のコードは削除され、ユーザーのデバイスにダウンロードされることはありません。公式の統計によると、新しいバージョンのアプリを使用することで、基本的に 30% のサイズの最適化を得ることができます。新しいバージョンのモジュール設計では、開発ドキュメントに対する要求が高くなります。 現在、モジュール名には、開発者が必要な機能をすばやく見つけるのに役立つ優れたセマンティクスがあります。 しかし、リリースされたばかりなので、まだ移行されていないプロジェクトが多く、その例も少ないです。2.x バージョンのもう一つの重要な特徴はゼロ依存です。この特性は一般ユーザーにはあまり影響しないかもしれませんが、安全性の観点から非常に重要です。開発チームは、外部依存とポリフィルの導入を排除し、安全リスクを減らすために、本来の機能をより多く使用することを決定しました。## 主な変更点###接続処理新しいバージョンは、より関数型の方法で接続を実現しています。例えば、取引を送信する際に、HTTPSリクエストを自動的に発起し、WSS接続を確立し、取引の状態を購読し、取引が確認された後に取引ハッシュを返します。###キーペア管理公私鍵に関連する機能に大きな変更があります。1.x バージョンで一般的に使用されていた Keypair と PublicKey クラスは存在しなくなり、いくつかの関数に置き換えられました。たとえば、await generateKeyPair() を使用して鍵ペアを生成することができ、以前の Keypair.generate() の代わりになります。新しい実装では、ネイティブの Ed25519 実装を使用して、JavaScript の Web Crypto API を可能な限り活用しています。 これにより、一部のメソッドが非同期になりますが、Promise に精通している開発者にとっては大きな問題ではありません。###トランザクション送信2.x バージョンでは Transaction と VersionedTransaction クラスは存在しなくなりました。System Program に関連するメソッドも存在しなくなり、他のモジュールからインポートする必要があります。新しいバージョンでは、関数型プログラミングで一般的に使用されるパイプの形式が提供されます。 たとえば、転送関数を実装する場合、Connection を介してトランザクションを開始する代わりに、定義された RPC プロバイダーによって特定の関数が生成されます。 このアプローチでは、コードの量が増えますが、カスタマイズ性が向上します。! [Web3スターターシリーズ:今すぐ@solana/web3.js 2.xをアップグレードして関数型プログラミングを有効にする](https://img-cdn.gateio.im/social/moments-d3e17fab6bb8c485a8bdac5b1e385273)### React のサポート@solana/web3.js プロジェクトには、いくつかの React フックと signIn などの組み込み機能を提供する @solana/react ライブラリも含まれていることは注目に値します。## まとめソラナ Web3.js 2.x バージョンのリリースは、開発チームの継続的な改善へのコミットメントを示しています。新しいバージョンは、開発者にとってより効率的で柔軟性があり、カスタマイズ可能なソラナネットワークとのインタラクション方法を提供し、プラットフォームの採用と発展を促進することが期待されています。
Solana Web3.js 2.x のメジャーアップデート: モジュラー設計により、パフォーマンスとセキュリティが向上
ソラナ Web3.js 2.x バージョン:機能分割と最適化
ソラナ Web3.js は、機能豊富な JavaScript ライブラリで、最近 2.x バージョンがリリースされました。1.x と比較して、新しいバージョンには大きな変更があります。この記事では、主な更新を概説します。
2.x リリースは比較的新しいリリースですが、使用率は高くなく、広く使用されている多くのライブラリはまだ移行されていませんが、これらの変更を事前に知っておくと、将来のアップグレードに備えるのに役立ちます。
! Web3スターターシリーズ:今すぐ@solana/web3.js 2.xをアップグレードして関数型プログラミングを有効にする
バージョン比較
古いバージョンは、すべての機能が @solana/web3.js パッケージに収められており、一般的に使用される多数の操作をカプセル化したクラスベースの設計で、使いやすくなっていました。 ただし、この設計には、機能のごく一部しか使用されていない場合でも、ライブラリ全体がユーザーのデバイスにダウンロードされるなど、いくつかの問題も伴います。
2.x バージョンはコードベースを @solana/accounts、@solana/codecs、@solana/rpc などの複数の小さなモジュールに分割しました。新しいバージョンはクラスベースの実装を放棄し、より単一の関数を使用することで、JavaScript コードの構築時の最適化を促進します。未使用のコードは削除され、ユーザーのデバイスにダウンロードされることはありません。公式の統計によると、新しいバージョンのアプリを使用することで、基本的に 30% のサイズの最適化を得ることができます。
新しいバージョンのモジュール設計では、開発ドキュメントに対する要求が高くなります。 現在、モジュール名には、開発者が必要な機能をすばやく見つけるのに役立つ優れたセマンティクスがあります。 しかし、リリースされたばかりなので、まだ移行されていないプロジェクトが多く、その例も少ないです。
2.x バージョンのもう一つの重要な特徴はゼロ依存です。この特性は一般ユーザーにはあまり影響しないかもしれませんが、安全性の観点から非常に重要です。開発チームは、外部依存とポリフィルの導入を排除し、安全リスクを減らすために、本来の機能をより多く使用することを決定しました。
主な変更点
###接続処理
新しいバージョンは、より関数型の方法で接続を実現しています。例えば、取引を送信する際に、HTTPSリクエストを自動的に発起し、WSS接続を確立し、取引の状態を購読し、取引が確認された後に取引ハッシュを返します。
###キーペア管理
公私鍵に関連する機能に大きな変更があります。1.x バージョンで一般的に使用されていた Keypair と PublicKey クラスは存在しなくなり、いくつかの関数に置き換えられました。たとえば、await generateKeyPair() を使用して鍵ペアを生成することができ、以前の Keypair.generate() の代わりになります。
新しい実装では、ネイティブの Ed25519 実装を使用して、JavaScript の Web Crypto API を可能な限り活用しています。 これにより、一部のメソッドが非同期になりますが、Promise に精通している開発者にとっては大きな問題ではありません。
###トランザクション送信
2.x バージョンでは Transaction と VersionedTransaction クラスは存在しなくなりました。System Program に関連するメソッドも存在しなくなり、他のモジュールからインポートする必要があります。
新しいバージョンでは、関数型プログラミングで一般的に使用されるパイプの形式が提供されます。 たとえば、転送関数を実装する場合、Connection を介してトランザクションを開始する代わりに、定義された RPC プロバイダーによって特定の関数が生成されます。 このアプローチでは、コードの量が増えますが、カスタマイズ性が向上します。
! Web3スターターシリーズ:今すぐ@solana/web3.js 2.xをアップグレードして関数型プログラミングを有効にする
React のサポート
@solana/web3.js プロジェクトには、いくつかの React フックと signIn などの組み込み機能を提供する @solana/react ライブラリも含まれていることは注目に値します。
まとめ
ソラナ Web3.js 2.x バージョンのリリースは、開発チームの継続的な改善へのコミットメントを示しています。新しいバージョンは、開発者にとってより効率的で柔軟性があり、カスタマイズ可能なソラナネットワークとのインタラクション方法を提供し、プラットフォームの採用と発展を促進することが期待されています。