app 目录中的文件进行开发。本项目使用 基于文件的路由。
该仓库还有一个
demo 分支,如果您想先查看应用的完整版本,可以切换到该分支。前置条件
- Node.js
- NPM
- 一个 Privy 账户
- 一个 Pimlico 账户
Android
Android
- Android Studio(API 版本 35 及以上)
- 为 Expo 设置 Android Studio 的指南见 此处
设置 Privy 账户
设置 Privy 账户
- 创建应用:


- 设置登录方式:

- 启用邮箱:

- 启用 “Automatically create embedded wallets on login” 并选择 “EVM Wallets”:

- 在 Socials 中禁用所有项。
- 前往 “Advanced” 并确保只启用 “Prioritize options displayed” 下的 “Web2: Email, SMS, and socials”:

还需要一些其他步骤,我们将在项目依赖安装完成后继续。
开始
该模板还有一个
demo 分支,您可以切换到该分支查看演示项目。您可以使用以下命令切换:安装依赖
设置环境变量
-
创建
.env.example的副本: -
向其中添加以下环境变量
如何获取 EXPO_PUBLIC_PRIVY_APP_ID
如何获取 EXPO_PUBLIC_PRIVY_APP_ID
- 前往您的 Privy 仪表盘,点击您 Privy 应用的
Home,然后点击Retrieve API keys。

- 您将在
API keys下找到App ID。

如何获取 EXPO_PUBLIC_PRIVY_CLIENT_ID
如何获取 EXPO_PUBLIC_PRIVY_CLIENT_ID
- 前往您的 Privy 仪表盘,点击您 Privy 应用的
Home,然后点击Retrieve API keys。

- 点击顶部的
Clients标签,然后点击Edit。

- 在
Allowed app identifiers下粘贴应用 bundle 的名称并点击Add。
app.json. For Android, it is the package property. For iOS, it is the bundleIdentifier property.
- 复制
Client ID并将其用作EXPO_PUBLIC_PRIVY_CLIENT_ID的值。

如何获取 EXPO_PUBLIC_PIMLICO_BUNDLER_URL
如何获取 EXPO_PUBLIC_PIMLICO_BUNDLER_URL
- 注册 Pimlico 并前往 “API Keys”:

- 创建新的 API key:

- 点击 “RPC URLs”:

- 搜索 Monad Testnet 并复制该 URL。将其用作
EXPO_PUBLIC_PIMLICO_BUNDLER_URL:

启动应用
在 Expo Go 应用中或本地启动应用。 在 Expo Go 应用中:-
iOS:
-
Android:
-
iOS:
-
Android:
模板文件夹结构
发送赞助交易
下面是一个使用 useSmartWallet hook 发送赞助交易的示例。您可以修改代码来发送自己的交易,或将其集成到现有项目中。发送批量赞助交易
您也可以发送批量赞助交易:useSmartWallet.tsx 了解实现细节。
修改应用名称
| iOS | Android |
|---|---|
app.json 中的 name 属性:
app.json
修改应用图标和启动画面
应用图标
| iOS | Android |
|---|---|
assets/images/icon.png 来编辑应用图标。
推荐的应用图标尺寸为 1024x1024。
如果您将图标文件命名为其他名称,请相应地编辑 app.json 中的 icon 属性。
app.json
启动画面
| iOS | Android |
|---|---|
![]() | ![]() |
app.json 中的 splash 对象来修改启动画面。
app.json
修改字体
您可以在assets 内创建一个 fonts 文件夹来存放您的自定义字体文件。
要使用自定义字体,请在 app/_layout.tsx 中加载字体。
示例:
app/_layout.tsx
修改深度链接方案
编辑app.json 中的 scheme 属性以选择您的自定义深度链接方案:
app.json
rnwalletapp,则轻点 rnwalletapp:// URL 时将打开您的应用。
这是一个构建时配置,在 Expo Go 中无效。
编辑登录页面
您可以通过编辑screens/Home.tsx 来编辑登录页面。
在 demo 分支中,我们最终添加了更复杂的功能,这就是 Home.tsx 变成一个 文件夹 的原因。
修改 package/bundle 标识符
将应用发布到应用商店时,您需要拥有唯一的 package/bundle 标识符,可以在app.json 中设置。
app.json
查看演示应用
如果您想在开始开发之前尝试应用的完整版本,请切换到demo 分支:
演示应用文件夹结构
了解更多
要了解使用 Expo、Privy 和 Monad 开发项目的更多信息,请查看以下资源:- Expo 文档 | 指南 | 教程
- Privy:创建钱包 | 发送交易 | 签署交易
- Permissionless:smart wallet client | 发送交易
- Monad:支持的工具和基础设施






