使用事务ID获取资产和参与者的状态

时间:2018-04-23 13:05:19

标签: hyperledger-fabric hyperledger hyperledger-composer

我从

中给出的步骤创建了REST API

https://hyperledger.github.io/composer/unstable/tutorials/developer-tutorial.html

尝试使用GET /system/historian获取事务历史时。它返回的信息如,

{
   "$class": "org.hyperledger.composer.system.HistorianRecord",
   "transactionId": "0dfaf7e32a4d862f3e6458ac618ed1606e588ed73bec1024700b39039031d16a",
   "transactionType": "org.hyperledger.composer.system.AddParticipant",
   "transactionInvoked": "resource:org.hyperledger.composer.system.AddParticipant#0dfaf7e32a4d862f3e6458ac618ed1606e588ed73bec1024700b39039031d16a",
   "participantInvoking": "resource:org.hyperledger.composer.system.NetworkAdmin#admin",
   "identityUsed": "resource:org.hyperledger.composer.system.Identity#9611e1e7eaf775ec3ab15735f47d241c818367c520006ae88fea7c3afb4ec9c2",
   "eventsEmitted": [],
   "transactionTimestamp": "2018-04-23T07:09:27.979Z"
}

它不会返回有关参与者和资产的任何信息。

我想知道特定交易的资产或参与者的状态。我怎么能得到这个?是否有任何方法/流程可以按事务ID获取详细信息?

1 个答案:

答案 0 :(得分:0)

您可以通过编写查询来获取您添加的参与者的详细信息,以使用类型AddParticipant检索“系统”事务,该事务源自您在上面共享的JSON: "transactionType": "org.hyperledger.composer.system.AddParticipant"

如果您完成了Queries tutorial,那么请回到此处并添加此新查询,您应该拥有所需的信息。

query a2 {
  description: "System Transaction AddParticipant"
  statement:
      SELECT org.hyperledger.composer.system.AddParticipant
}

您可以为AddAsset系统事务创建类似的查询。

(查看Historian和系统事务,您正在查看特定时间点的数据 - 这可能与当前状态有所不同。我只提到这个因为你的问题标题,你提到'获得国家'。)