# @daimo/sdk 中文文档

规范地址：https://npmcn.com/package/%40daimo/sdk/

版本：1\.8\.8
npm 元数据更新时间：2026-09-16T20:24:56.582Z
中文译文更新时间：2026-11-11T09:01:57.879Z
软件包许可：BSD-2-Clause

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40daimo/sdk
原文对照：https://npmcn.com/package/%40daimo/sdk/?lang=original

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：2.4 MB，808 个文件
- 模块格式：ES Module
- TypeScript 类型：包内自带
- 运行依赖：11 个
- peer 依赖：react 18\.x \|\| 19\.x，qrcode ^1\.5\.0，react-dom 18\.x \|\| 19\.x，react-native \>=0\.72，@solana/web3\.js ^1\.95\.4，react-native-webview \>=13\.0\.0
- 首次发布：2026-02-28T15:41:36.685Z
- 最新版本发布：2026-09-16T20:24:56.413Z
- 近 30 天下载量：6378（2026-10-11 至 2026-11-09，npm 官方下载统计）
- 已发布版本数：35（近 12 个月 35 个）

## 中文简介

Daimo SDK - 稳定币应用程序通用坡道

## 安装

```sh
npm install @daimo/sdk
```

也可以使用：`pnpm add @daimo/sdk`、`yarn add @daimo/sdk`、`bun add @daimo/sdk`

## README

