Hyperledger

본문 바로가기
사이트 내 전체검색


Hyperledger
Hyperledger

11. Hyperledger Fablic Sambles - First Network 실습 (2)

페이지 정보

작성자 관리자 댓글 0건 조회 2,675회 작성일 19-11-28 22:08

본문

11. Hyperledger Fablic Sambles - First Network 실습 (2)

기존에 설치된 fabric 소스를 삭제하고 다시 설치하는 과정입니다.

root@client:~# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
root@client:~#

Docker 이미지가 있다면 삭제한다.

root@client:~# docker images -q | xargs docker rmi -f


root@client:~# cd hyperledger/
root@client:~/hyperledger# rm -rf fabric-samples/

 

root@client:~/hyperledger# cd
root@client:~# cd gopath/src/
root@client:~/gopath/src# ls
PS  github.com
root@client:~/gopath/src# rm -rf github.com/
root@client:~/gopath/src# 

fabric-samples를 다운로드한다.​


root@client:~# cd hyperledger/

root@client:~/hyperledger# wget https://www.leelab.co.kr/down/hyperledger/fabric-samples.tar.gz
--2019-11-29 23:04:08--  https://www.leelab.co.kr/down/hyperledger/fabric-samples.tar.gz
Resolving www.leelab.co.kr (www.leelab.co.kr)... 202.31.147.218
접속 www.leelab.co.kr (www.leelab.co.kr)|202.31.147.218|:443... 접속됨.
HTTP request sent, awaiting response... 200 OK
Length: 8851277 (8.4M) [application/x-gzip]
Saving to: ‘fabric-samples.tar.gz’

fabric-samples.tar. 100%[===================>]   8.44M  11.1MB/s    in 0.8s

2019-11-29 23:04:09 (11.1 MB/s) - ‘fabric-samples.tar.gz’ saved [8851277/8851277]

root@client:~/hyperledger# ls
fabric-samples.tar.gz
root@client:~/hyperledger# tar xvfz fabric-samples.tar.gz


root@client:~/hyperledger# cd fabric-samples/
root@client:~/hyperledger/fabric-samples# curl -sS https://raw.githubusercontent.com/hyperledger/fabric/master/scripts/bootstrap.sh -o ./scripts/bootstrap.sh
root@client:~/hyperledger/fabric-samples# chmod 755 scripts/bootstrap.sh
root@client:~/hyperledger/fabric-samples# ./scripts/bootstrap.sh -s 

===> List out hyperledger docker images
hyperledger/fabric-javaenv     1.4.4               4648059d209e        12 days ago         1.7GB
hyperledger/fabric-javaenv     latest              4648059d209e        12 days ago         1.7GB
hyperledger/fabric-ca          1.4.4               62a60c5459ae        12 days ago         150MB
hyperledger/fabric-ca          latest              62a60c5459ae        12 days ago         150MB
hyperledger/fabric-tools       1.4.4               7552e1968c0b        13 days ago         1.49GB
hyperledger/fabric-tools       latest              7552e1968c0b        13 days ago         1.49GB
hyperledger/fabric-ccenv       1.4.4               ca4780293e4c        13 days ago         1.37GB
hyperledger/fabric-ccenv       latest              ca4780293e4c        13 days ago         1.37GB
hyperledger/fabric-orderer     1.4.4               dbc9f65443aa        13 days ago         120MB
hyperledger/fabric-orderer     latest              dbc9f65443aa        13 days ago         120MB
hyperledger/fabric-peer        1.4.4               9756aed98c6b        13 days ago         128MB
hyperledger/fabric-peer        latest              9756aed98c6b        13 days ago         128MB
hyperledger/fabric-zookeeper   0.4.18              ede9389347db        3 weeks ago         276MB
hyperledger/fabric-zookeeper   latest              ede9389347db        3 weeks ago         276MB
hyperledger/fabric-kafka       0.4.18              caaae0474ef2        3 weeks ago         270MB
hyperledger/fabric-kafka       latest              caaae0474ef2        3 weeks ago         270MB
hyperledger/fabric-couchdb     0.4.18              d369d4eaa0fd        3 weeks ago         261MB
hyperledger/fabric-couchdb     latest              d369d4eaa0fd        3 weeks ago         261MB
root@client:~/hyperledger/fabric-samples#

bootstrap.sh 실행하면, fabric 실행파일과 docker images를 다운받는다.​

