我使用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
這似乎確定。您可以告訴我們您使用的是哪個版本的結構 –