有没有办法通知缔约方流程已完成?



以Corda文档中描述的流程为例(见这里(,Bob如何在不轮询自己的保管库的情况下收到他刚刚签署的交易已经完成的通知? 是否存在特定的回调?

我需要在Bob节点上运行的CorDapp实时向另一个系统传达交易的状态

多谢

有两种方法可以实现此目的:

1. 使用客户端订阅更新

cordaRPCOPS.vaultTrack(<YourState>.class).getUpdates().subscribe( update -> {
update.getProduced().forEach(stateAndRef -> {
// Action to be Performed on State Update
});
});

2. 订阅使用Corda服务更新:

getServiceHub().getVaultService().trackBy(<YourState>.class).getUpdates().subscribe( update -> {
update.getProduced().forEach(stateAndRef -> {
// Action to be Performed on State Update
});
});

除了阿舒托什的回答,

在标识用于启动流的 API 的 SpringBoot Web 服务器中,您可以使用proxy.startTrackedFlowDynamic()(其中proxy是节点的 RPC 连接(;它返回一个可用于订阅流事件的FlowProgressHandle

最新更新