私はhyperledger-composer(V0.13)の最新版に取り組んでおり、複数の役割を持つネットワークを構築しており、それぞれがブロックチェーン内で選択されたトランザクションを呼び出すことができます。私は今、特定のOrder(定義されたタイプの資産)に対して実行されたすべてのトランザクションのブロックチェーン(?Historian?)を照会したいと思います。ハイパーエッジ・コンポーザーを使用して実装されたブロックチェーン内の資産の取引履歴を見つけるにはどうすればよいですか?
私は一度定義されたクエリによるダイレクトAPIアクセスhistorian.getall()
及びその他を通じて、歴史のデータを引っ張っに二つの異なるappoachesを使用しました:
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 }
私が見つけられず、必要なのは、1つのOrderに対するトランザクションの履歴を照会する方法です。次のように注文が(部分的なリスト)に定義されます。
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'
に関連するすべてのレコードを取得するためにblockchainを照会することができますメカニズムです。私はOrder#009の現在の状態を簡単に見つけてもらえますが、その注文に対するトランザクションの履歴を探しています。私は、ヒストリアンやハイパージーガー作曲家システムの別のサービスに、私にその情報を伝える方法を教えてください。