Я пытаюсь, без особой удачи, скомпилировать цепной код EVM, который упакован с Hyperledger Fabri c из https://github.com/hyperledger/fabric-chaincode-evm
Это необходимо для компиляции это до версии 2.0.1 бухгалтерской книги, так как это то, что использует наша сеть, все работает нормально, мне удалось скомпилировать с зависимостью fabri c v2.0.0 в файле зависимостей go .mod, а затем вытащить недостающий 1.4 .0 зависимостей (peer, shim) с
go get github.com/hyperledger/fabric/protos/peer
go get github.com/hyperledger/fabric/core/chaincode/shim
Также изменил интеграцию / vendor / github.com / hyperledger / fabric / protos / common / configuration.proto с 1 на 2, например так:
message Capabilities {
map<string, Capability> capabilities = 2;
}
Однако при создании экземпляра я получаю сообщение об ошибке:
Error: could not assemble transaction, err proposal response was not successful, error code 500, msg Channel 'evm' has been migrated to the new lifecycle, LSCC is now read-only
Я не уверен, где я могу изменить флаг, чтобы использовать новый жизненный цикл внутри цепочки кода EVM, я ' Я не эксперт по go, поэтому я бы лучше поставил вопрос и положился на более опытных разработчиков.
Как мне перейти на новый жизненный цикл?
Я думаю, что мне не хватает параметров команды для утверждения цепного кода для всех узлов в сети, я пытаюсь
peer lifecycle chaincode approveformyorg -o orderer.example.com:7050 --channelID evm --name evmcc --version ${EVM_VERSION} --init-required --package-id ${PACKAGE_ID} --sequence ${EVM_VERSION} --waitForEvent
Но я не знаю, как извлечь идентификатор пакета из установленного пакета кода цепи.
Заранее спасибо.