Corda M12.1 中如何从 MockNode 的 vaultService 获取 Contract State?
How to get Contract State from vaultService of MockNode in Corda M12.1?
我已经创建了用于测试 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
可能是什么原因?
解决方案是变基到 Corda M13。在 M12.1 中,新的保险库查询接口(query()
、track()
)仅部分实现,因此它没有按预期运行。
或者,如果您希望继续使用 M12.1,则可以改用 mockNode1.services.vaultService.states()
。值得注意的是,此方法将被弃用,取而代之的是您最初尝试使用并在此处定义的新接口:https://docs.corda.net/api-vault.html
我已经创建了用于测试 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
可能是什么原因?
解决方案是变基到 Corda M13。在 M12.1 中,新的保险库查询接口(query()
、track()
)仅部分实现,因此它没有按预期运行。
或者,如果您希望继续使用 M12.1,则可以改用 mockNode1.services.vaultService.states()
。值得注意的是,此方法将被弃用,取而代之的是您最初尝试使用并在此处定义的新接口:https://docs.corda.net/api-vault.html