# @fairmint/open-captable-protocol-daml-js 中文文档

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

版本：0\.5\.1
npm 元数据更新时间：2026-11-05T21:05:03.974Z
中文译文更新时间：2026-11-14T09:04:54.486Z
软件包许可：Apache-2\.0

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

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

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

- 包体积（解压后）：3.5 MB，356 个文件
- 模块格式：CommonJS
- TypeScript 类型：包内自带
- Node.js 要求：\>=22
- 运行依赖：3 个
- peer 依赖：@daml/types 3\.5\.2，@daml/ledger 2\.10\.4
- 首次发布：2025-08-07T13:02:32.291Z
- 最新版本发布：2026-11-05T21:05:03.633Z
- 近 30 天下载量：17715（2026-10-14 至 2026-11-12，npm 官方下载统计）
- 已发布版本数：252（近 12 个月 162 个）

## 中文简介

Open CapTable 协议(OpenCapTable-v36,带有OpenCapTableApi-v01) DAML 合同并生成了JavaScript绑定. 其他 Fairmint DAML 软件包在 @fairmint/daml-js 中运行 .

## 安装

```sh
npm install @fairmint/open-captable-protocol-daml-js
```

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

## README

# 打开标签表协议 DAML

此寄存器执行 [打开 Cap 格式 (OCF)](https://github.com/Open-Cap-Table-Coalition/Open-Cap-Format-OCF) 作为 DAML 州合同。 它还出版生成的JavaScript绑定和已建成的DARs作为 [`@fairmint/open-captable-protocol-daml-js`](https://www.npmjs.com/package/@fairmint/open-captable-protocol-daml-js)。 。 。 .

## 软件包

[`multi-package.yaml`](https://npmcn.com/package/%40fairmint/open-captable-protocol-daml-js/multi-package.yaml) 列出 DAML 软件包 :

| 软件包 | 它所持有的 |
| --- | --- |
| `OpenCapTable-v36` | 登记册: `OcpFactory`, (中文(简体) ), `IssuerAuthorization`,则 `CapTable` 主播,每张OCF记录一份合同,以及 `StockSecurity`, (中文(简体) ), `StockClassEpoch` 财务报告和审定财务报表 `OcfIdShard` 状态 |
| `OpenCapTableApi-v01` | 读者界面 `OcfObject` 财务报告和审定财务报表 `RegisterContract`,其观点只包含内置类型(OCF) `object_type` 字符串),因为一个界面软件包从未升级 |
| `Test` | Daml 脚本测试( 未发布) |

打开Captable-v36数据依赖 `OpenCapTableApi-v01`把它嵌入它的DAR中,没有相片 依赖性。 界面的注释名 OpenCapTable-v35, 他们的运出行; 软件包 永不更改,所以将其读作当前注册行(v36)。 它的设计是 [ADR-040 (英语)](https://github.com/Fairmint/dev-docs/blob/main/adrs/ADR-040-OCP-v35-Unbounded-Cap-Table.md)。 。 。 . v36只部署到了DevNet;MainNet已超出范围. 老年专业留校任教 [`dars/`](https://npmcn.com/package/%40fairmint/open-captable-protocol-daml-js/dars) 以数字表示 历史.

另有两个目录属于v36:

-   [`ocf-extension/`](https://npmcn.com/package/%40fairmint/open-captable-protocol-daml-js/ocf-extension) 拥有一个费尔明特OCF扩展的JSON计划 手持对 `TX_STOCK_HOLD` 编号 : `TX_STOCK_HOLD_CANCELLATION`。 。 。 .
-   [`test-vectors/v35.json`](https://npmcn.com/package/%40fairmint/open-captable-protocol-daml-js/test-vectors/v35.json) 持有衍生ID、权利要求卡和 daml测试、SDK和APV2必须复制的地表功能向量。 v36 保存身份证 引入了 v35 方案, 因此共享文件保留其名称 . `npm run test:vectors` 重算它们 并检查生成的 `TestVectors.daml`。 。 。 .

## 安装和使用软件包

```bash
npm install @fairmint/open-captable-protocol-daml-js
```

浏览器安全根入点导出生成的 `Fairmint.OpenCapTable` 财务报告和审定财务报表 `Fairmint.OpenCapTableApi` 命名空间, 捆绑的 DAML 标准文献类型, 以及条目点 身份证:

```ts
import { Fairmint, OCP_INTERFACES, OCP_TEMPLATES } from '@fairmint/open-captable-protocol-daml-js';

OCP_TEMPLATES.capTable; // also ocpFactory, issuerAuthorization, stockSecurity, stockClassEpoch, ocfIdShard
OCP_INTERFACES.ocfObject; // and registerContract: what readers filter by
```

该软件包还揭露了部署元数据和DARs的稳定子路径:

```ts
import factories from '@fairmint/open-captable-protocol-daml-js/ocp-factory-contract-id.json';
import {
  getOpenCapTableDarPaths,
  resolveOpenCapTableDarPath,
} from '@fairmint/open-captable-protocol-daml-js/openCapTableDarPath';
```

{\\fn华文楷体\\fs16\\1cHE0E0E0}三十六号 `OcpFactory` 每一个授权消耗,所以 `ocp-factory-contract-id.json` 记录 每个网络的工厂身份(`templateId`, (中文(简体) ), `system_operator`, (中文(简体) ), `factory_id`),不是合同身份证. 找到现场工厂 并用活合同查询 模板,过滤在这两个字段。 A 类 网络在其工厂建立之前就不存在.

DARs 输出于 `./opencaptable.dar` (开卡表-v36)和 `./opencaptable-api.dar`· ; `getOpenCapTableDarPaths()` 按上传顺序列出两者。 检查 [`package.json`](https://npmcn.com/package/%40fairmint/open-captable-protocol-daml-js/package.json) 联 合 国 完整导出映射和 [`scripts/test-imports.ts`](https://npmcn.com/package/%40fairmint/open-captable-protocol-daml-js/scripts/test-imports.ts) 可执行文件 包表面合同. `resolveOpenCapTableDarPath` 检查 `OPEN_CAP_TABLE_DAR_PATH`,然后是 已打包 DAR, 然后选择本地检查退出路径; 查看其 [来源和选项](https://npmcn.com/package/%40fairmint/open-captable-protocol-daml-js/scripts/npm-published-lib/openCapTableDarPath.ts) 准确分辨率 行为.

## 部署

每一次推动 `main` 发布 npm 软件包([`publish.yml`](https://npmcn.com/package/%40fairmint/open-captable-protocol-daml-js/.github/workflows/publish.yml)和 标记承诺 `v<npm version>`. 出版没有部署.

分类账提供者只接受允许的列入IP的流量,因此DAR由 [在分类账中部署业务程序](https://github.com/Fairmint/canton/blob/main/.github/workflows/deploy-ocp-ledger.yml) fairmint/ Canton 的工作流程, 从其允许的列表脚本框中选择 。 鉴于npm版本,它:

1.  在那个版本查看这个寄存器 `v<version>` 标记,或承诺 `main` 联合国 `ocp_daml_ref` 输入名称( 用于发布没有标签的版本), 并运行部署 飞行前 `npm run check:dar-version-policy` 每份《残疾报告》,首先依赖;
2.  上传并审查在DevNet两个参与者上公布的DAR,并确保OCP工厂 存在;
3.  将每次部署记录为附加说明的标签 `dar-deploy/devnet/<package>/v<version>` 关于这个 承诺.

这些标记是DAR版本政策读取的部署证据. `record_only` 记录 已经部署的DARs。 记录工厂身份 工作流程报告 [`generated/ocp-factory-contract-id.json`](https://npmcn.com/package/%40fairmint/open-captable-protocol-daml-js/generated/ocp-factory-contract-id.json)。 。 。 .

## 公开文件

公众 [GitHub 维基百科](https://github.com/Fairmint/open-captable-protocol-daml/wiki) 这是 合同架构、OCF验证、开发、测试、DAR备份和 释放政策。 每个包裹 `daml.yaml`, (中文(简体) ), [`multi-package.yaml`](https://npmcn.com/package/%40fairmint/open-captable-protocol-daml-js/multi-package.yaml), (中文(简体) ), [`package.json`](https://npmcn.com/package/%40fairmint/open-captable-protocol-daml-js/package.json),以及 [`scripts/`](https://npmcn.com/package/%40fairmint/open-captable-protocol-daml-js/scripts) 目前仍是真相的来源 版本,依赖,和自动化.

## 构建和验证

要求节点.js 22+(参见 `@fairmint/canton-dev-tools`) (中文(简体) ).

```bash
npm install
npx canton-dev-tools install-dpm-sdks
npm run build
npm test
```

`npm run build` 生成 `OpenCapTable-v36/daml/Fairmint/OpenCapTable/OcfRecords.daml` (周转基金) 记录发送,从 `scripts/codegen/`),运行 `prepare-build` 输入 `generated/build/`,然后构建 每个软件包都有 `dpm`。 。 。 .

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

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

`npm run check:schema-gaps` 比较 DAML 类型和被绑定的OCF 计划(通过) `--ocf-schema-dir` 除非 `../ocp-canton-sdk/libs/Open-Cap-Format-OCF` 检查) 扩展 `ocf-extension/`。 。 。 .

本地网络OCF重放和跨参与的交通脚本驱动分类账通过 `ocp-canton-sdk`,这还不支持 v36。 在SDK的支持下,他们被带走并返回 上一个版本在 git 历史中, 脚本之前 `0a15f5c` 编辑 `replay-ocf-database` 工作流程及其 `sdk_ref` 输入, 时间 `7d693fa`。 。 。 .

见 [开发和测试](https://github.com/Fairmint/open-captable-protocol-daml/wiki/Development-and-Testing) 用于生成的文件边界和专门检查.

## 常见问题

### @fairmint/open-captable-protocol-daml-js 是什么？

Open CapTable 协议\(OpenCapTable-v36,带有OpenCapTableApi-v01\) DAML 合同并生成了JavaScript绑定\. 其他 Fairmint DAML 软件包在 @fairmint/daml-js 中运行 \.

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

在项目目录运行 npm install @fairmint/open-captable-protocol-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/open-captable-protocol-daml-js 支持 TypeScript 吗？

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

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

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

### @fairmint/open-captable-protocol-daml-js 需要什么版本的 Node\.js？

package\.json 的 engines 字段要求 Node\.js \>=22。版本不符时 npm 默认只给出警告，开启 engine-strict 后会拒绝安装。

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

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

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

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

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

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

