@solana/web3.js(v1)、@solana/wallet-adapter-*、または以前のframework-kitパッケージ(@solana/client、@solana/react-hooks、@solana/web3-compat)から移行する場合、これらのアプローチは廃止されています。新しいアプリは@solana/kitとkitプラグインを直接使用して構築します。このページでは、すでにご存知の概念をKitの対応する概念に対応付けています。
概念の対応表
| web3.js v1 / wallet-adapter | Kit |
|---|---|
new Connection(url) | createSolanaRpc(url)、またはクライアント上の.use(solanaRpc({ rpcUrl })) |
PublicKey | Address — address("...")で文字列を変換 |
Keypair | generateKeyPairSigner() または@solana/kit-plugin-signerプラグイン |
SystemProgram.transfer(...) | @solana-program/systemのgetTransferSolInstruction(...) |
LAMPORTS_PER_SOL 演算 | @solana/kitのlamports(...) |
Transaction / VersionedTransaction | トランザクションプランナーによって構築・パックされるトランザクションメッセージ |
sendAndConfirmTransaction(...) | client.sendTransaction([...])(プランナーが署名・送信・確認を行う) |
@solana/wallet-adapter-* | @solana/kit-plugin-wallet + Wallet Standard検出 |
web3.jsからの移行
大規模な@solana/web3.js
v1コードベースを管理しており、Kitへの完全な書き換えがまだ現実的でない場合、web3.js
v3がブリッジとなります。現在は@solana/web3.js@rc(3.0.0-rcライン)としてリリースされており、@solana/kitの内部実装をベースに、従来のクラスベースAPI(Connection、Keypair、Transaction)を再構築しています。Kitの上に構築されているため、相互運用性は高く、PublicKeyはAddressの非推奨エイリアスとなっており、v3のKeypairは構造的にKitのKeyPairSignerを満たすため、Kit
API、プラグイン、Codamaが生成したクライアントに直接渡すことができます。
v3はまだリリース候補です — 正確なバージョンを固定し、RC間でAPIが変更される可能性を想定してください。これはレガシー相互運用のためのパスであり、新規開発のデフォルトではありません。新しいアプリはKitを直接使用して構築してください。移行については、公式のweb3.js v1 → v3 移行ガイドをご参照ください。
ウォレット
Kitはwallet-adapterを使用しません。@solana/kit-plugin-walletはWallet
Standardウォレットを検出し、client.walletと
Reactフックを通じて公開します。最新のウォレット(Phantom、Solflare、Backpack、その他)はWallet
Standardを通じて自身を通知するため、ウォレットごとのアダプターパッケージは不要です。
@solana/connectorのような既成ツールを使用することもできます。このツールはKitのプリミティブを直接使用してウォレットに接続します。
まだwallet-adapterをお使いですか?
@solana/wallet-adapter-*で構築されたアプリを管理しており、まだ移行の準備ができていない場合は、wallet-adapter
リポジトリがそのスタックのリファレンスとして引き続き利用できます。新しいものにはKitウォレットプラグインをお勧めします。
次のステップ
- Kitクライアント — プラグインからクライアントを構築する。
- React —
@solana/reactバインディングとウォレットフック。 - Next.jsチュートリアル — フルアプリのエンドツーエンド。
Is this page helpful?