这里是所有初学者。
我有一个具有以下值的州:
private final Party issuer;
private final Party owner;
private final int patient;
private final String hash;
我想运行一个vaultQuery,它将在其中患者为特定ID的情况下返回交易。例如,如果患者ID为16038382,并且我已经启动了几个包含该ID的流以及具有不同患者ID的多个流,那么我只想运行vaultQuery来包含患者ID为16038382的事务。
我该怎么做?我已经阅读了Vault Query API,但这对我来说没有任何意义。我是否必须设置另一个流程来获取所需的数据?我需要在执行节点的外壳程序中输入什么?非常感谢您提供一些答案,并在此先感谢您。
答案 0 :(得分:0)
如果这只是出于开发目的,并且您只想随便看看您的保管库。 我建议您看一下我们最新的vscode扩展,其中我们实现了一个用于查看Vault的UI。 链接:https://marketplace.visualstudio.com/items?itemName=R3.vscode-corda
如果您是Corda的新手,请随时加入我们的公共休闲@ slack.corda.net
答案 1 :(得分:0)
确保您有一个persistentState
(例如示例persistentPatientState
),并使用如下代码:
val generalCriteria = VaultQueryCriteria(Vault.StateStatus.ALL)
val results = builder {
val patientIndex = PersistentPatientState::patient.equal(12345)
val customCriteria1 = VaultCustomQueryCriteria(patientIndex)
val criteria = generalCriteria.and(customCriteria1)
vaultService.queryBy<Patient.State>(criteria)
}