Как нормализовать блокчейн-хранилище? - PullRequest
3 голосов
/ 08 мая 2019

Мне интересно, как моделировать мои активы, участников, транзакции и события. Я уже посмотрел документацию о том, как сделать это с точки зрения синтаксиса, но мне было интересно, если есть структурированный способ сделать это. Точно так же, как нормализация в реляционных базах данных.

Если у кого-то есть принципы хранения данных в блокчейне, я бы хотел это услышать.

1 Ответ

0 голосов
/ 13 мая 2019

Hyperledger Fabric основана на хранилищах значений ключей (LevelDB и CouchDB), поэтому вы не получите никакой пользы от нормализации данных.В реляционных базах данных вы делаете это для легкой индексации и объединений, но в хранилищах ключей-значений нет такого понятия, как объединения.

Что вы можете сделать, это создать индексы для ваших данных для более быстрого запроса.Это описано в учебном коде Marbles (l.108 +):

let indexName = 'color~name'
let colorNameIndexKey = await stub.createCompositeKey(indexName, [marble.color, marble.name]);

Для моделирования ваших активов в Hyperledger Composer вы можете использовать .cto определения .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...