root@client:~/hyperledger/fabric-samples# ls bin
configtxgen    cryptogen  fabric-ca-client      idemixgen  peer
configtxlator  discover   get-docker-images.sh  orderer
root@client:~/hyperledger/fabric-samples#  mkdir ~/bin

root@client:~/hyperledger/fabric-samples# ln -s $(pwd)/bin/* ~/bin/
root@client:~/hyperledger/fabric-samples# ls -l ~/bin/
합계 0
lrwxrwxrwx 1 root root 48 11월 28 22:10 configtxgen -> /root/hyperledger/fabric-samples/bin/configtxgen
lrwxrwxrwx 1 root root 50 11월 28 22:10 configtxlator -> /root/hyperledger/fabric-samples/bin/configtxlator
lrwxrwxrwx 1 root root 46 11월 28 22:10 cryptogen -> /root/hyperledger/fabric-samples/bin/cryptogen
lrwxrwxrwx 1 root root 45 11월 28 22:10 discover -> /root/hyperledger/fabric-samples/bin/discover
lrwxrwxrwx 1 root root 53 11월 28 22:10 fabric-ca-client -> /root/hyperledger/fabric-samples/bin/fabric-ca-client
lrwxrwxrwx 1 root root 57 11월 28 22:10 get-docker-images.sh -> /root/hyperledger/fabric-samples/bin/get-docker-images.sh
lrwxrwxrwx 1 root root 46 11월 28 22:10 idemixgen -> /root/hyperledger/fabric-samples/bin/idemixgen
lrwxrwxrwx 1 root root 44 11월 28 22:10 orderer -> /root/hyperledger/fabric-samples/bin/orderer
lrwxrwxrwx 1 root root 41 11월 28 22:10 peer -> /root/hyperledger/fabric-samples/bin/peer
root@client:~/hyperledger/fabric-samples#

root@client:~/hyperledger/fabric-samples# cd first-network/
root@client:~/hyperledger/fabric-samples/first-network# ./byfn.sh --help
Usage:
  byfn.sh <mode> [-c <channel name>] [-t <timeout>] [-d <delay>] [-f <docker-compose-file>] [-s <dbtype>] [-l <language>] [-o <consensus-type>] [-i <imagetag>] [-a] [-n] [-v]
    <mode> - one of 'up', 'down', 'restart', 'generate' or 'upgrade'
      - 'up' - bring up the network with docker-compose up
      - 'down' - clear the network with docker-compose down
      - 'restart' - restart the network
      - 'generate' - generate required certificates and genesis block
      - 'upgrade'  - upgrade the network from version 1.3.x to 1.4.0
    -c <channel name> - channel name to use (defaults to "mychannel")
    -t <timeout> - CLI timeout duration in seconds (defaults to 10)
    -d <delay> - delay duration in seconds (defaults to 3)
    -s <dbtype> - the database backend to use: goleveldb (default) or couchdb
    -l <language> - the programming language of the chaincode to deploy: go (default), javascript, or java
    -i <imagetag> - the tag to be used to launch the network (defaults to "latest")
    -a - launch certificate authorities (no certificate authorities are launched by default)
    -n - do not deploy chaincode (abstore chaincode is deployed by default)
    -v - verbose mode
  byfn.sh -h (print this message)

Typically, one would first generate the required certificates and
genesis block, then bring up the network. e.g.:

        byfn.sh generate -c mychannel
        byfn.sh up -c mychannel -s couchdb
        byfn.sh up -c mychannel -s couchdb -i 1.4.0
        byfn.sh up -l javascript
        byfn.sh down -c mychannel
        byfn.sh upgrade -c mychannel

Taking all defaults:
        byfn.sh generate
        byfn.sh up
        byfn.sh down
root@client:~/hyperledger/fabric-samples/first-network#

 

root@client:~/hyperledger/fabric-samples/first-network# ./byfn.sh generate
Generating certs and genesis block for channel 'mychannel' with CLI timeout of '10' seconds and CLI delay of '3' seconds
Continue? [Y/n]
proceeding ...
/root/hyperledger/fabric-samples/first-network/../bin/cryptogen

##########################################################
##### Generate certificates using cryptogen tool #########
##########################################################
+ cryptogen generate --config=./crypto-config.yaml
org1.example.com
org2.example.com
+ res=0
+ set +x

