科达视图在终端消耗状态

有没有一种简单的方法来查看与CordaRPCOps接口的终端消费状态? 似乎VaultQuery默认返回未使用的状态,我不知道如何使用vaultQueryBy或任何与条件。

我知道应该消费国家,因为我可以看到他们与H2

嗨,你总是可以写一个简短的API来暴露状态:

有现有样本的样本/资产:

这里是你的场景的代码片段api:

@GET @Path("asset") @Produces(MediaType.APPLICATION_JSON) fun getAssets(): List> { val consumedCriteria = QueryCriteria.VaultQueryCriteria(Vault.StateStatus.CONSUMED) return services.vaultQueryBy(consumedCriteria).states } 

正如Ricky所说,你必须提供一个API或者编写一个客户端通过RPC与你的CorDapp交谈(例如https://github.com/corda/cordapp-example/blob/release-V1/kotlin-source/src /main/kotlin/com/example/client/ExampleClientRPC.kt )。

理论上, run vaultQueryByCriteria contractStateType: com.example.state.IOUState, criteria: { Vault.StateStatus.CONSUMED }可以工作。 但是,在vaultQueryByCriteriacriteria参数的types是QueryCriteria ,它是一个抽象类。 目前在shell中没有办法指定你希望使用的QueryCriteria具体子类。

我在这里提出了一个问题: https : //github.com/corda/corda/issues/2351 。