我试图通过Corda CRaSH外壳检查消耗和未消耗的现金状态。从文档(https://docs.corda.net/releases/release-V2.0/shell.html?highlight=crash%20shell)开始,它表示可以使用shell中的run命令来激活RPC。有没有比YAML链接更好的指南?如何通过shell调出消耗和未消耗的现金状态?
非常感谢
答案 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
的实例(没有创建者,如默认构造,存在):抽象类型需要映射到具体类型,具有自定义反序列化器或包含其他类型信息