# @canton-network/core-signing-dfns 中文文档

规范地址：https://npmcn.com/package/%40canton-network/core-signing-dfns/

版本：0\.14\.4
npm 元数据更新时间：2026-11-05T21:16:27.318Z
中文译文更新时间：2026-11-09T17:33:39.274Z
软件包许可：Apache-2\.0

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

原始 npm 页面：https://www.npmjs.com/package/%40canton-network/core-signing-dfns
原文对照：https://npmcn.com/package/%40canton-network/core-signing-dfns/?lang=original
项目主页：https://github.com/canton-network/wallet/tree/main/core/signing-dfns#readme
源码仓库：https://github.com/canton-network/wallet

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

- 包体积（解压后）：121 kB，11 个文件
- 模块格式：ESM + CJS
- TypeScript 类型：包内自带
- 运行依赖：7 个
- 首次发布：2026-05-05T15:02:25.593Z
- 最新版本发布：2026-11-05T21:16:27.110Z
- 近 30 天下载量：2100（2026-10-09 至 2026-11-07，npm 官方下载统计）
- 已发布版本数：26（近 12 个月 26 个）

## 中文简介

Dfns 为 Canton 网络钱包网关签名驱动程序

## 安装

```sh
npm install @canton-network/core-signing-dfns
```

也可以使用：`pnpm add @canton-network/core-signing-dfns`、`yarn add @canton-network/core-signing-dfns`、`bun add @canton-network/core-signing-dfns`

## README

# @ canton- network/ core- signing- dfns

