# @fairmint/daml-js 中文文档

规范地址：https://npmcn.com/package/%40fairmint/daml-js/

版本：0\.1\.61
npm 元数据更新时间：2026-11-05T21:12:37.052Z
中文译文更新时间：2026-11-14T09:05:17.150Z
软件包许可：GPL-3\.0-only

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

原始 npm 页面：https://www.npmjs.com/package/%40fairmint/daml-js
原文对照：https://npmcn.com/package/%40fairmint/daml-js/?lang=original
项目主页：https://github.com/Fairmint/daml#readme
源码仓库：https://github.com/Fairmint/daml

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

- 包体积（解压后）：1.8 MB，741 个文件
- 模块格式：CommonJS
- TypeScript 类型：包内自带
- 运行依赖：2 个
- peer 依赖：@daml/types 3\.5\.2，@daml/ledger 2\.10\.4
- 首次发布：2026-05-04T15:15:20.741Z
- 最新版本发布：2026-11-05T21:12:36.876Z
- 近 30 天下载量：15231（2026-10-14 至 2026-11-12，npm 官方下载统计）
- 已发布版本数：60（近 12 个月 60 个）

## 中文简介

Fairmint DAML 包装有生成的 JavaScript 绑定(CantonPayments, NFT, Reports, Equity, CoumponMinter, TradeSettlement and TradeSettlementHolder). OpenCapTable-v35收录器由开封-protocol-daml发布.

## 安装

```sh
npm install @fairmint/daml-js
```

也可以使用：`pnpm add @fairmint/daml-js`、`yarn add @fairmint/daml-js`、`bun add @fairmint/daml-js`

## README

# Fairmint DAML合同

