Невозможно использовать службы IBM Blockchain после обновления Bluemix 1.0 (Hyperledger 0.6)

Моя команда и я разрабатываем приложение с использованием сервисов Bluemix Blockchain, и мы прекрасно использовали приложение до обновления 1.0. Мы думали, что это может быть ошибка, связанная с библиотекой ibm-blockchain.js, однако мы попытались развернуть ее через REST и все еще получаем ошибки:

{
 "jsonrpc": "2.0",
 "error": {
     "code": -32001,
     "message": "Deployment failure",
     "data": "Error when deploying chaincode: Error getting chaincode package bytes: Error getting code 'go get' failed with error: 'exit status 2'\n# github.com/ibm-blockchain/learn-chaincode/finished\n/go/_usercode_/493306176/src/github.com/ibm-blockchain/learn-chaincode/finished/chaincode_finished.go:38: undefined: shim.ChaincodeStubInterface\n/go/_usercode_/493306176/src/github.com/ibm-blockchain/learn-chaincode/finished/chaincode_finished.go:52: undefined: shim.ChaincodeStubInterface\n/go/_usercode_/493306176/src/github.com/ibm-blockchain/learn-chaincode/finished/chaincode_finished.go:67: undefined: shim.ChaincodeStubInterface\n/go/_usercode_/493306176/src/github.com/ibm-blockchain/learn-chaincode/finished/chaincode_finished.go:80: undefined: shim.ChaincodeStubInterface\n/go/_usercode_/493306176/src/github.com/ibm-blockchain/learn-chaincode/finished/chaincode_finished.go:99: undefined: shim.ChaincodeStubInterface\n"
     },
 "id": 1
}

Наш сервис все еще использует версию 0.5. Мы также обновили локальную версию до 1.0 и попробовали то же самое, чтобы увидеть, была ли ошибка такой же, и похоже, что это так:

12:16:55.666 [devops] getChaincodeBytes -> ERRO 034 Error getting chaincode package bytes: Error getting code 'go get' failed with error: "exit status 1"
package github.com/VitorSousaCode/chaincodes/tree/master/final: cannot find package "github.com/VitorSousaCode/chaincodes/tree/master/final" in any of:
    /opt/go/src/github.com/VitorSousaCode/chaincodes/tree/master/final (from $GOROOT)
    /opt/gopath/_usercode_/796234422/src/github.com/VitorSousaCode/chaincodes/tree/master/final (from $GOPATH)
    /opt/gopath/src/github.com/VitorSousaCode/chaincodes/tree/master/final
12:16:55.671 [devops] Deploy -> ERRO 035 Error deploying chaincode spec: type:GOLANG chaincodeID:<path:"https://github.com/VitorSousaCode/chaincodes/tree/master/final" > ctorMsg:<args:"init" > secureContext:"user_type1_xxxxxxxxx"

Кто-нибудь испытал что-то подобное? Кто-нибудь знает, есть ли у нас возможность продолжать использовать чейнкод Go, который мы разработали ранее, без внесения серьезных изменений?


person Mumumurilo    schedule 16.11.2016    source источник
comment
Ошибки в Bluemix и в локальной среде не совпадают. Первая проблема может быть связана с github.com/IBM-Blockchain/ibm-blockchain. -issues/issues/29, но в локальной среде Fabric не удается найти пакет. Какую команду вы используете для локального развертывания чейнкода?   -  person Sergey Balashevich    schedule 16.11.2016
comment
Мы используем команду REST локально с Postman: { "jsonrpc": "2.0", "method": "deploy", "params": { "type": 1, "chaincodeID": { "path": "https://github.com/VitorSousaCode/chaincodes/final" }, "ctorMsg": { "function": "init", "args": [ "99" ] }, "secureContext": "user_type1_xxxxxxxxx" }, "id": 1 } Что касается первой проблемы, мы посмотрим.   -  person Mumumurilo    schedule 16.11.2016


Ответы (1)


Служба bluemix использовала более старую версию v0.5 Hyperledger Fabric до 10 ноября 2016 г. В этой версии использовался старый синтаксис, т. е. shim.ChaincodeStub.

На странице состояния службы bluemix показано, что на 11.10.2016 версия Fabric на bluemix обновлен до v0.6.1. Эта более новая версия должна использовать новый синтаксис, то есть shim.ChaincodeStubInterface.

Ваша транзакция развертывания завершается со сбоем, поскольку ваш синтаксис в коде цепи не соответствует версии структуры.

Примечание

  • Если вы используете службу bluemix с версией Fabric v0.5, убедитесь, что ваш чейнкод успешно построен с синтаксисом shim.ChaincodeStub.

  • Если вы используете сервис buemix с версией Fabric v0.6, убедитесь, что чейнкод строится с использованием shim.ChaincodeStubInterface. Пример чейнкода с использованием версии 0.6 см. на странице chaincode_example02 v0.6 chaincode

person Clyde D'Cruz    schedule 17.11.2016