Могут ли два узла иметь разные версии контракта, но один и тот же поток? - PullRequest
0 голосов
/ 28 августа 2018

Возможно ли взаимодействие двух узлов, если у них другая версия состояния, но одинаковая версия потока?

У меня есть случай, когда в сети может быть N узлов, и некоторые узлы могут обновляться медленнее, чем другие.

То есть узел A имеет ObligationV1, а узел B обновлен до ObligationV2, но один и тот же flow-cordapp развернут на обоих.

  1. Может ли это работать?
  2. Может ли общий поток обрабатывать разные версии создания состояний? (при условии, что последовательность отправки / получения одинакова)
  3. Может ли сетевой оператор / респондент занести в черный список V1?
  4. Если это работает, значит ли это, что NodeA является инициатором, а NodeB - ответчиком, тогда создаются состояния V1. И наоборот, тогда станет V2?

1 Ответ

0 голосов
/ 29 августа 2018

1) Да, это должно работать. Как и в случае с новыми шаблонами CorDapp, потоки не зависят от CorDapp, содержащего состояния и контракты.

2) Да, это не должно быть проблемой. Новые состояния будут другого типа.

3) Не сейчас, белый список только для добавления. Это может измениться с ограничениями подписи, которые находятся в работах.

4) Это полностью ваше дело - NodeB по-прежнему будет иметь V1 в своем пути к классам и сможет продолжать создавать состояния V1.

...