如果你来自 @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 hooks
将其暴露出来。现代钱包(Phantom、Solflare、Backpack 等)均通过 Wallet
Standard 进行自我声明,因此无需为每个钱包单独安装适配器包。
您也可以使用预构建工具,例如 @solana/connector,它直接使用 Kit 原语来连接钱包。
仍在使用 wallet-adapter?
如果您维护的应用基于 @solana/wallet-adapter-*
构建,且尚未准备好迁移,wallet-adapter
仓库
仍是该技术栈的参考资源。对于所有新项目,建议优先使用 Kit 钱包插件。
下一步
- Kit 客户端 — 通过插件组装客户端。
- React —
@solana/react绑定与钱包 hooks。 - Next.js 教程 — 完整的端到端应用示例。
Is this page helpful?