迁移内容与不迁移内容
- **迁移(您的集成):**提供商、钩子、登录配置和 RPC。这是下面步骤中的代码替换——通常需要几个小时的工作。
- **不迁移(您的用户的钱包):**现有的 Privy 钱包、密钥和余额。Turnkey 无法导入它们,因此每个用户在首次登录时创建一个新的 Helius 内嵌钱包。
Privy 到 Helius WaaS 的映射
迁移您的集成
这些步骤将您的代码从 Privy 转换为 Helius。其中没有涉及最终用户的钱包——这是在下面中介绍的。1
替换提供商
用
HeliusWalletProvider 替换 PrivyProvider,并传递您的 Helius API 密钥而不是您的 Privy appId。参见设置。2
替换钩子
将
usePrivy() / useSolanaWallets() 调用替换为 useHeliusWallet()。login,logout,user 和 exportWallet 直接映射;签名移到同一个钩子 (signTransaction, signAndSendTransaction, signMessage)。3
将认证配置移动到仪表板
在仪表板中配置您的登录方法于 WaaS → Configuration 下,而不是在提供商属性中——参见配置登录方法。
4
将 RPC 指向 Helius
发送已通过 Helius 路由。丢弃独立的 RPC 提供商配置,并使用来自钩子的
connection / rpcUrl,或添加路由处理程序以优化发送者着陆。您的用户钱包和资金
在您进行切换后首次登录时,每个用户会获得一个全新的嵌入式 Helius 钱包——与他们的 Privy 钱包不同的地址,余额为零。旧的 Privy 钱包及其资金保持不变。 如果您需要用户保留其现有余额,请规划一个迁移窗口:1
显示新地址
向每个登录用户展示他们的新 Helius 地址 (
address 来自 useHeliusWallet())。2
让用户转移资金
用户将资金从旧的 Privy 钱包转移到他们的新 Helius 地址。这是一项每个用户自行发起的操作——无论是 Helius 还是 Turnkey 都不能代表他们转移资金。
3
退役旧的集成
一旦用户使用他们的 Helius 钱包,请移除 Privy SDK。
用户不能继续使用他们的现有钱包吗? 不能替代嵌入钱包。外部钱包作为登录方法提供——它将用户认证到 Helius 嵌入钱包中,而不是直接操作外部钱包的密钥。直接从外部钱包签名将完全绕过 Helius(没有 Turnkey 签名,无法计量),因此不能替代您的应用程序所运行的嵌入钱包。