本文假设你已经创建了基本的 Expo 项目。创建方法请参考 Expo 项目创建:
Windows、
Mac。
本文介绍如何在 React Native(Expo)应用中接入并使用 Reown WalletKit。这个库可以帮助开发者在应用中轻松实现数字钱包功能,例如连接钱包、查看交易记录和身份验证。接入 WalletConnect 之前,可以参考这篇
文章,了解如何在 React Native 中创建区块链钱包。
Reown 是一家以用户体验为核心的公司,提供 AppKit 和 WalletKit 工具包,帮助所有构建链上应用的人改善用户体验。(来源:
Reown 官网↗)
Reown 提供两类 SDK。
AppKit
是用于构建流畅链上体验的综合 SDK,提供电子邮件和社交账号登录、Gas 费赞助、多链支持、法币入金、兑换、用户洞察以及接入 600 多个钱包等功能。
WalletKit
是用于跨区块链连接钱包的开源 SDK,提供一键认证、安全交易签名、防钓鱼、批量交易和 Paymaster 等高级链上功能。
简单来说,AppKit 用来构建 DApp,WalletKit 用来连接钱包。本文将介绍如何使用
WalletKit
为 React Native 应用添加数字钱包功能。
1. 安装 Reown WalletKit 软件包 🔗
npm 사용 시npm install @reown/walletkit @walletconnect/react-native-compat
npm install @react-native-async-storage/async-storage @react-native-community/netinfo react-native-get-random-values fast-text-encoding
npm install @walletconnect/jsonrpc-types --dev
yarn 사용 시yarn add @reown/walletkit @walletconnect/react-native-compat
yarn add @react-native-async-storage/async-storage @react-native-community/netinfo react-native-get-random-values fast-text-encoding
yarn add @walletconnect/jsonrpc-types --dev
如果使用的是
Expo 项目
,请另外执行以下命令。
npx expo install expo-application
运行 Reown 需要 project_id。为此,先创建一个 Reown 项目。
登录 Reown↗
按提示创建项目后,在控制台确认项目 ID。

Reown 项目 ID
至此,接入所需的配置已经完成。接下来在应用中编写接入 WalletKit 的代码。
🖐️
必须先导入 @walletconnect/react-native-compat,再导入所有 @reown/* 依赖。
import '@walletconnect/react-native-compat'
// Other imports...
首先创建空白界面,然后使用
WalletKit.init 初始化 WalletKit。将 Reown 提供的 Core 对象传给 core 属性,并在 metadata 属性中设置钱包名称、描述、图标及重定向 URL 等。WalletKit.init 方法返回 Promise,初始化完成后即可使用返回的 WalletKit 对象。这里通过 useState 将 WalletKit 对象作为状态管理。
Core 的 projectId 请使用
创建 Reown 项目时获得的项目 ID。
/app/index.tsximport '@walletconnect/react-native-compat';
import { WalletKit } from '@reown/walletkit';
import { WalletKit as WalletKitType } from '@reown/walletkit/dist/types/client';
import { Core } from '@walletconnect/core';
import { useEffect, useState } from 'react';
import { Text } from 'react-native';
import { SafeAreaView } from 'react-native-safe-area-context';
const core = new Core({
projectId: 'your_project_id', // reown 프로젝트 ID
});
const App = () => {
const [walletKit, setWalletKit] = useState<WalletKitType>();
useEffect(() => {
WalletKit.init({
core,
metadata: { // 지갑 메타데이터 (본인 상황에 맞게 수정)
name: 'Demo React Native Wallet Promlee',
description: 'Demo RN Wallet to interface with Dapps',
url: 'www.promleeblog.com',
icons: ['https://your_wallet_icon.png'],
redirect: {
native: 'promleewallet://',
},
},
}).then((kit) => {
setWalletKit(kit);
});
}, []);
return (
<SafeAreaView style={{ padding: 20 }}>
<Text>{walletKit?.metadata.name}</Text>
</SafeAreaView>
);
};
export default App;
这个示例在 WalletKit 初始化之后,通过 Text 简单地显示元数据。现在运行应用,就能看到钱包名称出现在屏幕上。
本文介绍了如何在 React Native(Expo)应用中接入并使用 Reown WalletKit。通过 Reown WalletKit,可以轻松在应用中实现数字钱包功能,从而改善用户体验,让用户更方便地使用区块链服务。