我使用Fabric Network安装指南的帮助设置了4个对等端。我设法部署了一个CC,然后使用REST API调用调用invoke函数。查询HyperLedger Fabric Blockchain时出错 - “无法获取chaincode的部署事务”
虽然这两个消息都导致成功,但查询消息只是失败。这很奇怪,因为当同一组命令应用于在开发模式下实例化的单个对等(peer node start --peer-chaincodedev)时,它工作正常。
请注意,4个节点使用Docker容器进行设置。以下是对查询的JSON响应看起来像一个例子:
{
"jsonrpc":"2.0",
"error":{
"code":-32003,
"message":"Query failure",
"data":"Error when querying chaincode: Error:Failed to launch chaincode spec(Could not get deployment transaction for 04233c6dd8364b9f0749882eb6d1b50992b942aa0a664182946f411ab46802a88574932ccd75f8c75e780036e363d52dd56ccadc2bfde95709fc39148d76f050 - LedgerError - ResourceNotFound: ledger: resource not found)"
},
"id":5
}
当我进行一个GET调用来检索数据的基础上,调用后检索到的哈希事务调用响应说,它无法找到指定的交易。
查看块中的数据会产生一个我认为没有数据的块 - 这意味着部署事务简单地失败。
编辑: 以下是通过JSON在URL http://172.17.0.2:7050/chaincode(POST)通过了部署PARAMS
{
"jsonrpc":"2.0",
"method":"deploy",
"params":{
"type":1,
"chaincodeID":{
"path":"github.com/hyperledger/fabric/examples/chaincode/go/chaincode_example02"
},
"ctorMsg":{
"function":"init",
"args":[
"a",
"100",
"b",
"200"
]
}
},
"id":1
}
可以请您显示您用于部署的命令吗? –
@SufiyanGhori 以下是我使用REST在URL传递命令:http://172.17.0.2:7050/chaincode(POST) { “jsonrpc”: “2.0”, “方法”: “部署”, “PARAMS”:{ “类型”:1, “chaincodeID”:{ “路径”: “github.com/hyperledger/fabric/examples/chaincode/go/chaincode_example02” }, “ctorMsg”:{ “功能”: “初始化”, “ARGS”:[ “一”, “100”, “b”, “200”] } }, “ID”:1 } – virajkamat
这似乎确定。您可以告诉我们您使用的是哪个版本的结构 –