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 文档其参数无效。请重新检查其格式
我按照说明在 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 文档其参数无效。请重新检查其格式