打开标签表协议 DAML
此寄存器执行
打开 Cap 格式 (OCF) 作为 DAML
州合同。 它还出版生成的JavaScript绑定和已建成的DARs作为
@fairmint/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 (英语)。 。 。 .
v36只部署到了DevNet;MainNet已超出范围. 老年专业留校任教 dars/ 以数字表示
历史.
另有两个目录属于v36:
ocf-extension/拥有一个费尔明特OCF扩展的JSON计划 手持对TX_STOCK_HOLD编号 :TX_STOCK_HOLD_CANCELLATION。 。 。 .test-vectors/v35.json持有衍生ID、权利要求卡和 daml测试、SDK和APV2必须复制的地表功能向量。 v36 保存身份证 引入了 v35 方案, 因此共享文件保留其名称 .npm run test:vectors重算它们 并检查生成的TestVectors.daml。 。 。 .
安装和使用软件包
npm install @fairmint/open-captable-protocol-daml-js
浏览器安全根入点导出生成的 Fairmint.OpenCapTable 财务报告和审定财务报表
Fairmint.OpenCapTableApi 命名空间, 捆绑的 DAML 标准文献类型, 以及条目点
身份证:
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的稳定子路径:
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 联 合 国
完整导出映射和 scripts/test-imports.ts 可执行文件
包表面合同. resolveOpenCapTableDarPath 检查 OPEN_CAP_TABLE_DAR_PATH,然后是
已打包 DAR, 然后选择本地检查退出路径; 查看其
来源和选项 准确分辨率
行为.
部署
每一次推动 main 发布 npm 软件包(publish.yml和
标记承诺 v<npm version>. 出版没有部署.
分类账提供者只接受允许的列入IP的流量,因此DAR由 在分类账中部署业务程序 fairmint/ Canton 的工作流程, 从其允许的列表脚本框中选择 。 鉴于npm版本,它:
- 在那个版本查看这个寄存器
v<version>标记,或承诺main联合国ocp_daml_ref输入名称( 用于发布没有标签的版本), 并运行部署 飞行前npm run check:dar-version-policy每份《残疾报告》,首先依赖; - 上传并审查在DevNet两个参与者上公布的DAR,并确保OCP工厂 存在;
- 将每次部署记录为附加说明的标签
dar-deploy/devnet/<package>/v<version>关于这个 承诺.
这些标记是DAR版本政策读取的部署证据. record_only 记录
已经部署的DARs。 记录工厂身份 工作流程报告
generated/ocp-factory-contract-id.json。 。 。 .
公开文件
公众 GitHub 维基百科 这是
合同架构、OCF验证、开发、测试、DAR备份和
释放政策。 每个包裹 daml.yaml, (中文(简体) ), multi-package.yaml, (中文(简体) ),
package.json,以及 scripts/ 目前仍是真相的来源
版本,依赖,和自动化.
构建和验证
要求节点.js 22+(参见 @fairmint/canton-dev-tools) (中文(简体) ).
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表面受到影响时,也会运行:
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。 。 。 .
见 开发和测试 用于生成的文件边界和专门检查.