此软件包提供了一个签名驱动程序,用于将钱包网关与 [数字](https://www.dfns.co/)它执行 `SigningDriverInterface` 定义 `@canton-network/core-signing-lib`,允许钱包网关使用 Dfns 的基础设施管理密钥并签名交易.

## 安装

这个软件包是钱包网关(Wallet Gateway monorepo)的一部分,一般作为工作空间依赖性安装.

```bash
pnpm add @canton-network/core-signing-dfns
```

## 使用量

这个 `DfnsSigningDriver` 在钱包网关的签名架构内使用 它需要一个包含 Dfns 组织细节和证书的配置对象.

### 初始化

```typescript
import DfnsSigningDriver, {
    DfnsConfig,
    DfnsCredentials,
} from '@canton-network/core-signing-dfns'

const credentials: DfnsCredentials = {
    credId: 'your-credential-id',
    privateKey: 'your-private-key',
    authToken: 'your-auth-token',
}

const config: DfnsConfig = {
    orgId: 'your-dfns-org-id',
    baseUrl: 'https://api.dfns.io', // Dfns API URL
    credentials,
}

const driver = new DfnsSigningDriver(config)
```

### 特征

Dfns是作为只签名的提供者:驱动程序创建了ed25519密钥并生成散列签名,而地形提交和分类账交互则发生于钱包网关上与其所配置的验证器(bring- your-own-validator)相对.

-   **密钥管理**数字 :
    -   `createKey`:在 Dfns 中创建新的 ed25519 键.
    -   `getKeys`: 列出活动中符合州条件(`EdDSA` 编号 : `ed25519`钥匙.
-   **签名**数字 :
    -   `signTransaction`: 向 Dfns 提交一个散列签名请求, 以获取解析的密钥 。 立即以签名 ID 返回; 签名字节通过 `getTransaction` dfns 报告请求时 `Signed`。 。 。 .
-   **签署情况**数字 :
    -   `getTransaction`:为先前提交的签名请求获取状态和签名.
    -   `getTransactions`:检索被id或公钥过滤的多签名.
-   **配置**数字 :
    -   `getConfiguration` 编号 : `setConfiguration`。 。 。 .

### 一体化

这个驱动程序是要注册到 `SigningController` 用于管理多个签名提供者的钱包网关.

```typescript
// Example integration (conceptual)
import { SigningController } from '@canton-network/core-signing-internal' // or similar

const signingController = new SigningController()
signingController.registerDriver(driver)
```

## 配置

司机接受一个 `DfnsConfig` 对象 :

| 财产 | 类型 | 需求 | 说明 |
| :-- | :-- | :-- | :-- |
| `orgId` | `string` | 对 | 你的Dfns组织ID. |
| `baseUrl` | `string` | 对 | Dfns API 的基础 URL( 例如 ), `https://api.dfns.io`) (中文(简体) ). |
| `credentials` | `DfnsCredentials` | 对 | 用来认证Dfns的证书. |

### Dfns 证书

Dfns使用双层认证:一个长寿命的服务账户JWT外加每个请求用私钥签名.

| 财产 | 类型 | 说明 |
| :-- | :-- | :-- |
| `credId` | `string` | 在服务账户上注册的Dfns证书的身份. |
| `privateKey` | `string` | PEM 编码的私钥配对 `credId`中,将每个敏感的 Dfns API 请求作为 U2F 类的第二因子签名。 配置一次; 不从 `authToken`。 。 。 . |
| `authToken` | `string` | Dfns仪表板发行的长寿服务账户持有人JWT. 不自动过期,也不从 `privateKey`编号 :`credId`;通过在仪表板上发布一新符来旋转. |

### 钱包网关配置

在运行钱包网关( 远程) 时, 列出 `dfns` 下级 `signingProviders` 选择提供者 。 配置网关配置中的非秘密值 :

-   `signingProviders.dfns.orgId`:你的Dfns组织ID.
-   `signingProviders.dfns.baseUrl`: Dfns API 的基础 URL. 默认为 `https://api.dfns.io`。 。 。 .
-   `signingProviders.dfns.credId`: Dfns API 认证的默认证书ID.
-   `signingProviders.dfns.privateKeyEnv`: 持有服务账户私钥的环境变量名称。 默认为 `DFNS_PRIVATE_KEY`。 。 。 .
-   `signingProviders.dfns.authTokenEnv`: 持有服务账户验证符的环境变量名称。 默认为 `DFNS_AUTH_TOKEN`。 。 。 .

秘密值会留在这些环境变量中,从不存储在配置文件中.

若为 `signingProviders` 删去, `DFNS_PRIVATE_KEY`, (中文(简体) ), `DFNS_AUTH_TOKEN`, (中文(简体) ), `DFNS_ORG_ID`, (中文(简体) ), `DFNS_CRED_ID`,以及 `DFNS_BASE_URL` 从环境读取。 非机密变量为 忽略一次 `signingProviders` 已存在.

示例用法:

```json
{
    "signingProviders": {
        "dfns": {
            "orgId": "your-org-id",
            "baseUrl": "https://api.dfns.io",
            "credId": "your-cred-id",
            "privateKeyEnv": "DFNS_PRIVATE_KEY",
            "authTokenEnv": "DFNS_AUTH_TOKEN"
        }
    }
}
```

## 州网络支助

键用 `scheme: EdDSA` 财务报告和审定财务报表 `curve: ed25519`。驱动程序只列出并解决 `Active` ed25519 键. 钱包网关负责通过自己的党派分配流将密钥绑入特定的Canton网络.

## 许可证

阿帕奇 - 2.0

## 常见问题

### @canton-network/core-signing-dfns 是什么？

Dfns 为 Canton 网络钱包网关签名驱动程序

### 如何安装 @canton-network/core-signing-dfns？

在项目目录运行 npm install @canton-network/core-signing-dfns，或使用 pnpm add / yarn add / bun add。

### @canton-network/core-signing-dfns 支持 TypeScript 吗？

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

### @canton-network/core-signing-dfns 支持 ESM 还是 CommonJS？

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

### @canton-network/core-signing-dfns 可以商用吗？

@canton-network/core-signing-dfns 使用 Apache-2\.0 许可。宽松许可：允许商业使用、修改和再分发，并附带明确的专利授权；分发时需保留许可与 NOTICE 文件，修改过的文件要注明改动。以上为概括，不构成法律意见，请以许可原文为准。

### @canton-network/core-signing-dfns 的下载量有多少？

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

### @canton-network/core-signing-dfns 还在维护吗？

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