Generate CCP files for Org1 and Org2
/root/hyperledger/fabric-samples/first-network/../bin/configtxgen
##########################################################
#########  Generating Orderer Genesis block ##############
##########################################################
CONSENSUS_TYPE=solo
+ '[' solo == solo ']'
+ configtxgen -profile TwoOrgsOrdererGenesis -channelID byfn-sys-channel -outputBlock ./channel-artifacts/genesis.block
2019-11-29 23:09:14.921 KST [common.tools.configtxgen] main -> INFO 001 Loading configuration
2019-11-29 23:09:15.337 KST [common.tools.configtxgen.localconfig] completeInitialization -> INFO 002 orderer type: solo
2019-11-29 23:09:15.338 KST [common.tools.configtxgen.localconfig] Load -> INFO 003 Loaded configuration: /root/hyperledger/fabric-samples/first-network/configtx.yaml
2019-11-29 23:09:15.762 KST [common.tools.configtxgen.localconfig] completeInitialization -> INFO 004 orderer type: solo
2019-11-29 23:09:15.762 KST [common.tools.configtxgen.localconfig] LoadTopLevel -> INFO 005 Loaded configuration: /root/hyperledger/fabric-samples/first-network/configtx.yaml
2019-11-29 23:09:15.767 KST [common.tools.configtxgen] doOutputBlock -> INFO 006 Generating genesis block
2019-11-29 23:09:15.768 KST [common.tools.configtxgen] doOutputBlock -> INFO 007 Writing genesis block
+ res=0
+ set +x

#################################################################
### Generating channel configuration transaction 'channel.tx' ###
#################################################################
+ configtxgen -profile TwoOrgsChannel -outputCreateChannelTx ./channel-artifacts/channel.tx -channelID mychannel
2019-11-29 23:09:15.854 KST [common.tools.configtxgen] main -> INFO 001 Loading configuration
2019-11-29 23:09:16.265 KST [common.tools.configtxgen.localconfig] Load -> INFO 002 Loaded configuration: /root/hyperledger/fabric-samples/first-network/configtx.yaml
2019-11-29 23:09:16.676 KST [common.tools.configtxgen.localconfig] completeInitialization -> INFO 003 orderer type: solo
2019-11-29 23:09:16.676 KST [common.tools.configtxgen.localconfig] LoadTopLevel -> INFO 004 Loaded configuration: /root/hyperledger/fabric-samples/first-network/configtx.yaml
2019-11-29 23:09:16.676 KST [common.tools.configtxgen] doOutputChannelCreateTx -> INFO 005 Generating new channel configtx
2019-11-29 23:09:16.681 KST [common.tools.configtxgen] doOutputChannelCreateTx -> INFO 006 Writing new channel tx
+ res=0
+ set +x

#################################################################
#######    Generating anchor peer update for Org1MSP   ##########
#################################################################
+ configtxgen -profile TwoOrgsChannel -outputAnchorPeersUpdate ./channel-artifacts/Org1MSPanchors.tx -channelID mychannel -asOrg Org1MSP
2019-11-29 23:09:16.773 KST [common.tools.configtxgen] main -> INFO 001 Loading configuration
2019-11-29 23:09:17.203 KST [common.tools.configtxgen.localconfig] Load -> INFO 002 Loaded configuration: /root/hyperledger/fabric-samples/first-network/configtx.yaml
2019-11-29 23:09:17.617 KST [common.tools.configtxgen.localconfig] completeInitialization -> INFO 003 orderer type: solo
2019-11-29 23:09:17.617 KST [common.tools.configtxgen.localconfig] LoadTopLevel -> INFO 004 Loaded configuration: /root/hyperledger/fabric-samples/first-network/configtx.yaml
2019-11-29 23:09:17.617 KST [common.tools.configtxgen] doOutputAnchorPeersUpdate -> INFO 005 Generating anchor peer update
2019-11-29 23:09:17.618 KST [common.tools.configtxgen] doOutputAnchorPeersUpdate -> INFO 006 Writing anchor peer update
+ res=0
+ set +x

