Как запросить транзакции для определенного ресурса в пилообразной сети hyperledger - PullRequest
0 голосов
/ 25 июня 2018

Я выполняю несколько транзакций, например обновление местоположения для актива, и не могу найти способ запросить транзакции на основе этого ресурса:

Например, если я создаю актив fish1, а затем совершаю транзакции для обновления местоположения рыбы, теперь я хочу получить транзакции для fish1, чтобы я мог получить список geopoints и график их на карте.

Если кто-то сделал что-то подобное, пожалуйста, помогите. Спасибо

1 Ответ

0 голосов
/ 25 июня 2018

Решения для цепей

Существует два подхода в зависимости от того, как вы «обновляете» местоположение.

  1. Если вы обновляете информацию по тому же адресу, вы должны принять меры предосторожности, чтобы сохранить все обновления. Это предполагает, что актив имеет коллекцию, которую он может добавить во время транзакции. Используя этот подход, можно просто извлечь данные об адресе (используя вызов /state/ REST-API) и развернуть коллекцию обновлений данных, как вам захочется.
  2. С другой стороны, если каждое обновление приводит к добавлению нового фрагмента данных в блокчейн, тогда вы будете использовать некоторую адресную схему (я полагаю), где вы можете использовать префикс в '/ state? Address = xxx Позвоните, чтобы собрать все обновления активов. Возможно, вы также захотите получить блок для определения порядка, если только данные по каждому адресу не содержат какую-либо информацию о времени для сортировки.

Есть плюсы и минусы, использующие любой подход, конечно.

Внецепные решения

Sawtooth предоставляет реестр событий, в котором клиент (какого-то рода) может регистрировать прослушиватели событий для хранения данных вне цепочки в любой форме, необходимой приложению. Это часто предлагается для решений, которые требуют широкого / расширенного запроса, поскольку пилообразная сеть Merkle Trie (где хранятся данные блокчейна) не обеспечивает такой гибкости.

...