3

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

例如,如果我创建一个资产fish1,然后进行交易以更新鱼的位置,现在我想获取交易的,fish1以便我可以获取列表geopoints并将它们绘制在地图上。

如果有人做过类似的事情,请帮忙。谢谢

4

1 回答 1

5

链上解决方案

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

  1. 如果您在同一地址更新信息,那么您必须采取预防措施来捕获所有更新。这假设资产有一个可以在交易时添加到的集合。使用这种方法,只需获取地址数据(使用/state/REST-API 调用)并根据需要展开数据更新集合即可。
  2. 另一方面,如果每次更新都会将一条新数据添加到区块链中,那么您将使用某种地址方案(我假设),您可以在“/state?address=xxx”调用中使用前缀收集所有资产更新。您可能还希望获取块以确定顺序,除非每个地址处的数据捕获某种时间信息以进行排序。

当然,使用这两种方法都有利有弊。

链下解决方案

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

于 2018-06-25T11:02:00.060 回答