科达视图在终端消耗状态
有没有一种简单的方法来查看与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 }
可以工作。 但是,在vaultQueryByCriteria
, criteria
参数的types是QueryCriteria
,它是一个抽象类。 目前在shell中没有办法指定你希望使用的QueryCriteria
具体子类。
我在这里提出了一个问题: https : //github.com/corda/corda/issues/2351 。