Использование Fabric Node SDK 1.4.x с Fabric 2.0

Мы только что перешли на Fabric 2.0, и все наши компоненты (партнер, заказчик, двоичные файлы) имеют версию 2.0.0.

Наш SDK для Fabric Node все еще имеет версию 1.4.8, и большинство его функций работают, например

createChannel, updateChannel, installChaincode etc.

Однако, когда я пытаюсь использовать Channel.sendInstantiateProposal, я получаю сообщение об ошибке

"Channel <channel_name> has been migrated to the new lifecycle. LSCC is now read only".

Я понимаю, что это, вероятно, несоответствие между SDK и компонентами Fabric, однако есть ли какой-либо способ заставить это работать, кроме обновления до Fabric Node SDK 2.0?

Файл configtx.yaml, используемый для подключения к сети, имеет capabilities all set to V2.0:true. Примечания указывают на то, что возможности V2.0 не имеют обратной совместимости, поэтому я предполагаю, что не могу установить для них V1.4 и по-прежнему работать с компонентами Fabric 2.0.

Спасибо


person Ashish Chandra    schedule 27.04.2020    source источник


Ответы (2)


официальная документация, похоже, подтверждает ваше предположение, что SDK не являются обязательно прямая совместимость, когда речь идет о новых функциях, таких как новый жизненный цикл цепного кода (см. синее поле «Примечание»).

person barney2k7    schedule 01.05.2020

В этом случае SDK v1.4 совместим с v2, но новая архитектура чейнкода в v2 не имеет реализации чейнкода как части своего жизненного цикла. Вместо этого он использует новый четырехэтапный процесс, как определено в официальная документация. Вот почему SDK v1.4 дает сбой, в частности, в той строке, где вы вызываете Channel.sendInstantiateProposal (). SDK работает нормально, но эта операция не поддерживается новым жизненным циклом цепного кода.

Что касается решения, к сожалению, в v2 SDK нет возможности выполнять административные задачи, и для таких операций вам нужно использовать Peer CLI.

person redegade    schedule 04.05.2020
comment
Спасибо. Я понял это из документации, а также из разговора с Дадидом Келли в чате Hyperledger. - person Ashish Chandra; 05.05.2020