@dynamic-labs-sdk/react-native-embedded-wallet-export

中文文档
1.51.0发布于 2026/11/11TypeScriptESM + CJS近 30 天下载 4298

为动态 WaaS 嵌入钱包安全私钥导出 原生反应。 。 。 .

中文使用文档
文档目录5 节
  1. 安装
  2. 使用量
  3. 显示装入状态
  4. 道具
  5. 警卫

@ 动力- labs- sdk/ 反应- 内嵌- wallet- 导出

为动态 WaaS 嵌入钱包安全私钥导出 原生反应。 。 。 .

导出仪式运行在一个可见,屏幕截图保护的本地 Webview 重叠。 私人密钥完全在WebView的沙盒内制成 文档——它是 永远 所以主机应用程序 JavaScript 无法读取,日志或截取它 。 这是故意的安全 边框:整合 SDK 的开发者无法访问原始密钥.

安装

pnpm add @dynamic-labs-sdk/react-native-embedded-wallet-export

要求数 @dynamic-labs-sdk/client (配置为 React 原住民) 和 a React 连接 DynamicClientWebView 本地模块运出 客户端软件包.

使用量

挂载 <ExportPrivateKey /> 以显示导出覆盖;卸载到 开除 组件拥有覆盖的生命周期.

import { ExportPrivateKey } from '@dynamic-labs-sdk/react-native-embedded-wallet-export';
import { getWalletAccounts } from '@dynamic-labs-sdk/client';
import { isWaasWalletAccount } from '@dynamic-labs-sdk/client/waas';
import { useState } from 'react';
import { Button, View } from 'react-native';

function ExportScreen() {
  const [revealing, setRevealing] = useState(false);
  const walletAccount = getWalletAccounts()[0];

  if (!walletAccount || !isWaasWalletAccount({ walletAccount })) return null;

  return (
    <View>
      <Button title="Reveal private key" onPress={() => setRevealing(true)} />
      {revealing && (
        <ExportPrivateKey
          walletAccount={walletAccount}
          onError={(error) => {
            // Log a non-sensitive representation only — never the raw error,
            // which could carry key material or stack traces.
            const errorType = error instanceof Error ? error.name : typeof error;
            console.warn('Private key export failed', { errorType });
            setRevealing(false);
          }}
        />
      )}
    </View>
  );
}

显示装入状态

ExportPrivateKey 是一个最小的原始: 它使安全箱加上 本地覆盖和信号准备通过 onComplete (一旦钥匙响起就开火) 显示). 装入UI是你的风格, 让你自己的旋转器和隐藏 打开 onComplete。本地覆盖在装入时透明,所以 旋转器放在后面 显示在等待期间.

import { ActivityIndicator, StyleSheet, View } from 'react-native';
import { useState } from 'react';

function ExportWithSpinner({ walletAccount }) {
  const [loading, setLoading] = useState(true);

  return (
    <View style={{ position: 'relative' }}>
      <ExportPrivateKey
        walletAccount={walletAccount}
        onComplete={() => setLoading(false)}
        onError={() => setLoading(false)}
      />
      {loading && (
        <View
          pointerEvents="none"
          style={[
            StyleSheet.absoluteFillObject,
            { alignItems: 'center', justifyContent: 'center' },
          ]}
        >
          <ActivityIndicator size="large" />
        </View>
      )}
    </View>
  );
}

pointerEvents="none" 使旋转器不拦截用于 本地密钥WebView(例如其副本按钮).

道具

Prop类型说明
walletAccountWalletAccountWaaS 钱包账户,其私钥被导出 。 要求.
passwordstring可选密码来解密私钥.
onComplete() => void当密钥显示在上方时调用 。 没有关键材料.
onError(error: unknown) => void要求出口失败。 此错误从未包含密钥材料 .

警卫

  • 密钥只在本地的 WebView 上方显示, 并且从未交叉 jS桥.
  • 覆盖可实现截图/记录保护并禁用网络 检查.
  • 卸载组件会撕下覆盖, 因此显示的密钥不能 超过屏幕要求它.

版本与发布记录

@dynamic-labs-sdk/react-native-embedded-wallet-export 共发布 67 个版本,首次发布于 2026/06/16;过去 12 个月发布了 67 个版本。

版本发布日期距今
1.51.0latest2026/11/112 天前
1.50.02026/11/058 天前
1.49.12026/11/0210 天前
1.49.02026/10/3113 天前
1.48.02026/10/3014 天前
1.47.02026/10/2816 天前

关于 @dynamic-labs-sdk/react-native-embedded-wallet-export 的常见问题

@dynamic-labs-sdk/react-native-embedded-wallet-export 是什么?

为动态 WaaS 嵌入钱包安全私钥导出 原生反应。 。 。 .

如何安装 @dynamic-labs-sdk/react-native-embedded-wallet-export?

在项目目录运行 npm install @dynamic-labs-sdk/react-native-embedded-wallet-export,或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖:react(^18.0.0 || ^19.0.0)、react-native(>=0.73.6)、react-native-webview(>=13.0.0)。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖,Yarn 需要手动安装。

@dynamic-labs-sdk/react-native-embedded-wallet-export 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@dynamic-labs-sdk/react-native-embedded-wallet-export 支持 ESM 还是 CommonJS?

同时提供 ES Module 与 CommonJS 入口,import 和 require() 都可以使用,打包工具会自动选择合适的版本。

@dynamic-labs-sdk/react-native-embedded-wallet-export 可以商用吗?

@dynamic-labs-sdk/react-native-embedded-wallet-export 使用 未声明 许可。package.json 没有声明许可证。没有许可证的代码默认保留全部权利,商用前请联系作者或查看仓库中的 LICENSE 文件。以上为概括,不构成法律意见,请以许可原文为准。

@dynamic-labs-sdk/react-native-embedded-wallet-export 的下载量有多少?

根据 npm 官方下载统计,@dynamic-labs-sdk/react-native-embedded-wallet-export 在 2026/10/13 – 2026/11/11 这 30 天内被下载 4,298 次,日均约 143 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@dynamic-labs-sdk/react-native-embedded-wallet-export 还在维护吗?

最新版本 1.51.0 发布于 2026/11/11(2 天前);至今共发布 67 个版本,其中过去 12 个月发布了 67 个;首次发布于 2026/06/16。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。