我在https://github.com/hyperledger/composer/blob/master/packages/composer-common/test/data/zip/test-archive/queries.qry中找到了一个查询,该查询显示了查询特定交易的能力。我以为我试试这个,但我没有得到任何结果。这是我定义的内容:
我的.cto文件:
namespace org.my.namespace
transaction PlaceOrder {
o String item
o Integer quantity
--> Company requester
--> Company supplier
}
我的queries.qry文件:
query PlaceOrderTransactions {
description: "select transactions"
statement:
SELECT org.my.namespace.PlaceOrder
}
我可以从Composer REST Server的swagger api运行PlaceOrder事务。我的事务写出订单,我可以看到它们和事务(/ system / transactions endpoint)。当我尝试运行我的查询(来自命名查询)时,我什么也得不回来。我错过了一些明显的东西吗有没有其他方法可以查询我应该使用的交易?
答案 0 :(得分:3)
它是您定义的完整CTO文件(或者您只是显示CTO文件的一部分?)
您在CTO中定义的transaction
结构只是您要为事务处理器传递的“输入参数有效负载结构”(${project-root}/lib)
下的js。并且该事务处理器应该更改某些状态CTO中定义的asset
,通过调用此类事务处理器得到。
query.qry
然后应该查询资产。对于作曲家录制的交易历史记录,您可以参考名为Historian的WIP功能。
https://hyperledger.github.io/composer/reference/historian.html