Как управлять миграцией потоков для обновления контракта?
Каков наилучший способ поддерживать / подходить к обновлению штатов с точки зрения потоков.
Сценарий. Существующий BondStateV1 и потоки используют тип класса BondStateV1, т.е. queryBy<BondStateV1>
Сейчас. Мы хотим обновить BondStateV1 до BondStateV2. Как мы меняем потоки?
- Сохраняем ли мы старые потоки и разворачиваем ли новый FlowCordappV2?
- Или после переноса BondStateV1 в BondStateV2 мы не рекомендуем или удаляем все старые приложения FlowCordapp, рефакторинг для обработки V2 и повторное развертывание?
1 ответ
Решение
Обновления состояния и контракта происходят независимо от потоков, следуя подходу, приведенному здесь: https://docs.corda.net/upgrading-cordapps.html.
Но ваш поток должен будет обрабатывать (потенциальное) присутствие обоих BondStateV1
а также BondStateV2
состояния в сети. Вы можете достичь этого, следуя инструкциям здесь: https://docs.corda.net/upgrading-cordapps.html.