Hyperledger Fabric 공식 레퍼런스의 튜토리얼 중 샘플 체인 코드(스마트 계약)을 채널에 배포하고 호출하는 과정에서 오류가 발생했다.
$ peer chaincode invoke -o localhost:7050 ~~~
Error: endorsement failure during invoke. response: status:500 message:"error in simulation: failed to execution transaction ~~~~ : chaincode registration failed: container exited with 1" |
오류는 대략 이런 스타일로 나왔다.
열심히 구글링 해보니 해결 방법으로는 설치 버전을 체크하는 것 이었다.
Hyperledger Fabric은 처음이라 열심히 구글링 해서 여러 블로그를 참고하여 셋팅을 진행했는데, 그래서 그런지 버전이 섞여서 계속 오류가 발생했다.
오류 원인은 크게 2가지 이다.
1. 설치 버전 오류 ( Hyperledger Fabric 나 다른 프로그램 버전 충돌)
2. path 오류
나 같은 경우에는 초기 설정의 Hyperledger Fabric와 docker-compose, docker의 버전이 안맞아서 계속 오류가 발생했다. 재 설치하고 다시 실행해보니 해결 완료
1. 버전을 모두 확인하고 재 설치해주면 된다. (특히 docker-compose와 golang 버전 체크 필수!)
Hyperledger Fabric , docker , docker-compose , git, curl, golang , jq 설치 버전을 확인한다
[ 추천 버전 ]
- Hyperledger Fabric (2.3.1 , 1.4.9)
- docker(version:20.10.5) ,
- docker-compose(version : 1.27.2) -> fabric samples의 test-network를 정상 수행하려면 꼭 최신 버전으로 해야한다!!
- git (version: 2.7.4)
- curl (version :7.47.0)
- golang (version :1.15.X -> 무조건 1.1X 버전으로 설치해야한다.
- jq (version: jq-1.5-1-a5b5cbe)
설치 참고 블로그
https://miiingo.tistory.com/362?category=644184
[Hyperledger Fabric v2.3] fabric-samples/test-network 실행 및 체인코드 배포 방법
■ 사전 준비 fabric-samples/test-network 프로젝트를 실행하기 위해서는 다음이 필요합니다. - Git - cURL - Docker (20.10.5) - Docker Compose (1.27.2) - Go - jq ● 설치 확인 설치를 확..
miiingo.tistory.com
+ chaincode 배포 or 사용을 javascript 나 typescript 로 진행하는 경우 nodejs (node , npm) 의 버전을 꼭 확인해주어야 한다. 버전이 안맞는 경우 이와 같은 오류 발생 ( debug를 확인한 결과)
위와 같이 제대로 설정하여 체인코드를 재 배포 하고 호출하여 쿼리를 날리면 원하는 값이 출력 된다.
'Distribution System > BlockChain' 카테고리의 다른 글
[Hyperledger Fabric] multi-organization 컨소시엄 네트워크 구축하기 (0) | 2021.07.24 |
---|