# @xyo-network/event-kit-xl1 中文文档

规范地址：https://npmcn.com/package/%40xyo-network/event-kit-xl1/

版本：2\.3\.4
npm 元数据更新时间：2026-11-02T22:25:45.033Z
中文译文更新时间：2026-11-02T23:42:43.106Z
软件包许可：LGPL-3\.0-only

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

原始 npm 页面：https://www.npmjs.com/package/%40xyo-network/event-kit-xl1
原文对照：https://npmcn.com/package/%40xyo-network/event-kit-xl1/?lang=original
源码仓库：https://github.com/XYOracleNetwork/event-kit

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

- 包体积（解压后）：415 kB，59 个文件
- 模块格式：ES Module
- TypeScript 类型：包内自带
- Node.js 要求：\>=26
- 运行依赖：1 个
- peer 依赖：zod ^4\.6，ethers ^6\.17，async-mutex ^0\.5，@ariestools/sdk ^9\.0，@xyo-network/sdk ^8\.1，@opentelemetry/api ^1\.10，@xyo-network/xl1-sdk ^5\.8，@xyo-network/sdk-protocol ^8\.0，@xyo-network/xl1-statement-graph-sdk ^0\.7
- 首次发布：2026-08-20T22:45:18.416Z
- 最新版本发布：2026-11-02T22:25:44.870Z
- 已发布版本数：22（近 12 个月 22 个）

## 中文简介

Event Kit的XL1链适配器（最终的头源）

## 安装

```sh
npm install @xyo-network/event-kit-xl1
```

也可以使用：`pnpm add @xyo-network/event-kit-xl1`、`yarn add @xyo-network/event-kit-xl1`、`bun add @xyo-network/event-kit-xl1`

## README

# `@xyo-network/event-kit-xl1`

Event Kit的XL1链适配器。

-   `createXl1FinalizedHeadSource` 为发行商读取最终的XL1头 过滤器和接收器的授予新鲜度检查
-   `publishFinalizedStatements` -通过发布语句图声明 显式内容写入、独立回读、包含和最终性 边界
-   `preparePublisherService`， `prepareWakeSubscription`， `prepareWakeSubscriptionAcceptance` 这五个 `prepare*Revocation` 函数-确切的握手声明和附件，没有 签名者、会话或I/O；匹配的 `publish*` 函数准确发布 这些

```ts
const gateway = await new GatewayBuilder().name('local').rpcUrl(RPC).build()
const headSource = createXl1FinalizedHeadSource({ viewer: gateway.connection.viewer })
```

结果使双方都满意 `FinalizedHeadSource` 和 接收器的 `TrustedFinalizedHeadSource` -申报结构相同的港口 本地的，所以这个包都不依赖。

## 最终报表图的发布

`publishFinalizedStatements` 接受单独的数据写入器和读取器端口。 生产调用程序应该提供指向的独立构造的客户机 相同的共享公共数据。

```ts
const result = await publishFinalizedStatements({
  attachments: [challenge, response],
  bodyReader: dataLakeViewer,
  bodyWriter: dataLakeRunner,
  journal,
  operationId,
  runner,
  signer,
  statements,
  viewer,
})
```

候选操作：

1.  准备和验证规范的语句图事务；
2.  要求完全符合要求接受所指定的挑战/响应体 对象，然后插入并独立地读取它们；
3.  构建并签署XL1交易，并记录其确切证据；
4.  验证签名是否只更改了签名/连续性元数据 不得更改签名者、索赔来源、有效载荷、订单或交易意图；
5.  将完全签名的事务内容写入写入器；
6.  通过独立的方法验证确切签名的事务内容 广播前阅读；
7.  广播已经签名的事务；
8.  观察具体的交易内容；和
9.  独立观察到最终的纳入。

返回的结果包含事务哈希，语句图事件 哈希、附件哈希、包含证据和最终块。有界的 轮询选项控制包含/最终性观察。

