Я использую Corda 4.0. При использовании линейных состояний я обнаружил, что можно создавать несколько линейных состояний с одинаковым линейным идентификатором (внешний идентификатор и UUID).
Согласно моей логике для несмешиваемых цифровых активов, линейный идентификатор должен быть уникальным, что-то вроде уникального токена в реализациях блокчейна.
В базе данных, в vault_linear_states (аналогично vault_states и vault_fungible_states ), я вижу, что ограничение первичного ключа определено как " output_index , action_id"
Если какое-то состояние будет изменяться несколько раз, для одной и той же линейной формы будет несколько записей.
столбец output_index , как я вижу в БД, всегда "0".
Вопрос:
1) Какова цель output_index ? Не нашел соответствующей информации.
2) Как правильно работать с линейными состояниями с точки зрения уникальности? Должен ли я программно выбирать и проверять перед вставкой или есть другие способы справиться с этим?