Corda如何识别持有Vault查询中找到的每个状态的帐户
我们使用帐户,并且状态与帐户关联 在研究每种类型的状态时,我们使用vaultService和ExternalId来检索每个帐户的状态 示例: serviceHub.vaultService.queryBy(contractStateType=State::class.java, criteria=QueryCriteria.VaultQueryCriteria(externalIds=listOf(accountId))) 但通常情况下,应用程序会从帐户列表中请求数据,是否可以从帐户列表中检索状态并标识每个返回状态所属的帐户 serviceHub.vaultService.queryBy(contractStateType=State::class.java, criteria=QueryCriteria.VaultQueryCriteria(externalIds=listOf(accountId1,accountId2))) 我知道我可以像上面那样传递ExternalID列表,但是我可以从返回的每个状态中识别帐户吗Corda如何识别持有Vault查询中找到的每个状态的帐户,corda,Corda,我们使用帐户,并且状态与帐户关联 在研究每种类型的状态时,我们使用vaultService和ExternalId来检索每个帐户的状态 示例: serviceHub.vaultService.queryBy(contractStateType=State::class.java, criteria=QueryCriteria.VaultQueryCriteria(externalIds=listOf(accountId))) 但通常情况下,应用程序会从帐户列表中请求数据,是否可以从帐户列表中检索状
我曾考虑在美国存储帐户ID,但这不是Corda的建议。
KeyManagementBackedAccountService
有许多有用的功能,包括accountInfo(owningKey:PublicKey)
,请参阅
- 如果
属于持有人
;您可以传递其值并获取相关的公钥类型
AccountInfo
- 如果
属于持有人
;您可以传递抽象方
holder.owningKey
KeyManagementBackedAccountService
具有通过name
或UUID
获取AccountInfo
的其他功能
顺便说一句,您可以在查询中使用
groupby
;因此,可以根据帐户的UUID
对返回的结果进行分组,这样您就可以对每个组运行accountInfo(owningKey)
一次。参见使用groupby
(搜索groupByColumns
)的示例。当您要检查持有者时,是否考虑到州政府有存储持有者的属性?我这样说是因为我所在的州没有持有者财产。我没有把它放在这里,因为它可以通过ExternalID恢复。从文档()中,我认为不需要帐户Id或代表持有人的抽象方。我错了?我需要一个持有者来识别吗?如果你没有添加一个表示谁是所有者/持有者的属性(不管你怎么称呼它),你怎么知道一个国家属于某个账户?阅读自项目开始以来,我发现不识别账户持有者很奇怪,但我依赖于我发送给你的链接。你说得对,非常感谢。