我们需要以下场景的逻辑: 例如,我们有三个方,甲方,乙方和甲方。我们有两个州,即州X和州Y.甲方,乙方创建多个X州,丙方可以查看所有这些州。这些X状态中的至少两个将具有相似的数据.Party C应该通过查找和匹配两个相似的X状态来创建状态Y.我们应该在哪里应用这种匹配逻辑(API或Flow)?如何实现这种情况?
答案 0 :(得分:0)
最好在流程中执行匹配,您可以访问此处记录的完整VaultQuery
API:https://docs.corda.net/api-vault-query.html。
您如何执行匹配取决于您匹配的字段以及这些字段的相似程度。假设,基于CorDapp示例(https://github.com/corda/cordapp-example),我们希望匹配IOUState
为3的value
。然后我们可以写:
val queryCriteria = QueryCriteria.VaultCustomQueryCriteria(
IOUSchemaV1.PersistentIOU::value.equal(3)
)
serviceHub.vaultService.queryBy<IOUState>(queryCriteria)