@fairmint/daml-js

中文文档
0.1.61发布于 2026/11/06GPL-3.0-onlyTypeScriptCommonJS近 30 天下载 1.5万

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

中文使用文档
文档目录6 节
  1. 开发者文档
  2. 安装
  3. 软件包表面
  4. 贸易服务台和持单人包
  5. 仓库布局
  6. 构建和验证

Fairmint DAML合同

此寄存器包含 Fairmint 的 DAML 合同包并发布其生成的 JavaScript 绑定为 @fairmint/daml-js。 。 。 .

该套件包括:

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

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

开发者文档

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

安装

npm install @fairmint/daml-js

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

软件包表面

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

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:

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

检查 package.json 用于完整导出地图。 生成的软件包表面是 也由 scripts/test-imports.ts 财务报告和审定财务报表 scripts/verify-merged-lib-runtime.ts。 。 。 .

贸易服务台和持单人包

转让代理商的服务台在OpenCaptable-v35登记簿上结算次级贸易,按 ADR-041 (英语) 编辑 OCP 登记册 产品医生。 模块标题下方 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 节点(设计为 可见度 例如,在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 版本 :

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

TradeSettlement-v01 数据依赖于两个被锁定的 OpenCapTable DARs 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/)在被钉住的版本中 而不是卖掉它们或克隆这个仓库。 它携带备份的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.

正常的本地验证路径为:

npm run build
npm test

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

npm run codegen
npm run verify-package

见 package.json 和所选脚本的专门检查源和 准确的命令界面 .

版本与发布记录

@fairmint/daml-js 共发布 60 个版本,首次发布于 2026/05/04;过去 12 个月发布了 60 个版本。

版本发布日期距今
0.1.61latest2026/11/068 天前
0.1.602026/10/2816 天前
0.1.592026/10/2817 天前
0.1.582026/10/2817 天前
0.1.572026/10/2717 天前
0.1.562026/10/091 个月前

关于 @fairmint/daml-js 的常见问题

@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 和提交记录判断。