Отношения основных данных и данных транзакций в композиторе / фабрике Hyperledger - PullRequest
0 голосов
/ 04 июня 2019

Я хочу, чтобы мои основные данные и данные транзакции всегда совпадали.Основные данные вне цепочки, а данные транзакции - вне цепочки.

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

Я знаю, что хеширование - это то, что нужно.Я вижу множество примеров того, что строка хэшируется.Но я не уверен, как хэшировать несколько записей.Я помещаю их все в объект, преобразовываю это в строку и хеширую это?Есть ли более чистый способ сделать это?

1 Ответ

1 голос
/ 04 июня 2019

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

  1. Вы можете десериализовать некоторое объектное представление строк и хэшировать его.
  2. Вы можете получить строки в виде байтового массива (если ваша реализация поддерживает это).
  3. Вы можете объединить все поля и хэшировать их.
  4. и т.д.. и т.д. и т.д ..

Так что ответ таков: вы можете выбрать, что хэшировать, все зависит от того, что вы хотите проверить. Единственное, о чем нужно знать, это то, что при проверке хеша вы должны использовать тот же метод.

...