티스토리 뷰

반응형

Hyperledger에서 제공하는 composer-sample-application 중 vehicle-manufacture 실행 시 발생한 오류의 해결 방법입니다.


Hyperledger에서 기본적으로 제공하는 네트워크가 아닌, 직접 구성한 네트워크 환경에서 vehicle-manufacture 프로그램을 연결하는 도중, 에러가 발생했습니다.


install.sh 스크립트를 통해 network install 명령 실행 시, 다음과 같은 에러가 발생했습니다.

# Install the business network archive.
docker run \
  --rm \
  --network honeybee_default \
  -v $(pwd)/vehicle-manufacture-network.bna:/home/composer/vehicle-manufacture-network.bna \
  -v $(pwd)/vldstage:/home/composer/vldstage \
  -v $(pwd)/.vld-card-store:/home/composer/.composer \
  hyperledger/composer-cli:{{COMPOSER-VERSION}} \
  network install --card PeerAdmin@hlfv1 --archiveFile vehicle-manufacture-network.bna
Installing business network. This may take a minute...
Error: Error trying install business network. Error: No valid response from any peers.
Response from attempted peer comms was an error: Error: REQUEST_TIMEOUT
Response from attempted peer comms was an error: Error: REQUEST_TIMEOUT


원인 파악을 위해, hyperldeger/composer-cli 도커 컨테이너를 이용하지 않고 로컬 환경에서 composer 명령을 수행해 보겠습니다.

# Docker 컨테이너를 이용하지 않고 로컬에서 composer network install 명령 실행
cd /opt/gopath/src/github.com/hyperledger/composer-sample-applications/packages/vehicle-manufacture/composer-data-latest/
composer network install --card PeerAdmin@hlfv1 --archiveFile vehicle-manufacture-network.bna

위의 명령어가 정상적으로 실행될 경우, card 생성을 위한 connection.json 설정 부분을 변경해주어야 합니다.

기존에 localhost로 설정했던 grpcs나 https의 주소 값을 IP 주소로 변경해주고 다시 실행하면 정상적으로 실행됩니다!


예를 들어, peer0에 대한 설정은 다음과 같습니다.


Docker 컨테이너는 구동 시에 private IP Address가 eth0에 자동으로 할당되기 때문에, localhost로 설정하면 컨테이너 간의 통신 부분에 문제가 있는 것 같습니다만........ 정확한 이유는 조금 더 공부를 해야 할 것 같습니다.

반응형
댓글
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/04   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
글 보관함