我在 Fabric 网络设置指南的帮助下设置了 4 个对等点。我设法部署了一个 CC,然后使用 REST API 调用调用调用函数。
虽然这两条消息都导致成功,但查询消息只是失败了。这很奇怪,因为当将相同的命令集应用于在开发模式下实例化的单个对等点(对等节点启动 --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)
{
"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
}