本頁面使用機器翻譯自英語,可能包含錯誤或不清楚的語言。如需最準確的信息,請參閱英文原文。由於更新頻繁,部分內容可能與英文原文有出入。請加入我們在 Crowdin 上的努力,幫助我們改進本頁面的翻譯。 (Crowdin translation page, Contributing guide)
將 Privy 整合到 dApp 中

導言
Privy是一個簡單的錢包工具包,用於在 web3 中進行漸進式身份驗證。 有了 Privy,開發人員可以使用傳統和 web3 身份驗證方法登錄用戶,實現漸進式登錄,提高用戶轉化率。
在本指南中,您將使用 Privy 錢包工具包將 Metamask、Coinbase Wallet 等外部錢包以及 Google、Twitter、Email 等社交登錄信息整合到您在 Kaia 網絡上構建的 dApp 中。
先決條件
- 一個正在運行的 Next.js 項目。 您可以克隆 Privy 提供的 create-next-app 模板來學習本教程。
- 來自Privy 開發者控制檯的應用程序ID
開始
克隆模板是一個簡單的 Next.js Privy Auth 入門模板,包含三個主要核心文件:
- index.tsx:該文件處理用戶的登錄驗證。
- app.tsx:該文件處理 Privy SDK 的初始化,並用 PrivyProvider 封裝我們的組件。
- dashboard.tsx:這是用戶登錄後重定向到的頁面。 它可以測試每種登錄方法(谷歌、Twitter、電子郵件、錢包)。 對於本指南來說,更重要的是,我們將在使用 MetaMask 等外部錢包連接時執行某些功能。 這些功能包括:獲取用戶餘額、向另一個賬戶發送 KAIA、部署合約、與智能合約交互。
安裝
要在 dApp 中使用 Privy,必須先安裝所需的庫和 SDK。 因此,您需要設置 ethers.js,以及 Privy React Auth SDK。 您可以將 Privy 與 etherthers.js、web3.js、viem 庫一起使用,與 Kaia 區塊鏈進行通信。 在本指南中,我們將使用 ethers.js 庫。
打開項目文件夾,運行下面的命令安裝所需的庫和 SDK:
npm install —save @privy-io/react-authnpm install --save ethers
初始化特權和特權提供程序
成功安裝所需的庫後,接下來就是用PrivyProvider來封裝組件。
PrivyProvider 應封裝任何將使用 Privy SDK 的組件。 為此,請打開 _app.tsx 文件並粘貼下面的代碼:
import '../styles/globals.css';import type {AppProps} from 'next/app';import Head from 'next/head';import {PrivyProvider} from '@privy-io/react-auth';import {useRouter} from 'next/router';function MyApp({Component, pageProps}: AppProps) { const router = useRouter(); return ( <> <Head> <title>Privy Auth Starter</title> <meta name="description" content="Privy Auth Starter" /> </Head> <PrivyProvider appId={process.env.NEXT_PUBLIC_PRIVY_APP_ID || ''} onSuccess={() => router.push('/dashboard')} > <Component {...pageProps} /> </PrivyProvider> </> );}export default MyApp;
值得注意的是,特權提供者具有以下屬性:
- 您的
appID需要在 .env 文件中更新。 您可以使用 Privy 為測試目的提供的以下 "測試應用程序 ID:clpispdty00ycl80fpueukbhl "開始使用。 - 一個可選的
onSuccess回調,用戶成功登錄後執行該回調。 - 一個可選的 "createPrivyWalletOnLogin "布爾值,用於配置是否希望用戶在登錄時創建嵌入式錢包。
- 可選配置屬性,用於自定義上機體驗。