Zum Hauptinhalt springen
Die Migration von Privy ist eine Code-Migration, keine Wallet-Migration. Du ersetzt den Provider und Hook von Privy durch die entsprechenden Komponenten von Helius. Das Grundkonzept bleibt gleich: eingebettete, nicht verwahrte Wallets und die Anmeldung über soziale Konten oder Passkeys. Die bestehenden Wallets deiner Nutzer werden jedoch nicht übernommen: Privy-Wallets lassen sich nicht in Turnkey importieren. Deshalb erhält jeder Nutzer bei der ersten Anmeldung in deiner App eine neue eingebettete Helius-Wallet. Auch das Abrechnungsmodell ändert sich grundlegend: Privy berechnet jede monatlich aktive Wallet zusätzlich zu deinem RPC. Bei Helius zahlst du dagegen 200 Credits pro Signatur über die bereits vorhandenen Credits.

Was migriert wird – und was nicht

  • Wird migriert (deine Integration): Provider, Hook, Anmeldekonfiguration und RPC. Dabei tauschst du den Code wie in den folgenden Schritten beschrieben aus. Das dauert normalerweise nur wenige Stunden.
  • Wird nicht migriert (die Wallets deiner Nutzer): bestehende Privy-Wallets, Schlüssel und Guthaben. Turnkey kann sie nicht importieren. Daher erstellt jeder Nutzer bei der ersten Anmeldung eine neue eingebettete Helius-Wallet.
Wenn du 1.000 Privy-Nutzer mit Guthaben hast: Nach der Migration meldet sich jeder Nutzer an und erhält eine neue, leere eingebettete Helius-Wallet mit einer anderen Adresse. Die Privy-Guthaben bleiben in den alten Wallets. Das Übertragen der Guthaben ist ein separater, vom Nutzer initiierter Schritt, den du koordinierst (siehe Wallets und Guthaben deiner Nutzer). Weder Helius noch Turnkey können Guthaben im Namen eines Nutzers übertragen.

Zuordnung von Privy zu Helius WaaS

Migriere deine Integration

Mit diesen Schritten stellst du deinen Code von Privy auf Helius um. Die Wallets der Endnutzer bleiben dabei unberührt. Sie werden weiter unten behandelt.
1

Swap the provider

Ersetze PrivyProvider durch HeliusWalletProvider und übergib deinen Helius API key anstelle deiner Privy appId. Weitere Informationen findest du unter Einrichtung.
2

Swap the hook

Ersetze Aufrufe von usePrivy() / useSolanaWallets() durch useHeliusWallet(). login, logout, user und exportWallet lassen sich direkt zuordnen. Das Signieren erfolgt über denselben Hook (signTransaction, signAndSendTransaction, signMessage).
3

Move auth config to the dashboard

Konfiguriere deine Anmeldemethoden im Dashboard unter WaaS → Configuration statt in den Provider-Props. Weitere Informationen findest du unter Anmeldemethoden konfigurieren.
4

Point RPC at Helius

Das Senden läuft bereits über Helius. Entferne die Konfiguration deines eigenständigen RPC-Providers und verwende connection / rpcUrl aus dem Hook. Alternativ kannst du den Route-Handler hinzufügen, um die Aufnahme mit Sender zu optimieren.

Wallets und Guthaben deiner Nutzer

Wenn du die Umstellung veröffentlichst, erhält jeder Nutzer bei der ersten Anmeldung eine vollständig neue eingebettete Helius-Wallet. Sie hat eine andere Adresse als die Privy-Wallet und ein Guthaben von null. Die alten Privy-Wallets und ihre Guthaben bleiben unverändert. Wenn deine Nutzer ihre bestehenden Guthaben behalten sollen, plane ein Migrationsfenster:
1

Surface the new address

Zeige jedem angemeldeten Nutzer seine neue Helius-Adresse an (address aus useHeliusWallet()).
2

Have users move their funds

Die Nutzer übertragen ihr Guthaben von ihrer alten Privy-Wallet an ihre neue Helius-Adresse. Jeder Nutzer muss diese Aktion selbst initiieren. Weder Helius noch Turnkey können das Guthaben in seinem Namen übertragen.
3

Retire the old integration

Entferne das Privy SDK, sobald die Nutzer ihre Helius-Wallets verwenden.
Können Nutzer nicht einfach ihre bestehende Wallet weiterverwenden? Nicht als Ersatz für die eingebettete Wallet. Eine externe Wallet wird als Anmeldemethode angeboten. Sie authentifiziert einen Nutzer für eine eingebettete Helius-Wallet, greift aber nicht direkt auf die Schlüssel der externen Wallet zu. Das direkte Signieren mit einer externen Wallet würde Helius vollständig umgehen: keine Signatur über Turnkey und keine Verbrauchserfassung. Daher ist sie kein Ersatz für die eingebettete Wallet, auf der deine App basiert.