2017-09-04 21 views
0

我试图构建一个Historian查询,该查询将允许我查看事务(及其原始输入)。我有点基于这个问题尝试一个想法https://github.com/hyperledger/composer/issues/1850,但这是在Composer Playground中修复的。所以现在我想知道如何在REST API中实现这一点,而不依赖事件来保存交易输入信息。如何在超级作曲作曲器查询中显示事务输入数据

我是从下面上查询的文档使用的查询是:

query HistorianRecords { 
    description: "Select from HistorianRecords" 
    statement: SELECT org.hyperledger.composer.system.HistorianRecord 

} 

返回我的信息是这样

{ 
    "$class": "org.hyperledger.composer.system.HistorianRecord", 
    "transactionId": "c1bcd961-41bb-43a3-b5ee-c1c3694f7736", 
    "transactionType": "Transfer", 
    "transactionInvoked": "resource:org.hyperledger.composer.system.Transaction#c1bcd961-41bb-43a3-b5ee-c1c3694f7736", 
    "eventsEmitted": [], 
    "transactionTimestamp": "2017-09-04T07:55:54.405Z" 
    } 

所要显示的交易的输入信息无。

我想知道在线游乐场如何显示它,这基本上包括交易输入,即。在您输入资产NEWVALUE

{ 
"$class": "org.acme.sample.SampleTransaction", 
"asset": "resource:org.acme.sample.SampleAsset#a", 
"newValue": "123", 
"transactionId": "0b7aa7b5-ffed-4fe7-9a60-c883085b88e8", 
"timestamp": "2017-09-04T08:50:53.346Z" 
} 

我的网络涉及款项从参与者发送到参与者,不能够看到谁传给多少谁基本上呈现blockchain毫无意义的样本网络。

我该如何使用查询来做到这一点?

回答

1

因此,实际上,而不是用一个查询历史学家困扰,我得到这个使用此查询

query myTransactions{ 
    description: "return all transactions made (not system transactions)" 
    statement: SELECT org.acme.sample.NAME_OF_TRANSACTION_CLASS 

} 
+0

另一个说明,这只是在Composer 0.12.0中修复 – JezMonkey

1

正确,将工作,作为其查询交易登记(或登记)直接工作。最终,您也应该能够通过Historian Registry进行查询 - 也就是说,交易的输入也应在历史记录中完整显示。历史交易记录与(从Txn注册管理机构)调用的交易有关,以找出“资产(比如说)是什么变化”,即“la Playground”。查询是指为历史记录添加“价值”作为“历史记录”,例如“查询第1期至第2期的x类型交易历史(以及它发生了什么变化)”。在Historian功能中对REST的支持 - 我们也计划为Historian提供REST支持,并且正在进行中(稍后将在发布时更新答案)。

相关问题