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" 

invoke오류

오류는 대략 이런 스타일로 나왔다. 

열심히 구글링 해보니  해결 방법으로는 설치 버전을 체크하는 것 이었다. 

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를 확인한 결과)

 

 

npm 버전 오류 

 

 

 

 

 

위와 같이 제대로 설정하여 체인코드를 재 배포 하고 호출하여  쿼리를 날리면 원하는 값이 출력 된다.

chaincode invoke success

+ Recent posts