此寄存器包含 Fairmint 的 DAML 合同包并发布其生成的 JavaScript 绑定为 [`@fairmint/daml-js`](https://www.npmjs.com/package/@fairmint/daml-js)。 。 。 .

该套件包括:

-   州际支付流
-   OCF 报告合同
-   CIP-0112 股票债券、OTC结算和结算
-   OpenCaptable-v35登记册上的TA贸易结算:转让代理的贸易服务台 (单位:千美元)`TradeSettlement-v01`及其行业的持有人模板 (单位:千美元)`TradeSettlementHolder-v01`:条件,持有人的认可和托肯标准V2现金段)
-   股权证书,按上限表、利益攸关方和股票类别键取(`EquityCertificate`(中文(简体) )
-   NFT API和参考合同
-   集成时使用的测试脚本助手

开封表协议合同另行公布. 安装 [`@fairmint/open-captable-protocol-daml-js`](https://www.npmjs.com/package/@fairmint/open-captable-protocol-daml-js) 页:1 `Fairmint.OpenCapTable` 财务报告和审定财务报表 `OCP_TEMPLATES`;其来源在 [`Fairmint/open-captable-protocol-daml`](https://github.com/Fairmint/open-captable-protocol-daml)。 。 。 . `@fairmint/daml-js` 只携带 OpenCapTable-v35 和 OpenCapTableApi-v01 的私人副本 类型 `TradeSettlement-v01`绑定名称(和股权证书类型) ),它被固定在OpenCapTable版本上。 那个副本不是 导出后,没有模板登录到 `@daml/types`,所以 OpenCapTable 模板总是解决 结束 `@fairmint/open-captable-protocol-daml-js`。 。 。 .

## 开发者文档

-   [Fairmint DAML 合同地图](https://github.com/Fairmint/dev-docs/blob/main/docs/onchain/canton/daml-contracts.md)
-   [开发 DAML 软件包](https://github.com/Fairmint/dev-docs/blob/main/docs/development/daml-packages.md)
-   [释放和部署DAML软件包](https://github.com/Fairmint/dev-docs/blob/main/operations/daml-package-releases.md)

GitHub维基已退役(残疾). 这些枢纽是可口的.

## 安装

```bash
npm install @fairmint/daml-js
```

软件包宣布其生成的绑定值使用的DAML JavaScript运行时版本. 保留 `@daml/ledger` 财务报告和审定财务报表 `@daml/types` 兼容 npm 报告的对等依赖版本.

## 软件包表面

浏览器安全根入点导出命名空间包括:

```ts
import { CantonPayments, Fairmint, Nft } from '@fairmint/daml-js';

const registryTemplate = Fairmint.EquityTokens.EquityRegistry.EquityRegistry;
const paymentFactoryTemplate =
  CantonPayments.PaymentStream.PaymentStreamFactory.PaymentStreamFactory;
const nftInterface = Nft.Api.V1.Nft.Nft;
```

准确的模块名称来自DAML源. 让类型脚本发现可用的 从已安装的软件包中复制出模板,而不是将软件包ID复制入应用程序代码.

通过稳定的JSON子路径可以获得部署的单子体ID:

```ts
import paymentStreamsFactory from '@fairmint/daml-js/paymentStreams-factory-contract-id.json';
import reportsFactory from '@fairmint/daml-js/reports-factory-contract-id.json';
```

检查 [`package.json`](https://npmcn.com/package/%40fairmint/daml-js/package.json) 用于完整导出地图。 生成的软件包表面是 也由 [`scripts/test-imports.ts`](https://npmcn.com/package/%40fairmint/daml-js/scripts/test-imports.ts) 财务报告和审定财务报表 [`scripts/verify-merged-lib-runtime.ts`](https://npmcn.com/package/%40fairmint/daml-js/scripts/verify-merged-lib-runtime.ts)。 。 。 .

## 贸易服务台和持单人包

转让代理商的服务台在OpenCaptable-v35登记簿上结算次级贸易,按 [ADR-041 (英语)](https://github.com/Fairmint/dev-docs/blob/main/adrs/ADR-041-Trade-Settlement-On-OpenCapTable-v35.md) 编辑 [OCP 登记册](https://github.com/Fairmint/dev-docs/blob/main/docs/onchain/ocp/ocp-register.md) 产品医生。 模块标题下方 `TradeSettlement/`, (中文(简体) ), `TradeSettlementHolder/` 财务报告和审定财务报表 `EquityCertificate/` 是准确的契约;形状是:

-   `TradeSettlementHolder-v01` 持有持有人签署或遵守的合同(`Types`, (中文(简体) ), `Cash`, (中文(简体) ), `AllocationRequest`, (中文(简体) ), `Seller`, (中文(简体) ), `Buyer`),并依赖于没有 OpenCapTable 包,所以持有者兽医 没有注册 DAR 并查看注册节点. `TradeSettlement-v01` 拿着桌子`TradeDesk`, (中文(简体) ), `DeskChecks`) (中文(简体) ). `npm run check:holder-packages`,哪个 `build` 财务报告和审定财务报表 `test` 先运行, 如果失败 持有者包,权益证书包或NFT包名OpenCapTable.
-   `TradeSettlement.TestPrivacy` 检查持有者所看到的: 执行中的合同,并在保留地的交易树上走行,结算和发放,每个登记册 节点只在办公桌节点下. 后续行动,尚未写成:这些试验的每方投影测试 daml Script 无法运行的本地网络交易, 显示没有持有者投影 一个 OpenCapTable-v35 节点(设计为 [可见度](https://github.com/Fairmint/dev-docs/blob/main/tasks/2026/10/nm/2026.10.09-implement-ta-canton-settlement/ocp-v35-design.md#visibility) 例如,在ta-service的本地网络测试中.
-   办公桌由盖子表的三把钥匙(发行者、系统操作员和传输)签名 代理),并通过 `TradeDeskAuthorization`: 系统操作员创建,传输 代理接受,然后发行人。 授权名称是它更换的办公桌 和它失效的办公桌 `acceptBefore`。 。 。 .
-   `ta_cash` 是一个转移代理方,独立于三把钥匙。 与买主是现金 腿的执行者,所以转移代理 永远不能移动现金.
-   `Acceptance_Settle` 买主 `BuyerAcceptance` 由发行人控制,系统 运营商、转让代理商和 `ta_cash` 一起来. `TradeDesk_Settle` 这是唯一的代码 练习: `CapTable_Settle` 它检查返回 `SettleResult` 字段对齐 被接受的条件, 一个不匹配 卷回股票和现金在一起.
-   `TradeDesk_Reserve` 使用卖方的利害相关方和阶级教育 `CapTable_PlaceHolds` 并保持持有的ID在一个 `TradeHoldRecord` 无人看见; `TradeDesk_Release` 结束交易 `CapTable_CancelHolds`。 。 。 .
-   `EquityCertificate` 以上限表、利益攸关方和股票类别键入,由相同的三个单位签名 键,由它的持有者观察,并仅通过盖子表来刻出 `EquityCertificateFactory`。 。 。 .

单位 `@fairmint/daml-js` 两个贸易包的模块合并为一个 `Fairmint.TradeSettlement` 命名空间, 而模板 ID 则命名定义包 : `#TradeSettlementHolder-v01:…` 联 合 国 持有模块 `#TradeSettlement-v01:…` 页:1 `TradeDesk`。 。 。 .

## 仓库布局

-   `multi-package.yaml` 声明活动软件包构建图.
-   每个包裹 `daml.yaml` 是当前名称、版本、 SDK 和 DAML 的真实来源 依赖性.
-   `scripts/` 包含代码生成,软件包验证,DAR政策和部署工具.
-   `dars/` 财务报告和审定财务报表 `dars/dars.lock` 保留备份的DARs及其完整性元数据.
-   `generated/` 财务报告和审定财务报表 `lib/` (b) 不把它们当作: 手工保存的文件.

## 构建和验证

安装依赖和包列表所选择的 DAML SDK 版本 :

```bash
npm install
npx canton-dev-tools install-dpm-sdks
```

`TradeSettlement-v01` 数据依赖于两个被锁定的 OpenCapTable DARs [`ocp-dars.json`](https://npmcn.com/package/%40fairmint/daml-js/ocp-dars.json),读取器接口(OpenCapTableApi-v01)和寄存器 (打开Captable-v35),一个 `open-captable-protocol-daml` 承诺. `npm run sync-ocp-dars` (之前运行) `build`, (中文(简体) ), `test`, (中文(简体) ), `lint:daml` 财务报告和审定财务报表 `check-upgrade-compat`)从该存储库取取并 验证他们的SHA -256。 相对于本地的 OpenCapTable DARs 构建, 例如, 不 已备份到仓库中, 已设置 `OCP_DAR_PATH` 到逗号分隔的列表。 每个都是 与针相匹配 `file` 是其基准名称( q)`<package>-<version>.dar`,作为 dpm 名称),和 a 与指针不同的散列被报告为警告.

这个 `TradeSettlement-v01` DAR 嵌入了 OpenCaptable DARs, 所以上传它也会上传和审查 他们。 通过 OpenCapTable 发布 `open-captable-protocol-daml` 在网络上,首先,读者 接口,然后是寄存器 : `npm run upload-dar` 拒绝 `TradeSettlement` 直到那个时候 仓库有 `dar-deploy/<network>/<package>/v<version>` 标记两个 DAR 中的每个。 书桌 还嵌入 `TradeSettlementHolder-v01` 以及股票证书和NFT包,以及 `upload-dar` 拒绝任何嵌入此寄存器的软件包, 直到该软件包 拥有自己的 `dar-deploy/<network>/<package>/v<version>` 标记在这里。 先上传,然后通过 上传工作流程的运行; 拒绝按依赖顺序列出.

需要这些DARs(例如ta-service的本地网络套件)的其他寄存器从 私人活动 `@fairmint/daml-dars` 软件包( r)[`npm-dars/`](https://npmcn.com/package/%40fairmint/daml-js/npm-dars/README.md))在被钉住的版本中 而不是卖掉它们或克隆这个仓库。 它携带备份的DARs的 对照 `dars/dars.lock`。 。 。 . `npm run stage:npm-dars` 重新生成其 当 DAR 更改时显示 `npm run check:npm-dars` (CI)执行它,有一个版本的凸起. 合并一个起伏 `main` 通过 npm 信任的出版方式出版(`publish-dars.yml`) (中文(简体) ). `@fairmint/daml-js` 自己仍然没有运输DARs.

正常的本地验证路径为:

```bash
npm run build
npm test
```

当生成绑定物或公布的npm表面受到影响时,也会运行:

```bash
npm run codegen
npm run verify-package
```

见 [`package.json`](https://npmcn.com/package/%40fairmint/daml-js/package.json) 和所选脚本的专门检查源和 准确的命令界面 .

## 常见问题

### @fairmint/daml-js 是什么？

Fairmint DAML 包装有生成的 JavaScript 绑定\(CantonPayments, NFT, Reports, Equity, CoumponMinter, TradeSettlement and TradeSettlementHolder\)\. OpenCapTable-v35收录器由开封-protocol-daml发布\.

### 如何安装 @fairmint/daml-js？

在项目目录运行 npm install @fairmint/daml-js，或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖：@daml/types（3\.5\.2）、@daml/ledger（2\.10\.4）。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖，Yarn 需要手动安装。

### @fairmint/daml-js 支持 TypeScript 吗？

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

### @fairmint/daml-js 支持 ESM 还是 CommonJS？

以 CommonJS 形式发布，可以直接 require\(\)；在 ES Module 项目中也可以用 import 引入（Node\.js 会把 module\.exports 作为默认导出）。

### @fairmint/daml-js 可以商用吗？

@fairmint/daml-js 使用 GPL-3\.0-only 许可。强 Copyleft：分发包含该代码的软件时，整个作品需以 GPL-3\.0 兼容许可开源，并附带专利与反锁定条款。仅内部使用不触发此义务。以上为概括，不构成法律意见，请以许可原文为准。

### @fairmint/daml-js 的下载量有多少？

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

### @fairmint/daml-js 还在维护吗？

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

