我在以下位置找到了查询: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
}
我的querys.qry 文件:
query PlaceOrderTransactions {
description: "select transactions"
statement:
SELECT org.my.namespace.PlaceOrder
}
我可以从 Composer REST 服务器的 swagger api 运行 PlaceOrder 事务。我的交易写出订单,我可以看到它们和交易(/system/transactions 端点)。当我尝试运行我的查询(从命名查询下)时,我没有得到任何返回。我错过了一些明显的东西吗?还有其他方法可以查询我应该使用的交易吗?
最佳答案
它是您定义的完整 CTO 文件(还是您只是显示 CTO 文件的一部分?)
您在 CTO 中定义的 transaction
结构只是您要传递给事务处理器的“输入参数负载结构”(${project-root}/lib 下的 js)
。并且该交易处理器应该更改 CTO 中定义的 Assets
的某些状态,这是通过调用此类交易处理器而导致的。
然后,query.qry
应该查询 Assets 。对于composer记录的交易历史,您可以引用名为Historian的WIP功能。
https://hyperledger.github.io/composer/reference/historian.html
关于hyperledger-fabric - 在 Hyperledger Composer 中查询交易,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45598182/