我正在开发最新版本的超级账本作曲家(V0.13),并建立了一个具有多个角色的网络,每个角色都可以调用区块链中的选定交易。我现在想在区块链(?Historian?)中查询针对特定订单(定义的资产类型)执行的所有交易。
我使用了两种不同的方法来提取 Historian 数据,一种是通过直接 API 访问historian.getall()
,另一种是通过定义的查询:
query getHistorianRecords {
description: "get all Historian records"
statement: SELECT org.hyperledger.composer.system.HistorianRecord
}
两个查询都成功,因为它们返回系统内的所有事务。每个前:
ValidatedResource {
'$modelManager': ModelManager { modelFiles: [Object] },
'$namespace': 'org.hyperledger.composer.system',
'$type': 'HistorianRecord',
'$identifier': '0c3274475fed3703692bb7344453ab0910686905451b41d5d08ff1b032732aa1',
'$validator': ResourceValidator { options: {} },
transactionId: '0c3274475fed3703692bb7344453ab0910686905451b41d5d08ff1b032732aa1',
transactionType: 'org.acme.Z2BTestNetwork.CreateOrder',
transactionInvoked:
Relationship {
'$modelManager': [Object],
'$namespace': 'org.acme.Z2BTestNetwork',
'$type': 'CreateOrder',
'$identifier': '0c3274475fed3703692bb7344453ab0910686905451b41d5d08ff1b032732aa1',
'$class': 'Relationship' },
eventsEmitted: [],
transactionTimestamp: 2017-09-22T19:32:48.182Z }
我找不到并且需要的是一种针对单个订单查询交易历史的方法。订单的定义(部分列表)如下:
asset Order identified by orderNumber {
o String orderNumber
o String[] items
o String status
...
o String approved
o String paid
--> Provider provider
--> Shipper shipper
--> Buyer buyer
--> Seller seller
--> FinanceCo financeCo
我正在寻找的是一种机制,它允许我查询区块链以获取与Order with orderNumber = '009'
. 我可以并且已经很容易找到订单#009 的当前状态,但我现在正在寻找针对该订单的交易历史。如何告诉 Historian 或 hyperledger-composer 系统中的其他服务向我提供该信息?