2016-09-29 5 views
1

패브릭 네트워크 설정 가이드를 사용하여 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 
} 
+0

배치에 사용중인 명령을 표시 할 수 있습니까? –

+0

@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

+0

괜찮아 보인다. –

답변

0

가 로깅에서 봐 주시기 바랍니다 것입니다 Error building images: Tag latest not found in repository docker.io/hyperledger/fabric-baseimage. 다음 문제는 docker image hyperledger/fabric-baseimage가 없다는 것입니다.

단지 hyperledger/패브릭 baseimage 이미지와 태그를 당겨 proble를 해결하기 위해 최신으로

기본적으로
docker pull hyperledger/fabric-baseimage:x86_64-0.2.2 
docker tag <image_id> hyperledger/fabric-baseimage:latest 

, 당신은 chaincode, 직물 - baseimage를 실행하는 호스트를 고정 표시기 할 수있는 피어 노드 요청을 배포 할 때 chaincode를 실행합니다. docker ps을 입력하면 성공적으로 chaincode를 배포 할 수 있다면 dev-node_name-04233c6dd8364b9f0749882eb6d1b50992b942aa0a664182946f411ab46802a88574932ccd75f8c75e780036e363d52dd56ccadc2bfde95709fc39148d76f050이 실행 중임을 알 수 있습니다.