You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Corda中如何查看未完成Flow内的待处理交易及对方待签交易?

在Corda中查看未完成Flow及待处理交易的方法

针对你提出的两个问题,我结合实际开发和运维经验整理了以下方案:

1. 查看未完成Flow中的待处理交易

要追踪未完成Flow里的待处理交易,主要可以通过节点CLI命令和自定义Flow状态跟踪两种方式:

  • 使用节点CLI命令:
    • 首先执行 flow list 命令,列出当前节点所有正在运行的Flow,获取每个Flow的唯一ID;
    • 接着针对目标Flow运行 flow info <flow-id>,该命令会返回Flow的详细运行状态,包括当前所处阶段(比如等待签署、等待公证)、已生成的交易草稿核心信息(如交易ID、参与方列表、已签署状态);
    • 如果需要更底层的原始数据,可直接查询节点的内部数据库(如H2、PostgreSQL),查看 node_transactions 表中状态为 PENDING 或 SIGNED_BY_PARTIES 的记录,这些就是待处理的交易条目。
  • 自定义Flow状态跟踪:
    在编写Flow时,可以在关键节点(比如生成交易草稿、完成本地签署后)将交易信息存入节点的自定义数据库表,或利用 ServiceHub 的 KeyValueStorage 做临时存储,后续通过自定义接口或工具即可查询这些待处理交易。

2. 查看已签署、等待对方签署的待处理交易列表

当然可以!这类交易属于已完成本地签署但未达成多方共识的状态,你可以通过以下方式批量查看:

  • CLI批量筛选:
    先运行 flow list 筛选出所有处于 WAITING_FOR_SIGNATURES 状态的Flow,再对每个Flow执行 flow info 提取关联交易信息;Corda 4.5及以上版本的部分环境,还支持通过 flow query 命令直接过滤出等待对方签署的Flow及对应交易。
  • 数据库直接查询:
    直接查询节点数据库的 node_transactions 表,筛选 status 字段为 SIGNED 且 notarised 为 false 的记录,同时结合 node_flow_states 表关联Flow的运行状态,就能得到完整的待处理交易列表。
  • 自定义监控组件:
    基于Corda的 StateMachineManager API开发监控工具,实时订阅Flow的状态变更事件,当Flow进入等待对方签署的阶段时,自动记录关联的交易信息,形成可随时查询的待处理列表。

内容的提问来源于stack exchange,提问作者Joel

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.26 10:27:20