如何使用资产ID获取hyperledger作曲家的资产历史记录?

问题描述 投票:0回答:2

我有一个我在hyperledger composer中创建的资产,我想使用资产ID获取资产的交易历史记录。

similar question中建议的其中一项工作是向每个对资产进行更改的事务发出事件,然后根据发出的事件查询历史记录。

这就是我的意思

// transaction that is going to make changes to the asset
transaction ModifyAsset{
 o String assetId
}

// event
event ModifyAssetEvent {
 o Asset asset
 o String assetId
}

// queries  the historian record
query searchProductHistory {
  description: "search product by serial number"
  statement: 
    SELECT org.hyperledger.composer.system.HistorianRecord
    WHERE (eventsEmitted[0].assetId == $assetId)
} 

这可能是理想的但不幸的是Hyperledger作曲家不能允许这样的查询。

我可以用来实现我的目标的任何其他解决方案将受到高度赞赏

提前致谢。

hyperledger-fabric hyperledger-composer
2个回答
0
投票

也许如果您进行查询以仅返回具有特定资产ID的事务。

就像是:

let q1 = businessNetworkConnection.buildQuery(
'SELECT org.hyperledger.composer.system.HistorianRecord'
 + 'WHERE (transactionId == assetId)'
);   

0
投票

我的坏,但也许是类似的东西

transaction.transactionInvoked.eventsemitted.asset == assetName

也许是作品。

© www.soinside.com 2019 - 2024. All rights reserved.