用途:协助开发者在 @solana/web3.js(v1.x)与 @solana/kit(原 web3.js 2.0)之间做选择与迁移。
主要能力:给出两库的适用判断(新项目、无 Anchor 依赖、关注包体积与性能时倾向 Kit;使用 Anchor、存量大型代码库、依赖仅支持 v1 时倾向 v1;可混合使用 @solana/compat 渐进迁移);提供 API 映射(Connection→createSolanaRpc、Keypair→createKeyPairSignerFromBytes、new PublicKey→address、new Transaction→createTransactionMessage 等);列出边界情况,如 BigInt 必须用 1_000_000_000n、RPC 调用需 .send()、密钥生成需 await、订阅改用 AsyncIterators 与 AbortController、PublicKey 与 Address 类型不通用、Anchor 生成 v1 类型不兼容。
使用方式:先运行分析脚本 ./scripts/analyze-migration.sh /path/to/project 检测当前 SDK、Anchor 与第三方依赖及需迁移的用法;再统计迁移点数量,据此建议全量迁移(无阻塞且少于 50 处)、渐进迁移(50–200 处,用 @solana/compat)、暂缓或混合方案。
适用场景:Solana 前端与后端项目的 SDK 选型、迁移评估与实施。
限制:Anchor 尚未开箱支持 Kit;迁移工具仍在演进;Kit 错误类型与行为不同,需充分测试;资料未提供具体收费、价格与平台信息。