Как скопировать состояние из чейнкода в обновленную версию чейнкода?

В настоящее время мы экспериментируем с чейнкодом Hyperledger и задаемся вопросом, как мы можем получить доступ к состоянию, хранящемуся в старой версии чейнкода.

Насколько я понимаю, состояние, созданное чейнкодом, не может быть доступно другим чейнкодам, кроме как через транзакцию запроса. Но что происходит, когда необходимо исправить ошибки/проблемы, выпустив обновленную версию. Как мы можем получить полный доступ к состоянию в старом чейнкоде?

Поскольку прямой доступ к старому состоянию чейнкода невозможен, означает ли это, что нам нужно будет создать механизм внутри чейнкодов, позволяющий загружать/копировать/разветвлять его состояние?

Запрос старых данных из старых чейнкодов был бы кошмаром, когда данные фрагментированы по многим версиям чейнкода.


person Kennedy    schedule 13.01.2017    source источник


Ответы (1)


У меня нет документации, подтверждающей это сейчас, но, похоже, в Fabric v1.0 есть вариант этой функции — с новым переключателем под названием «upgrade». Сам не пробовал. Поэтому не знаю, можно ли сделать состояние доступным для разных версий одного и того же чейнкода. И причина неработающей ссылки — разница в идентификаторе чейнкода между двумя версиями одного и того же чейнкода. Посмотрите это видео на YouTube, Обновите код цепочки. (Обратите внимание, что в этом видео используется режим разработки, поэтому для обозначения Chaincode можно использовать данное имя, например mycc)

Также ознакомьтесь с планом улучшения функций структуры здесь, чтобы узнать об этой функцииТкань рядом, презентация

person Ashishkel    schedule 14.01.2017