使用run命令的Corda CRaSH shell的语法是什么?

时间:2018-03-15 08:16:16

标签: corda

我试图通过Corda CRaSH外壳检查消耗和未消耗的现金状态。从文档(https://docs.corda.net/releases/release-V2.0/shell.html?highlight=crash%20shell)开始,它表示可以使用shell中的run命令来激活RPC。有没有比YAML链接更好的指南?如何通过shell调出消耗和未消耗的现金状态?

非常感谢

1 个答案:

答案 0 :(得分:0)

语法记录在此处:https://docs.corda.net/shell.html#querying-the-vault。您可以通过shell在节点的保管库中查询现金状态,如下所示:

run vaultQuery contractStateType: net.corda.finance.contracts.asset.Cash$State

但是,这默认只返回未使用的状态。理论上,您可以使用以下语法查询消耗和未消耗状态:

run vaultQueryByCriteria 
    criteria: { status: net.corda.core.node.services.Vault.StateStatus.ALL }, 
    contractStateType: net.corda.finance.contracts.asset.Cash$State

但是,criteria参数的类型为QueryCriteria,这是一个抽象类。没有办法通过shell指定您要使用具体的子类VaultQueryCriteria。因此,您会收到以下错误:

  

无法解析为命令:无法构造net.corda.core.node.services.vault.QueryCriteria的实例(没有创建者,如默认构造,存在):抽象类型需要映射到具体类型,具有自定义反序列化器或包含其他类型信息