본문 바로가기

IT/Block Chain(Hyperledger)

minifabric 실행

minifabric의 실행 순서를 정리해보았다.

 

simple 체인코드 실행

simple 체인코드 실행시에는 기본적으로 환경변수가 올바르게 되있기 때문에 바로 진행하면 된다.

 

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# 심플체인코드 설치 및 실행
 
# minifab 네트워크 올리기
./minifab up
 
# simple 체인코드 확인
tree vars/chaincode/simple/ -4
 
# simple 체인코드 a 잔액 쿼리
./minifab invoke -'"query", "a"'
 
# 아래와 같은 결과값을 얻으면 성공
# Chaincode invocation results ********************************
  ['\x1b[34m2020-10-06 05:37:18.950 UTC [chaincodeCmd] chaincodeInvokeOrQuery -> INFO 001\x1b[0m Chaincode invoke successful. result: status:200 payload:"200" ']
 
 
# simple 체인코드 b 잔액 쿼리
./minifab invoke -'"query", "b"'
 
# 아래와 같은 결과값을 얻으면 성공
# Chaincode invocation results ********************************
  ['\x1b[34m2020-10-06 05:37:18.950 UTC [chaincodeCmd] chaincodeInvokeOrQuery -> INFO 001\x1b[0m Chaincode invoke successful. result: status:200 payload:"300" ']
cs

 

fabcar 체인코드 실행

1.4 주요 체인코드인 fabcar를 실행하려면 몇가지 변동사항을 고려해서 명령어를 추가해야 한다. 순서는 아래와 같다.

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
 
# fabcar 설치 및 실행
 
# vars/chaincode/ 경로에 fabcar 복사하기
sudo cp -/opt/gopath/src/github.com/hyperledger/honeybee-test-network-raft/chaincode/fabcar/ ./vars/chaincode/fabcar
 
# fabcar 체인코드 확인
ll vars/chaincode/fabcar/
 
# fabcar 설치, 선언, 커밋하기
./minifab install,approve,commit -n fabcar -c mychannel -1.0 -p  '"initLedger"'
 
# fabcar 초기화
./minifab initialize -n fabcar -c mychannel -1.0 -p  '"initLedger"'
 
# fabcar initLedger 인보크
./minifab invoke -'"initLedger"'
 
# fabcar queryLedger 인보크
./minifab invoke -'"queryCar", "CAR1"'
 
# 아래와 같이 CAR1 결과를 가져오면 성공
['\x1b[34m2020-10-06 06:17:58.799 UTC [chaincodeCmd] chaincodeInvokeOrQuery -> INFO 001\x1b[0m Chaincode invoke successful. result: status:200 payload:"{\\"make\\":\\"Ford\\",\\"model\\":\\"Mustang\\",\\"colour\\":\\"red\\",\\"owner\\":\\"Brad\\"}" ']
 
cs

 

블록정보 확인하기

minifabric은 blockquery 명령어를 통해 block 정보를 확인할 수 있다.

 

1
2
3
./minifab blockquery
 
cat ./vars/mychannel_newest_txs.json
cs

 

 

 

특이한 점은 아래와 같이 특정 블록(ex. 8번째 블록)을 확인할 수도 있다.

1
2
3
./minifab blockquery -8
 
cat ./vars/mychannel_8_txs.json
cs

 

 

체인코드 버전 업그레이드

체인코드 업그레이드도 쉽게 가능하다.

 

우선 현재 simple 체인코드의 버전을 확인해보자

simple code의 버전은 1.0이다.

 

체인코드 버전을 다음과 같이 업그레이드합니다.

 

이 과정을 거치고 다시 컨테이너를 확인하면, 체인코드 버전이 업그레이드가 된 것을 확인할 수 있습니다.

이제 simple code의 버전은 2.0이다.

 

 

haccp-common

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
 
cd vars/chaincode/
 
sudo git clone http://Lotty:whxogml1@172.27.42.57:9010/Lotty/haccp-common-chaincode-go.git haccp-common
 
./minifab install,approve,commit -n haccp-common -c mychannel -1.0 -'"initLedger"'
 
./minifab initialize -n haccp-common -c mychannel -1.0 -p  '"initLedger"'
 
./minifab invoke -'"initLedger"'
 
./minifab invoke -'"createCompany", "COM-372, KR-372, (주)LG, lg,  LG, 구길동, 비즈니스컨디션, 비즈니스타입, 해썹썰트"'
 
./minifab invoke -'"createCompany", "COM-606, KR-372, (주)Samsung, samsung,  SAMSUNG,  이길동, 비즈니스컨디션, 비즈니스타입, 해썹썰트"'
 
./minifab invoke -'"queryCompany", "COM-606"'
 
./minifab blockquery
 
cat vars/mychannel_newest_txs.json
 
./minifab invoke -'"QueryAllCompanies"'
cs