`FinalizedStatementPublicationJournal.load` 和 `save` 形成耐久性 边界。第一个 `signed` 记录自动绑定链ID，声明来源， 操作ID，有序事件和附件哈希，以及精确签名的事务。 以后的记录提交 `content-written`， `content-verified`， `broadcast`， `included`, `finalized`。重新启动验证该绑定并恢复 最高阶段。不确定的广播可以重播确切签名的证据； 它永远不会重建或重新签署事务。完成的重试返回 同样的证据，但没有再次发表。

操作调用者应该使用由导出的文件系统日志 `@xyo-network/event-kit-node/handshake` 或者另一个原子实现。这个 包的内存日志只是一个结构测试夹具。

公共握手发布帮助程序接受单个未版本化的服务， 订阅和挑战合同。发布强制会话的固定 XL1授权链和匹配服务/订阅标识 写。同一索赔服务/授予/订阅的粉丝和最终接受 附件不变。以太坊区块和间隔节拍是源 位置;它们的授予和接受生命周期仍然属于XL1。

## 为什么是验证而不是转发

双方都将此数字视为可信的：发行商决定该范围 发射，栅极计算机就从它那里获得延迟。所以读数被检查了，不是 通过。

-   不是非负JSON安全整数的头部在这里被拒绝 然后表面变成不透明的 `grant-view-invalid`.
-   默认情况下，低于已观察到的头部将被拒绝。完成 高度是不可变的，所以回归意味着端点被回滚， 交换，或说谎-失败的封闭节拍承认对倒带视图。 禁用与 `rejectRegression: false` 只有在呼叫者真正容忍的情况下 它。

## 证据

脱机规范涵盖了验证和回归保护。现场规格如下 `src/spec/api-local/` 对象引导的真实本地XL1链上运行 `api-local` 测试项目：头部读规范，通过真实进步 块状生产，永不退步。

单独的离线发布者规范验证发布阶段的顺序，拒绝 广播后独立数据验证失败，准确接受 附件绑定，拒绝签名者更改的事务内容，有界 轮询直到最终证据出现，无损安全块转换，以及 纳入证据和最终证据之间的精确一致。那些重点突出的规格 模拟XL1事务和数据帮助程序。

被接受的门2正在进行握手 `@xyo-network/event-kit-statement-graph` 调用相同 `publishFinalizedStatements` 一个真正的帮手 `apiLocal` XL1运行程序/查看器和 单独构建的XL1 SDK REST编写/读取客户机。它们的端点是a 在子进程中运行的文件系统支持的数据服务器。与声明 图 `0.5.0`, xyo-chain `5.3.0`、XL1协议/SDK `5.4.0`管理地方 在提升的有效负载槽中承载主题的声明，通过共识 验证，并从最终确定的块载体中扫描索赔主体。

用 `pnpm test:live` 从存储库根目录。他们是自愿加入的 默认套件保持离线状态。

已确定的头部适配器和已提升的声明发布路径是合格的 针对本地开发链。数据采集仍然是一个环回测试过程 而不是托管网络服务。这些包级测试不符合条件 一个托管共享公共数据，序列，主网，Proxmox，多虚拟机 操作，或生产交付；公共CLI有单独的本地和 包装好的消费者证据在路线图门3下。

## 握手身体准备

每个高级握手发布者现在准备它的声明，然后发布 它准备了什么。这个 `prepare*` 函数暴露了前半部分：给定 授权链ID、要签名的规范源地址以及 握手对象，它们返回 `statements`， `attachments`索赔, 声明哈希、主体和对象标识。它们应用每个绑定检查 应用发布者，不需要签名者或会话，也不执行I/O。

```ts
const prepared = await prepareWakeSubscription({
  chainId, source: controller, encryptionKey, grant, service, subscription,
})
// prepared.statements and prepared.attachments are what publishWakeSubscription sends.
```

准备不是权威。它接受主网链ID，因为它写 没有什么;每一个 `publish*` 功能仍然运行普通网络写检查 并拒绝主网。手工金丝雀作曲将准备好的身体传递给 拥有下面的主网主机，它应用自己的分组、分类账和终端 盖茨。相等的准备输入总是产生相同的Claim散列。

