Интеграция с Privy
Privy — библиотека для onboarding пользователей в Web3 приложения без требования иметь crypto кошелёк. Пользователь заходит через email, Google, Twitter, Discord или номер телефона — Privy создаёт для него embedded wallet за кулисами. Crypto-native пользователи подключают MetaMask, Coinbase Wallet, WalletConnect как обычно. Обе группы работают в одном приложении.
Ключевое решение Privy: embedded wallet хранится в браузере пользователя через threshold encryption, где один шард у Privy (в их HSM), один у пользователя (в localStorage, защищён passprase). Приватный ключ не покидает клиент в plaintext, Privy не имеет доступа к средствам.
Быстрая интеграция
Установка и базовая настройка:
npm install @privy-io/react-auth
import { PrivyProvider } from '@privy-io/react-auth'
export default function App() {
return (
<PrivyProvider
appId="your-privy-app-id"
config={{
loginMethods: ['email', 'google', 'wallet'],
appearance: { theme: 'dark', accentColor: '#6366f1' },
embeddedWallets: {
createOnLogin: 'users-without-wallets', // автосоздание для email/social users
noPromptOnSignature: false,
},
defaultChain: base,
supportedChains: [mainnet, base, arbitrum],
}}
>
{children}
</PrivyProvider>
)
}
import { usePrivy, useWallets } from '@privy-io/react-auth'
function WalletButton() {
const { login, authenticated, user, logout } = usePrivy()
const { wallets } = useWallets()
if (!authenticated) return <button onClick={login}>Войти</button>
const embeddedWallet = wallets.find(w => w.walletClientType === 'privy')
const externalWallet = wallets.find(w => w.walletClientType !== 'privy')
return <div>{user.email?.address} — {embeddedWallet?.address}</div>
}
Когда использовать Privy
Privy оптимален для приложений, где целевая аудитория — не crypto-native пользователи. Gaming, social apps, loyalty программы, NFT маркетплейсы для массовой аудитории. Если аудитория — DeFi трейдеры или developers — стандартный WalletConnect достаточен.
Ограничения: Privy — централизованный сервис ($0 до 100 MAU, далее платно). Embedded wallet зависит от доступности Privy инфраструктуры. Для приложений с требованием к decentralization — нужны альтернативы (Dynamic.xyz, Web3Auth, Turnkey).
Интеграция Privy в существующий React проект — 1-3 дня. Кастомный UI и backend верификация пользователей — ещё 2-5 дней.







