我已经创建了用于测试CorDapp的MockNetwork和MockNodes。 然后我成功执行了Flows with State。它帮助我将状态存储在分类帐中。
我可以使用以下方法获取以前存储的状态:
mockNode1.rpcOps.vaultAndUpdates().first
.filterStatesOfType<SsiState>()
但无法使用mockNode1的vaultService 获取相同的状态:
mockNode1.services.vaultService.track().first.states
或
mockNode1.vault.track().first.states
可能是什么原因?
答案 0 :(得分:0)
解决方案是改装为Corda M13。在M12.1中,新的保险库查询界面(query()
,track()
)仅部分实施,因此它的行为不符合预期。
或者,如果您希望继续使用M12.1,则可以使用mockNode1.services.vaultService.states()
代替。值得注意的是,此方法将在以后弃用,以支持您最初尝试使用的新接口,并在此处定义:https://docs.corda.net/api-vault.html