IBM 区块链(超级账本)- "Error when deploying chaincode"

IBM Blockchain (Hyperledger) - "Error when deploying chaincode"

我按照说明在 IBM Bluemix 仪表板上使用 swagger API 将一些链代码部署到 IBM Hyperledger 区块链。

为了部署一些链代码,我需要提交一个 JSON 请求,其中包含链代码存储库的路径:

{
  "jsonrpc": "2.0",
  "method": "deploy",
  "params": {
    "type": 1,
    "chaincodeID": {
      "path": "https://github.com/series0ne/learn-chaincode/tree/master/finished"
    },
    "ctorMsg": {
      "function": "init",
      "args": [
        "Hello, world"
      ]
    },
    "secureContext": "user_type1_0"
  },
  "id": 0
}

我在尝试部署之前已登录 user_type1_0,但这是我得到的结果:

{
  "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 1\"\npackage github.com/series0ne/learn-chaincode/tree/master/finished: cannot find package \"github.com/series0ne/learn-chaincode/tree/master/finished\" in any of:\n\t/opt/go/src/github.com/series0ne/learn-chaincode/tree/master/finished (from $GOROOT)\n\t/opt/gopath/_usercode_/424324290/src/github.com/series0ne/learn-chaincode/tree/master/finished (from $GOPATH)\n\t/opt/gopath/src/github.com/series0ne/learn-chaincode/tree/master/finished\n"
  },
  "id": 0
}

有什么想法吗?

P.S。当前 运行 提交 Bluemix 上 Hyperledger 区块链的级别 0.6.1。

尝试剥离部署的 'tree/master' 部分 url。请注意,下面链接的示例不包括 url:

的这一部分

https://github.com/IBM-Blockchain/learn-chaincode#deploying-the-chaincode

这个 url 将被传递到节点内部的 go get <url> 命令中,它将下载链代码以便对其进行编译。所以,这个 url 必须匹配这个命令接受的格式。

我尝试根据 Dale 的建议使用 Learn Chaincode 示例来更改 https://github.com/GitHub_ID/learn-chaincode/tree/master/finished to https://github.com/GitHub_ID/learn-chaincode/finished 中的存储库地址。用于此测试的区块链网络是 Bluemix 上的 运行,Hyperledger Fabric 版本为 0.6.1。通过修改路径,可以使用区块链网络界面中的 API 选项卡来部署链代码。

以下是一些需要检查的事项。

  • 来自 https://github.com/IBM-Blockchain/learn-chaincode should be used with a Blockchain network running Hyperledger Fabric version 0.6.1. Is your personal fork even with the v2.0 branch from https://github.com/IBM-Blockchain/learn-chaincode 的 v2.0 分支?
  • 链码部署是否来自用于注册 user_type1_0 用户的同一个验证节点?可以在 API 选项卡的顶部选择验证节点。 Learn Chaincode 说明中有一条注释,指出同一个验证节点必须注册用户并部署链代码。

您的 go get 是由于 ACL 而无法访问您的包的位置的命令,或者根据 IBM 文档其参数无效。请重新检查其格式