#################################################################
#######    Generating anchor peer update for Org2MSP   ##########
#################################################################
+ configtxgen -profile TwoOrgsChannel -outputAnchorPeersUpdate ./channel-artifacts/Org2MSPanchors.tx -channelID mychannel -asOrg Org2MSP
2019-11-29 23:09:17.702 KST [common.tools.configtxgen] main -> INFO 001 Loading configuration
2019-11-29 23:09:18.125 KST [common.tools.configtxgen.localconfig] Load -> INFO 002 Loaded configuration: /root/hyperledger/fabric-samples/first-network/configtx.yaml
2019-11-29 23:09:18.565 KST [common.tools.configtxgen.localconfig] completeInitialization -> INFO 003 orderer type: solo
2019-11-29 23:09:18.566 KST [common.tools.configtxgen.localconfig] LoadTopLevel -> INFO 004 Loaded configuration: /root/hyperledger/fabric-samples/first-network/configtx.yaml
2019-11-29 23:09:18.566 KST [common.tools.configtxgen] doOutputAnchorPeersUpdate -> INFO 005 Generating anchor peer update
2019-11-29 23:09:18.567 KST [common.tools.configtxgen] doOutputAnchorPeersUpdate -> INFO 006 Writing anchor peer update
+ res=0
+ set +x

root@client:~/hyperledger/fabric-samples/first-network# ./byfn.sh up
Starting for channel 'mychannel' with CLI timeout of '10' seconds and CLI delay of '3' seconds
Continue? [Y/n]
proceeding ...
LOCAL_VERSION=1.4.4
DOCKER_IMAGE_VERSION=1.4.4
Creating network "net_byfn" with the default driver
Creating volume "net_peer0.org2.example.com" with default driver
Creating volume "net_peer1.org2.example.com" with default driver
Creating volume "net_peer1.org1.example.com" with default driver
Creating volume "net_peer0.org1.example.com" with default driver
Creating volume "net_orderer.example.com" with default driver
Creating orderer.example.com    ... done
Creating peer0.org1.example.com ... done
Creating peer1.org1.example.com ... done
Creating peer0.org2.example.com ... done
Creating peer1.org2.example.com ... done
Creating cli                    ... done
CONTAINER ID        IMAGE                               COMMAND                  CREATED             STATUS                    PORTS                      NAMES
8ed1d0314fc3        hyperledger/fabric-tools:latest     "/bin/bash"              5 seconds ago       Up Less than a second                                cli
900b5f4fff1c        hyperledger/fabric-peer:latest      "peer node start"        17 seconds ago      Up 6 seconds              0.0.0.0:8051->8051/tcp     peer1.org1.example.com
abbd73d43726        hyperledger/fabric-peer:latest      "peer node start"        17 seconds ago      Up 5 seconds              0.0.0.0:10051->10051/tcp   peer1.org2.example.com
b0951ea77772        hyperledger/fabric-peer:latest      "peer node start"        17 seconds ago      Up 7 seconds              0.0.0.0:7051->7051/tcp     peer0.org1.example.com
db664bd407e6        hyperledger/fabric-orderer:latest   "orderer"                17 seconds ago      Up 5 seconds              0.0.0.0:7050->7050/tcp     orderer.example.com
00417cc06502        hyperledger/fabric-peer:latest      "peer node start"        17 seconds ago      Up 5 seconds              0.0.0.0:9051->9051/tcp     peer0.org2.example.com
23fb2d3ab2d0        hyperledger/fabric-ca               "sh -c 'fabric-ca-..."   2 days ago          Exited (1) 2 days ago                                ca.example.com
0e7f2d6927c3        hyperledger/fabric-couchdb          "tini -- /docker-e..."   2 days ago          Exited (143) 2 days ago                              couchdb

 ____    _____      _      ____    _____
/ ___|  |_   _|    / \    |  _ \  |_   _|
\___ \    | |     / _ \   | |_) |   | |
 ___) |   | |    / ___ \  |  _ <    | |
|____/    |_|   /_/   \_\ |_| \_\   |_|

Build your first network (BYFN) end-to-end test

Channel name : mychannel
+ peer channel create -o orderer.example.com:7050 -c mychannel -f ./channel-artifacts/channel.tx --tls true --cafile /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/ordererOrganizations/example.com/orderers/orderer.example.com/msp/tlscacerts/tlsca.example.com-cert.pem
Creating channel...
+ res=0
+ set +x
2019-11-29 14:09:51.617 UTC [channelCmd] InitCmdFactory -> INFO 001 Endorser and orderer connections initialized
2019-11-29 14:09:51.764 UTC [cli.common] readBlock -> INFO 002 Received block: 0
===================== Channel 'mychannel' created =====================

