[Hyperledger fabric] 2. Couchdb 구축

2024. 10. 9. 22:02Project

반응형
SMALL

*가상환경에 Hyperledger가 구축되어있지 않다면 이전 게시물을 참고*

 

[Hyperledger fabric] 1. 구축

이 프로젝트에서는 우분투 리눅스 가상환경에 Hyperledger fabric을 구축하는 방법을 살펴보겠습니다.필요한 소프트웨어 설치가상화(VMware) 설치 및 Ubuntu 환경 구성이 안 되어 있다면 아래 링크를 통

peer-laboratory.tistory.com


 

트랜잭션 결과를 DB에서 확인

 

자산을 확인하는 방법으로는 특정 함수를 조회하거나 DB에서 자산을 확인하는 방법으로 총 두 가지가 있다.

 

본 프로젝트를 진행 중 "/fabric-samples/asset-transfer-ledger-queries/chaincode-go" 경로에 있는 " asset_transfer_ledger_chaincode.go" 파일을 트랜잭션 했을 때 DB가 설정되지 않았던 문제로 자산을 조회하지 못했다.

 

*경로 이동 명령어

cd /fabric-samples/asset-transfer-ledger-queries/chaincode-go

이를 보완하여 다른 파일을 선정하여, 하이퍼레저 패브릭 파일 중 "fabric-samples/asset-transfer-basic/chaincode-go" 경로에 있는 "assetTransfer.go" 파일을 트랜잭션하여 특정 자산 조회와 데이터베이스에서 자산을 확인하였다.

 

*네트워크 생성 명령어

./network.sh up createChannel -c mychannel –s couchdb

기존 네트워크 생성 명령어 뒤에 “–s couchdb” 옵션을 추가하여 배포할 피어 상태의 데이터베이스를 지정하였다.

 

 

컨테이너를 보면 "couchdb0" 컨테이너가 생성된 것을 확인 후 체인코드를 배포하였다.

 

* 체인코드 배포 명령어

./network.sh deployCC -ccn basic -ccp ../asset-transfer-basic/chaincode-go -ccl go –ccep "OR('Org1MSP.peer','Org2MSP.peer')

 

“chaincode invoke successful. result: status:200“ 문구가 뜨면 트랜잭션 성공이다.

 

* 저장된 자산을 쿼리하는 명령어

peer chaincode query -C mychannel -n basic –c '{"Args":["GetAllAssets"]}

 

위 명령어를 입력하면 모든 지갑 불러오면 저장된 자산이 출련된다. 특정 자산만 조회하기 위해 query를 사용해 ”asset6” 자산을 조회

 

* 특정 자산 조회

peer chaincode query -C mychannel -n basic –c '{"Args":["ReadAsset","asset6"]}

 

 다음과 같은 결과를 확인 ”{"AppraisedValue":800,"Color":"white","ID":"asset6","Owner":"Christopher","Size":15}“.

 

 

 

웹에서 아래 주소로 접속하여 ID, PASSWORD를 입력하여 로그인 한다.

http://localhost:5984/_utils/

 

 

 

ID : admin, PASSWORD : mysecretpassword를 입력한다. ID, PASSWORD 정보는 ”couchdb0” 컨테이너에 /opt/couchdb/etc/local.ini 파일에서 확인. 들어가면 네트워크를 생성할 때 사용한 네트워크명으로 데이터베이스 이름이 생성되었고 터미널에 출력됐던 자산을 확인. 또한 ”config” 파일을 열고 ”core.yaml” 파일에 내용 중 ”database” 부분 ”couchdb” 로 수정.

 

 

 

로그인하면 아래 그림과 같은 화면이 보인다.

 

 

 

couchdb에서 JSON 탭에 들어가면 자산을 JSON 형식으로 확인할 수 있다.

 

 

 

 

본 프로젝트는 Hyperledger Fabric과 CouchDB 설정을 하여 자산을 시각적으로 확인하는 프로젝트를 진행했습니다.

추가적인 질문이 있으시면 언제든지 문의해 주세요! 🤗  

 

 

**로그인 오류시 참고**

CouchDB 로그인 오류시 아래 링크를 확인해주세요!

 

https://peer-laboratory.tistory.com/9

 

 

 

 

 

 

 

 

반응형
LIST