匹配逻辑Corda的国家

时间:2018-06-08 10:24:32

标签: logic matching corda flow states

我们需要以下场景的逻辑: 例如,我们有三个方,甲方,乙方和甲方。我们有两个州,即州X和州Y.甲方,乙方创建多个X州,丙方可以查看所有这些州。这些X状态中的至少两个将具有相似的数据.Party C应该通过查找和匹配两个相似的X状态来创建状态Y.我们应该在哪里应用这种匹配逻辑(API或Flow)?如何实现这种情况?

1 个答案:

答案 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)