Having all peers join the channel...
+ peer channel join -b mychannel.block
2019-11-29 14:09:52.043 UTC [channelCmd] InitCmdFactory -> INFO 001 Endorser and orderer connections initialized
2019-11-29 14:09:52.182 UTC [channelCmd] executeJoin -> INFO 002 Successfully submitted proposal to join channel
===================== peer0.org1 joined channel 'mychannel' =====================
+ res=0
+ set +x

+ peer channel join -b mychannel.block
2019-11-29 14:09:55.383 UTC [channelCmd] InitCmdFactory -> INFO 001 Endorser and orderer connections initialized
2019-11-29 14:09:55.492 UTC [channelCmd] executeJoin -> INFO 002 Successfully submitted proposal to join channel
===================== peer1.org1 joined channel 'mychannel' =====================
+ res=0
+ set +x

+ peer channel join -b mychannel.block
+ res=0
+ set +x
2019-11-29 14:09:58.669 UTC [channelCmd] InitCmdFactory -> INFO 001 Endorser and orderer connections initialized
2019-11-29 14:09:58.787 UTC [channelCmd] executeJoin -> INFO 002 Successfully submitted proposal to join channel
===================== peer0.org2 joined channel 'mychannel' =====================
+ peer channel join -b mychannel.block

2019-11-29 14:10:01.941 UTC [channelCmd] InitCmdFactory -> INFO 001 Endorser and orderer connections initialized
2019-11-29 14:10:02.067 UTC [channelCmd] executeJoin -> INFO 002 Successfully submitted proposal to join channel
===================== peer1.org2 joined channel 'mychannel' =====================
+ res=0
+ set +x
+ peer channel update -o orderer.example.com:7050 -c mychannel -f ./channel-artifacts/Org1MSPanchors.tx --tls true --cafile /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/ordererOrganizations/example.com/orderers/orderer.example.com/msp/tlscacerts/tlsca.example.com-cert.pem

Updating anchor peers for org1...
+ res=0
+ set +x
2019-11-29 14:10:05.229 UTC [channelCmd] InitCmdFactory -> INFO 001 Endorser and orderer connections initialized
2019-11-29 14:10:05.255 UTC [channelCmd] update -> INFO 002 Successfully submitted channel update
===================== Anchor peers updated for org 'Org1MSP' on channel 'mychannel' =====================

Updating anchor peers for org2...
+ peer channel update -o orderer.example.com:7050 -c mychannel -f ./channel-artifacts/Org2MSPanchors.tx --tls true --cafile /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/ordererOrganizations/example.com/orderers/orderer.example.com/msp/tlscacerts/tlsca.example.com-cert.pem
+ res=0
+ set +x
2019-11-29 14:10:08.477 UTC [channelCmd] InitCmdFactory -> INFO 001 Endorser and orderer connections initialized
2019-11-29 14:10:08.509 UTC [channelCmd] update -> INFO 002 Successfully submitted channel update
===================== Anchor peers updated for org 'Org2MSP' on channel 'mychannel' =====================
+ peer chaincode install -n mycc -v 1.0 -l golang -p github.com/chaincode/chaincode_example02/go/

Installing chaincode on peer0.org1...
+ res=0
+ set +x
2019-11-29 14:10:11.711 UTC [chaincodeCmd] checkChaincodeCmdParams -> INFO 001 Using default escc
2019-11-29 14:10:11.711 UTC [chaincodeCmd] checkChaincodeCmdParams -> INFO 002 Using default vscc
2019-11-29 14:10:14.145 UTC [chaincodeCmd] install -> INFO 003 Installed remotely response:<status:200 payload:"OK" >
===================== Chaincode is installed on peer0.org1 =====================
+ peer chaincode install -n mycc -v 1.0 -l golang -p github.com/chaincode/chaincode_example02/go/

Install chaincode on peer0.org2...
2019-11-29 14:10:14.310 UTC [chaincodeCmd] checkChaincodeCmdParams -> INFO 001 Using default escc
2019-11-29 14:10:14.310 UTC [chaincodeCmd] checkChaincodeCmdParams -> INFO 002 Using default vscc
2019-11-29 14:10:14.788 UTC [chaincodeCmd] install -> INFO 003 Installed remotely response:<status:200 payload:"OK" >
===================== Chaincode is installed on peer0.org2 =====================

