首页 > 解决方案 > 如何在 Corda 帐户上的特定帐户上运行 vaultQuery?

问题描述

我对 Corda 帐户有点菜鸟。它在文档中说节点操作员可以在每个实体的基础上对保险库进行分区。例如,在一个节点上,我创建了 3 个帐户(比如 Alice、Bob 和 Charlie)。一个简单的 IOU 流程,Alice 从 Bob 那里借了 50。你如何管理爱丽丝/鲍勃/查理的保险库?只是为了确保查理无法在同一节点上看到 Bob 或 Alice 之前的任何交易。

标签: corda

解决方案


//Get your accountInfo
val myAccount = accountService.accountInfo(Your_AccountUUID)?.state!!.data

//Build Vault Criteria
val criteria = QueryCriteria.VaultQueryCriteria(
    externalIds = listOf(myAccount.identifier.id))

//Do the query
serviceHub.vaultService.queryBy(
                contractStateType = [YOUR_CORDA_STATE]::class.java,
                criteria = criteria).states

注意:账号还没有正式GA,所以还没有R3支持。我们建议等到正式发布后再在生产中使用它。


推荐阅读