![Daimo](https://daimo.com/og-image.png)

# 戴莫·SDK

```
pnpm add @daimo/sdk
```

见 [dos.daimo.com (英语)](https://docs.daimo.com/) 为了更多.

### 入境点

-   `@daimo/sdk/common` - 会话类型、 API 计划和常数
-   `@daimo/sdk/client` ——瘦 REST 客户端包装 `/v1/*` Daimo API, 对自定义 UI 有用
-   `@daimo/sdk/web` - 反应模式(`<DaimoModal>`)和内置存款UI的钩子
-   `@daimo/sdk/native` - 反应原生矿床UI(`<DaimoFrameRN>`结束 `react-native-webview`

### 样式

导入 `@daimo/sdk/web/theme.css` 用于内置网络用户界面。 分布式样式表命名空间 : `daimo-` 这样它就可以与主机应用的"Tailwind"构建共存.

`@daimo/sdk/web/styles.css` 仍可作为等同的别名.

### 退出部件

`DaimoWithdrawal` 收集收件人地址或 ENS 名称、 目的地 和目的网络,然后请您的服务器创建 打开会话。 把它包起来 `DaimoSDKProvider` 因此 ENS 分辨率和会话 投票使用提供者配置的Daimo API URL.

ENS工作时没有附加配置. 这个 `createSession` 必须回调 用您的 Daimo API 密钥调用您的认证后端; 永远不要曝光该密钥 在浏览器代码中.

```tsx
import "@daimo/sdk/web/theme.css";
import { DaimoSDKProvider, DaimoWithdrawal } from "@daimo/sdk/web";

export function Withdrawal() {
  return (
    <DaimoSDKProvider>
      <DaimoWithdrawal
        fundingMode="injected-wallet"
        contactStorageScope={currentUser.id}
        theme={accountTheme}
        createSession={(input) =>
          fetch("/api/withdrawal/session", {
            method: "POST",
            headers: { "Content-Type": "application/json" },
            body: JSON.stringify(input),
          }).then((response) => response.json())
        }
      />
    </DaimoSDKProvider>
  );
}
```

`contactStorageScope` 必须是稳定的认证用户或账户ID。 这个 部件用它来隔离本地存储中保存的目的地 。 ENS总是 解析在 Ethereum 主网上, 无论选择的目的地网络. 将后端返回的组织主题通过 `theme`; 数据 部件在显示收件人用户界面前等待自定义样式表。 明确 `themeMode` 道具覆盖主题的光/ 暗/ 系统模式,同时保留 它的样式表.

过 `resolveEns` 仅在您有意需要自定义 ENS 时 决议。 回调收到一个ENSIP-15的常态化名称并带走 胜过戴莫主播的解答者 在您身后保留已支付的 RPC 证书 拥有经认证的后端. 使用 `connectToAddress` 当主机已连接 EVM 钱包时 。 单位 注入的wallet 流,设置 `walletSource="evm"` 排除仅索拉纳语 钱包,只使用双链钱包中的 EVM 提供者。 默认是 `"all"`这保留了EVM和索拉纳的混合资金.

手动模式从未提交 EIP-1193 提供者交易 。 主机拥有 通过 `sendManualTransaction`,而SDK则保留接收器 复用、重复投递保护、复试、投票和生命周期召回. 选择一个手工量模式 :

-   过 `amountUnits` 用于正数固定小数。 SDK提交来 选择目的地后立即; 此变体不能同时使用 `connectToAddress`。 。 。 .
-   双关 `amountUnits` 财务报告和审定财务报表 `connectToAddress` 通用美元条目。 SDK这个 接受 `$0.01+` 最多有两个小数位.
-   奥米 `amountUnits` 并通过一个EVM `connectToAddress` 用于只读符号和 平衡选择。 回调收到选中的源代码和精确度 余额封存的原始金额.

```tsx
<DaimoWithdrawal
  fundingMode="manual"
  connectToAddress={embeddedWallet.address}
  contactStorageScope={currentUser.id}
  createSession={createWithdrawalSession}
  sendManualTransaction={async ({ receiverAddress, source }) => {
    if (!source) throw new Error("source token is required");
    const txHash = await embeddedWallet.sendToken({
      chainId: source.token.chainId,
      token: source.token.token,
      to: receiverAddress,
      amount: source.amount,
    });
    return { txHash };
  }}
/>
```

完整的适配器请求是:

```ts
type DaimoWithdrawalManualTransferRequest = {
  sessionId: string;
  receiverAddress: Address;
  destination: DaimoWithdrawalDestination;
  expiresAt: number;
  amountUnits: string;
  source?: {
    address: Address;
    token: DaimoPayToken;
    amount: bigint;
  };
};
```

`amountUnits` 是精确的固定或SDK入小数字符串. `source` 实值 总是在地址识别路径中显示, 并省略固定或通用的 手动输入. `source.amount` 是确切的原始值。 只在 提交或移交交易,并仅在重试时拒绝 同一会话是安全的。 重试重用相同的隐藏接收器 。 归还 交易散列让民意测验更早发现转移.

对于通用手动条目,省略地址:

```tsx
<DaimoWithdrawal
  fundingMode="manual"
  contactStorageScope={currentUser.id}
  createSession={createWithdrawalSession}
  sendManualTransaction={async ({
    receiverAddress,
    amountUnits,
    expiresAt,
  }) => {
    const txHash = await hostWallet.sendStablecoin({
      to: receiverAddress,
      amountUnits,
      expiresAt,
    });
    return { txHash };
  }}
/>
```

过 `amountUnits="25.00"` 改为固定手工提交的同一部分. `evmProvider` 每个手动变体都禁止.

### 账户注册互动

内置账户的流量比版本的要薄 `EnrollmentInteraction` 合同。 服务器选择下一个语义 交互、本地化副本、打印格式修订、不透明的提交行动、, 主持回归行为 投票政策 SDK详尽地规定 表格、检察官办公室/转发、账号核对、主机操作、等待/审查、, 复试,终点站,以及活动状态,没有在铁路或供应商上分出.

`DaimoClient.account.getEnrollmentInteraction` 财务报告和审定财务报表 `submitEnrollmentAction` 是主要的客户方法。 年长者 `startEnrollment` 和专用形式/OTP方法在 支持兼容性窗口。 内置渲染器掉回那些 仅当服务器尚未曝光添加剂通用的 HTTP 路径 路径; 在一个完整支持的释放窗口显示否后删除适配器 a 遥测中的缺失倒计时.

### 暂时无法使用的方法

一个有线导航节点可以包括 `temporarilyUnavailable: true`方法 可选择。 模式在账户前显示临时退出消息 登录后让用户返回付费拾取器。 以往付款的存款 仍然打开他们的状态页面.

模块入学申请包括可选 `session: { sessionId, clientSecret }` 上下文,这样服务器就可以应用目的地 Org 的铁路暂停。 全账户 客户端的调用可以省略此字段的相容性. 部署接受的服务器 在推出这个SDK之前 存款创建总是由 服务器; 仅导航旗不是访问控制.

## 常见问题

### @daimo/sdk 是什么？

Daimo SDK - 稳定币应用程序通用坡道

### 如何安装 @daimo/sdk？

在项目目录运行 npm install @daimo/sdk，或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖：react（18\.x \|\| 19\.x）。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖，Yarn 需要手动安装。

### @daimo/sdk 支持 TypeScript 吗？

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

### @daimo/sdk 支持 ESM 还是 CommonJS？

以 ES Module 形式发布，推荐使用 import 引入。在 CommonJS 项目中，Node\.js 20\.19\+ / 22\.12\+ 可以直接 require\(\) 不含顶层 await 的 ES Module，更早的版本需要改用动态 import\(\)。

### @daimo/sdk 可以商用吗？

@daimo/sdk 使用 BSD-2-Clause 许可。宽松许可：允许商业使用、修改和再分发，通常只需在分发时保留原版权与许可声明。以上为概括，不构成法律意见，请以许可原文为准。

### @daimo/sdk 的下载量有多少？

根据 npm 官方下载统计，@daimo/sdk 在 2026/10/11 – 2026/11/09 这 30 天内被下载 6,378 次，日均约 213 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入，适合横向比较热度，不能直接等同于使用人数。

### @daimo/sdk 还在维护吗？

最新版本 1\.8\.8 发布于 2026/09/17（1 个月前）；至今共发布 35 个版本，其中过去 12 个月发布了 35 个；首次发布于 2026/02/28。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

