2017-08-09 92 views
1

我在https://github.com/hyperledger/composer/blob/master/packages/composer-common/test/data/zip/test-archive/queries.qry中发现了一个查询,它显示查询特定交易的能力。我想我会尝试一下,但我从未得到任何结果。下面是我定义的:在hyperledger composer中查询交易

我.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 
} 

我可以从作曲REST服务器的招摇API运行PlaceOrder交易。我的交易写出订单,我可以看到它们以及交易(/系统/交易端点)。当我尝试运行我的查询时(来自命名查询下),我什么都没有收回。我错过了明显的东西吗?是否有另一种方法来查询我应该使用的交易?

回答

2

它是完整的CTO文件,您已经定义(或者你只是显示文件CTO的部分?)

你CTO定义的transaction结构只是一个“输入参数的有效载荷结构”你会通过的该事务处理器(${project-root}/lib)下一个js,而且该事务处理器应该改变CTO定义的asset的一些状态,这导致通过调用例如事务处理器。

query.qry然后应该查询针对该资产,而不是对于作曲家记录的事务历史记录,您可以参考一个名为Historian的WIP功能

https://hyperledger.github.io/composer/reference/historian.html

+0

我只是显示了一段文件。实际上,我已经完成了您提到的有关事务更改状态并查询资产的工作。当我在其他人的CTO文件中看到交易查询时,我很好奇。我认为你的历史学家参考是我正在寻找的。 –

+0

请为我添加一个+1。谢谢! –

相关问题