패브릭 네트워크 설정 가이드를 사용하여 4 개의 피어를 설정했습니다. CC를 배치 한 다음 REST API 호출을 사용하여 호출 함수를 호출했다.HyperLedger Fabric Blockchain을 쿼리 할 때 오류가 발생했습니다. - "체인 코드에 대한 배포 트랜잭션을 가져올 수 없습니다."
두 메시지가 모두 성공했지만 쿼리 메시지는 단순히 실패합니다. 이는 dev 모드 (peer node start --peer-chaincodedev)에서 인스턴스화 된 단일 피어에 동일한 명령 집합이 적용될 때 제대로 작동하므로 이상합니다.
4 개의 노드는 Docker 컨테이너를 사용하여 설정됩니다. 나는 응답이 그것을 찾을 수 없습니다라고 부르는 호출 후 검색 해시를 기반으로 트랜잭션에 대한 데이터를 검색하는 GET 호출을 수행
{
"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
}
: 여기에 쿼리에 대한 JSON 응답이 어떻게 생겼는지의 예입니다 지정된 트랜잭션.
블록의 데이터를 보면 데이터가 없다는 것을 알 수 있습니다. 즉, 배포 트랜잭션이 실패했다는 의미입니다.
편집 : 다음은 URL http://172.17.0.2:7050/chaincode (POST)에서 배포 JSON을 통해 전달 된 PARAMS 당신이 당신의 chaincode를 배포 할 때이 메시지가 표시되면
{
"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 는 IS 다음 나는 URL에서 REST를 사용하여 통과하고있는 명령을 http://172.17.0.2:7050/chaincode (POST) { "JSONRPC": "2.0", "방법" , "의 PARAMS"를 "전개"{ "유형"1 "chaincodeID"{ "경로": "github.com/hyperledger/fabric/examples/chaincode/go/chaincode_example02" }을 "ctorMsg"{ "기능": "초기화" "인수": "A", "100", "B", "200"] } } "ID"1 } – virajkamat
괜찮아 보인다. –