Blockchain 如何在hyperledger sawtooth中查询特定资源的交易记录

Blockchain 如何在hyperledger sawtooth中查询特定资源的交易记录,blockchain,hyperledger,hyperledger-sawtooth,Blockchain,Hyperledger,Hyperledger Sawtooth,我正在执行多个事务,如资产的位置更新,但找不到任何基于该资源查询事务的方法: 例如,如果我创建一个资产fish1,然后进行事务处理以更新鱼的位置,那么现在我想获取fish1的事务,这样我就可以获得地质点的列表,并将其绘制在地图上 如果有人做过类似的事情,请帮忙。感谢链上解决方案 根据您“更新”位置的方式,有两种方法 如果您在同一地址更新信息,则必须采取预防措施捕获所有更新。这假设资产有一个集合,可以在事务处理时添加到该集合中。使用这种方法,只需获取地址数据(使用/state/REST-API调用

我正在执行多个事务,如资产的位置更新,但找不到任何基于该资源查询事务的方法:

例如,如果我创建一个资产
fish1
,然后进行事务处理以更新鱼的位置,那么现在我想获取
fish1
的事务,这样我就可以获得
地质点的列表,并将其绘制在地图上


如果有人做过类似的事情,请帮忙。感谢链上解决方案

根据您“更新”位置的方式,有两种方法

  • 如果您在同一地址更新信息,则必须采取预防措施捕获所有更新。这假设资产有一个集合,可以在事务处理时添加到该集合中。使用这种方法,只需获取地址数据(使用
    /state/
    REST-API调用)并根据需要显示数据更新集合
  • 另一方面,如果每次更新都会导致一段新数据被添加到区块链中,那么您将使用某种地址方案(我假设),其中您可以在“/state?address=xxx”调用中使用前缀来收集所有资产更新。您可能还希望获取块以确定顺序,除非每个地址的数据捕获某种时间信息进行排序
  • 当然,使用这两种方法都有利弊

    链外解决方案


    Sawtooth提供了一个事件注册表,客户机(某种类型)可以在其中注册事件侦听器,以应用程序所需的任何形式离线存储数据。这通常建议用于具有广泛/丰富查询需求的解决方案,因为sawtooth Merkle Trie(存储区块链数据的地方)不提供这种灵活性。

    Hi@Frank,第一个解决方案是我打算做的,但为该州添加太多数据似乎不是正确的解决方案,我可以查询吗,或者,如果有任何与
    mongodb
    进行账本同步的解决方案,请帮助我。谢谢,我已将账本与
    mongodb
    进行了同步,现在我正在对此进行查询。如果你认为这个问题值得,请投票表决。以防万一,剩下的API:,以及sawtooth的两个展示非链解决方案的项目:,