2017-08-09 40 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。謝謝! –