> ## Documentation Index
> Fetch the complete documentation index at: https://www.helius.dev/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Миграция с Privy

> Перенесите существующее приложение со встроенным кошельком Privy на Helius Wallet-as-a-Service

Миграция с Privy — это **миграция кода, а не кошельков**. Вы заменяете провайдер и хук Privy на соответствующие компоненты Helius. При этом концепция остается прежней: встроенный некастодиальный кошелек и вход через социальные сети или ключ доступа. Однако существующие кошельки пользователей **не переносятся**: кошельки Privy нельзя импортировать в Turnkey, поэтому каждый пользователь получает **новый встроенный кошелек Helius при первом входе** в ваше приложение.

Еще одно важное отличие — модель оплаты: Privy взимает плату за каждый ежемесячно активный кошелек в дополнение к расходам на RPC, а Helius списывает 200 кредитов за подпись из уже доступных вам [кредитов](/docs/ru/billing/credits).

## Что переносится, а что нет

* **Переносится (ваша интеграция):** провайдер, хук, конфигурация входа и RPC. Это замена кода, описанная в [шагах ниже](#перенос-интеграции), которая обычно занимает несколько часов.
* **Не переносится (кошельки ваших пользователей):** существующие кошельки Privy, ключи и балансы. Turnkey не может импортировать их, поэтому каждый пользователь создает новый встроенный кошелек Helius при первом входе.

<Warning>
  **Если у вас есть 1 000 пользователей Privy со средствами:** после миграции каждый из них войдет
  в систему и получит **новый пустой** встроенный кошелек Helius с другим адресом.
  Балансы Privy останутся в старых кошельках. Перевод средств — это отдельный
  шаг, который пользователь выполняет по вашей инструкции (см. [Кошельки и
  средства пользователей](#кошельки-и-средства-пользователей)). Ни Helius, ни Turnkey не могут переводить
  средства от имени пользователя.
</Warning>

## Соответствие компонентов Privy и Helius WaaS

| Privy | Helius WaaS |
| - | - |
| `PrivyProvider` с `appId` | `HeliusWalletProvider` с `{ apiKey }` |
| `usePrivy()` — `login`, `logout`, `user` | `useHeliusWallet()` — `login`, `logout`, `user`, `status` |
| `useSolanaWallets()` / встроенный кошелек | `address`, `signTransaction`, `signAndSendTransaction`, `signMessage` из того же хука |
| Способы входа задаются в панели управления Privy | Способы входа задаются в панели управления Helius (**WaaS → Configuration**) |
| `exportWallet()` | `exportWallet()` |
| Оплата за ежемесячно активные кошельки + отдельный провайдер RPC | Единый счет: 200 кредитов за подпись из кредитов Helius, RPC включен |

## Перенос интеграции

Выполните следующие шаги, чтобы заменить Privy на Helius в своем коде. Они не затрагивают кошельки конечных пользователей — это описано [ниже](#кошельки-и-средства-пользователей).

<Steps>
  <Step title="Swap the provider">
    Замените `PrivyProvider` на `HeliusWalletProvider` и передайте ключ API Helius вместо `appId` от Privy. См. раздел [Настройка](/docs/ru/waas/quickstart#настройка).
  </Step>

  <Step title="Swap the hook">
    Замените вызовы `usePrivy()` / `useSolanaWallets()` на `useHeliusWallet()`. `login`, `logout`, `user` и `exportWallet` имеют прямые аналоги; функции подписи доступны через тот же хук (`signTransaction`, `signAndSendTransaction`, `signMessage`).
  </Step>

  <Step title="Move auth config to the dashboard">
    Настройте способы входа в панели управления в разделе **WaaS → Configuration**, а не в свойствах провайдера. См. раздел [Настройка способов входа](/docs/ru/waas/configuration#настройка-способов-входа).
  </Step>

  <Step title="Point RPC at Helius">
    Отправка уже выполняется через Helius. Удалите конфигурацию отдельного провайдера RPC и используйте `connection` / `rpcUrl` из хука либо добавьте [обработчик маршрута](/docs/ru/waas/quickstart#настройка) для оптимизированного через Sender включения транзакций в блок.
  </Step>
</Steps>

## Кошельки и средства пользователей

При первом входе после выпуска обновления каждый пользователь получает **совершенно новый встроенный кошелек Helius** с нулевым балансом и адресом, отличным от адреса кошелька Privy. Старые кошельки Privy и средства в них остаются без изменений.

Если пользователям нужно сохранить существующие балансы, запланируйте **окно миграции**:

<Steps>
  <Step title="Surface the new address">
    Покажите каждому вошедшему пользователю его новый адрес Helius (`address` из `useHeliusWallet()`).
  </Step>

  <Step title="Have users move their funds">
    Пользователи переводят средства из старого кошелька Privy на новый адрес Helius. Каждый пользователь должен выполнить это действие самостоятельно. Ни Helius, ни Turnkey не могут перевести средства от его имени.
  </Step>

  <Step title="Retire the old integration">
    После перехода пользователей на кошельки Helius удалите SDK Privy.
  </Step>
</Steps>

<Note>
  **Могут ли пользователи просто продолжить использовать существующий кошелек?** Нет, он не может
  заменить встроенный кошелек. Внешний кошелек предлагается как
  **способ входа**: он аутентифицирует пользователя для доступа к встроенному кошельку Helius, но
  не управляет ключами внешнего кошелька напрямую. Подписание непосредственно через
  внешний кошелек полностью обходит Helius — без подписания Turnkey и учета использования,
  поэтому он не заменяет встроенный кошелек, на котором работает ваше приложение.
</Note>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.