Instantiating chaincode on peer0.org2...
+ res=0
+ set +x
+ peer chaincode instantiate -o orderer.example.com:7050 --tls true --cafile /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/ordererOrganizations/example.com/orderers/orderer.example.com/msp/tlscacerts/tlsca.example.com-cert.pem -C mychannel -n mycc -l golang -v 1.0 -c '{"Args":["init","a","100","b","200"]}' -P 'AND ('''Org1MSP.peer''','''Org2MSP.peer''')'
+ res=0
+ set +x
2019-11-29 14:10:14.943 UTC [chaincodeCmd] checkChaincodeCmdParams -> INFO 001 Using default escc
2019-11-29 14:10:14.943 UTC [chaincodeCmd] checkChaincodeCmdParams -> INFO 002 Using default vscc
===================== Chaincode is instantiated on peer0.org2 on channel 'mychannel' =====================

Querying chaincode on peer0.org1...
===================== Querying on peer0.org1 on channel 'mychannel'... =====================
+ peer chaincode query -C mychannel -n mycc -c '{"Args":["query","a"]}'
Attempting to Query peer0.org1 ...3 secs
+ res=0
+ set +x

100
===================== Query successful on peer0.org1 on channel 'mychannel' =====================
Sending invoke transaction on peer0.org1 peer0.org2...
+ peer chaincode invoke -o orderer.example.com:7050 --tls true --cafile /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/ordererOrganizations/example.com/orderers/orderer.example.com/msp/tlscacerts/tlsca.example.com-cert.pem -C mychannel -n mycc --peerAddresses peer0.org1.example.com:7051 --tlsRootCertFiles /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/ca.crt --peerAddresses peer0.org2.example.com:9051 --tlsRootCertFiles /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/tls/ca.crt -c '{"Args":["invoke","a","b","10"]}'
2019-11-29 14:12:59.420 UTC [chaincodeCmd] chaincodeInvokeOrQuery -> INFO 001 Chaincode invoke successful. result: status:200
===================== Invoke transaction successful on peer0.org1 peer0.org2 on channel 'mychannel' =====================

Installing chaincode on peer1.org2...
+ res=0
+ set +x
+ peer chaincode install -n mycc -v 1.0 -l golang -p github.com/chaincode/chaincode_example02/go/
2019-11-29 14:12:59.677 UTC [chaincodeCmd] checkChaincodeCmdParams -> INFO 001 Using default escc
2019-11-29 14:12:59.678 UTC [chaincodeCmd] checkChaincodeCmdParams -> INFO 002 Using default vscc
2019-11-29 14:13:00.271 UTC [chaincodeCmd] install -> INFO 003 Installed remotely response:<status:200 payload:"OK" >
===================== Chaincode is installed on peer1.org2 =====================

Querying chaincode on peer1.org2...
+ res=0
+ set +x
===================== Querying on peer1.org2 on channel 'mychannel'... =====================
+ peer chaincode query -C mychannel -n mycc -c '{"Args":["query","a"]}'
Attempting to Query peer1.org2 ...3 secs
+ res=0
+ set +x

90
===================== Query successful on peer1.org2 on channel 'mychannel' =====================

========= All GOOD, BYFN execution completed ===========


 _____   _   _   ____
| ____| | \ | | |  _ \
|  _|   |  \| | | | | |
| |___  | |\  | | |_| |
|_____| |_| \_| |____/

 

root@client:~/hyperledger/fabric-samples/first-network# 


root@client:~/hyperledger/fabric-samples/first-network# ./byfn.sh down 

초기화 시킬때  genesis.block 파일을 삭제시킨다.

root@leelab:~/hyperledger/fabric-samples/first-networkrm -fr crypto-config channel-artifacts/genesis.block

​docker 이미지 삭제는 아래 명령으로 실행한다. docker 이미지는 다운받는데 시간이 많이 걸리므로 삭제하지 않는다.

root@leelab:~/hyperledger/fabric-samples/first-network# docker images -q | xargs docker rmi -f ​

 

댓글목록

등록된 댓글이 없습니다.


개인정보취급방침 서비스이용약관 모바일 버전으로 보기 상단으로

TEL. 063-469-4551 FAX. 063-469-4560 전북 군산시 대학로 558
군산대학교 컴퓨터정보공학과

Copyright © www.leelab.co.kr. All rights reserved.