## 手动阶段7金丝雀主机

的节点只 `@xyo-network/event-kit-xl1/mainnet-canary` 入口出口 `inspectMainnetCanaryPacket`， `inspectMainnetCanaryStage`， `prepareMainnetCanaryLedger`， `admitInteractiveMainnetCanaryStage` 和 `publishInteractiveMainnetCanary`。它与普通的CLI/网络是分开的 选择，其中继续拒绝主网。中立的发布API也是如此 在没有主机私有非序列化许可的情况下拒绝主网。没有发行 是出口。看到 [所有权联锁合同](https://npmcn.com/package/docs/PHASE7_CANARY_INTERLOCK.md).

一个完整的严格审查包将规范链、公共身份、 HTTPS端点和SDK资源端点、工件/阶段0 - 6/恢复/资金 批准证据，有效性，预期交易数，累计上限，清理 保留和每个确切的出版/费用/脚本的意图。准备创造一个 私有SQLite分类账和不可变初始化标记。失踪的权威 必须恢复；打开进程不能重置计数器。没有真正的数据包 由合成测试夹具创建。

手动主机先从实终端读取报文绑定类型批准 之前打开签名者资源和新的事务哈希绑定类型批准 每次广播尝试。CI，无人值守输入，普通CLI标志，JSON审批 对象和调用方确认回调不授予权限。预订 在失败/重新启动/模棱两可的提交中存活；签名证据和公布 阶段保持精确。资金和主网直播是分开的 human-authorized。包/离线夹具资格不是一个活的金丝雀。

根包可以选择加入审查阶段包 `stages: { max, until }`. `inspectMainnetCanaryStage` 根据它的根解析一个阶段，并且 `admitInteractiveMainnetCanaryStage` 将它附加到根的分类账之后 输入终端批准。阶段添加操作，或刷新费用和有效性 Claim未更改的无保留操作。他们从不改变身份， 端点，证据或天花板，留在根部。发布阶段性操作 通过传递它的定义 `stage` 来 `publishInteractiveMainnetCanary`． 看到 [上演了金丝雀](https://npmcn.com/package/docs/PHASE7_CANARY_INTERLOCK.md#staged-canaries).

## 常见问题

### @xyo-network/event-kit-xl1 是什么？

Event Kit的XL1链适配器（最终的头源）

### 如何安装 @xyo-network/event-kit-xl1？

在项目目录运行 npm install @xyo-network/event-kit-xl1，或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖：zod（^4\.6）、ethers（^6\.17）、async-mutex（^0\.5）、@ariestools/sdk（^9\.0）、@xyo-network/sdk（^8\.1）、@opentelemetry/api（^1\.10）、@xyo-network/xl1-sdk（^5\.8）、@xyo-network/sdk-protocol（^8\.0）、@xyo-network/xl1-statement-graph-sdk（^0\.7）。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖，Yarn 需要手动安装。

### @xyo-network/event-kit-xl1 支持 TypeScript 吗？

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

### @xyo-network/event-kit-xl1 支持 ESM 还是 CommonJS？

以 ES Module 形式发布，推荐使用 import 引入。在 CommonJS 项目中，Node\.js 20\.19\+ / 22\.12\+ 可以直接 require\(\) 不含顶层 await 的 ES Module，更早的版本需要改用动态 import\(\)。

### @xyo-network/event-kit-xl1 需要什么版本的 Node\.js？

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

### @xyo-network/event-kit-xl1 可以商用吗？

@xyo-network/event-kit-xl1 使用 LGPL-3\.0-only 许可。弱 Copyleft：作为库被调用时通常不要求开源你自己的代码，但修改库本身需以 LGPL 开源；前端打包合并后的适用边界存在不同理解。以上为概括，不构成法律意见，请以许可原文为准。

### @xyo-network/event-kit-xl1 还在维护吗？

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

