以Corda文档(请参阅这里)中描述的流程为例,鲍勃如何在不轮询自己的保险库的情况下收到他刚刚签署的事务已经完成的通知?是否存在特定的回调?
我需要运行在Bob节点上的CorDapp与另一个系统实时地通信事务的状态。
非常感谢
发布于 2020-05-28 16:59:11
除了阿斯巴托什的回答,
在标识API以启动流的SpringBoot API服务器中,可以使用proxy.startTrackedFlowDynamic()
(其中proxy
是节点的RPC连接);它返回一个FlowProgressHandle
,您可以使用该FlowProgressHandle
订阅流事件。
发布于 2020-05-28 16:24:49
有两种方法可以做到这一点:
1.订阅使用客户端进行更新
cordaRPCOPS.vaultTrack(<YourState>.class).getUpdates().subscribe( update -> {
update.getProduced().forEach(stateAndRef -> {
// Action to be Performed on State Update
});
});
2.订阅使用CordaService:进行更新
getServiceHub().getVaultService().trackBy(<YourState>.class).getUpdates().subscribe( update -> {
update.getProduced().forEach(stateAndRef -> {
// Action to be Performed on State Update
});
});
https://stackoverflow.com/questions/62069336
复制相似问题