迁移到 Kit

如果您目前使用的是 @solana/web3.js(旧版)、@solana/wallet-adapter-*, 或早期的 framework-kit 软件包(@solana/client、@solana/react-hooks、 @solana/web3-compat),我们建议迁移到 @solana/kit 插件或 @solana/web3.js v3(或更高版本)。

本页将您已熟悉的概念对应到相应的 Kit 等价实现。

概念映射

web3.js(旧版)/ wallet-adapterKit
new Connection(url)createSolanaRpc(url),或客户端上的 .use(solanaRpc({ rpcUrl }))
PublicKeyAddress — 使用 address("...") 强制转换字符串
KeypairgenerateKeyPairSigner() 或 @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 v3 保留了上述基于类的命名——Connection、Keypair、 Transaction、PublicKey——并将其作为 Kit 内部实现之上的轻量封装,因此 Kit 这一列同样描述了这些类在 v3 底层的实际行为。

来自 web3.js?

如果您维护着一个庞大的 @solana/web3.js(旧版)代码库,并且完全重写为 Kit 并不现实,那么 web3.js v3 就是一座桥梁。请使用 @solana/web3.js@3 安装它。它基于 @solana/kit 的内部实现,重新构建了经典的基于类的 API——Connection、 Keypair、Transaction、PublicKey。 由于它构建于 Kit 之上,互操作性非常紧密:PublicKey 是主要的地址 类型,其 .toBase58() 会返回 Kit 的带品牌标记的 Address 字符串,而 v3 的 Keypair 实现了 Kit 的 KeyPairSigner,因此您可以将其直接传递给 Kit 的 API、插件以及由 Codama 生成的客户端。

v1 交易与 web3.js(旧版)

如果您使用 web3.js 发送 v1 交易,则必须使用 v3 及以上版本。

关于迁移本身,请参阅官方的 web3.js v1 → v3 迁移指南。

钱包

Kit 不使用 wallet-adapter。@solana/kit-plugin-wallet 会自动发现符合 Wallet Standard 的钱包,并通过 client.wallet 和 React hooks 将其暴露出来。现代钱包(Phantom、Solflare、Backpack 等)均通过 Wallet Standard 进行自我声明,因此无需为每个钱包单独安装适配器包。

您也可以使用预构建工具,例如 @solana/connector,它直接使用 Kit 原语来连接钱包。

仍在使用 wallet-adapter?

如果您维护的应用基于 @solana/wallet-adapter-* 构建,且尚未准备好迁移,wallet-adapter 仓库 仍是该技术栈的参考资源。对于所有新项目,建议优先使用 Kit 钱包插件。

下一步

Is this page helpful?

Table of Contents

Edit Page
©️ 2026 Solana 基金会版权所有