Hyperledger Fabric sample download
http://hyperledger-fabric.readthedocs.io/en/latest/samples.html
cd ~/workspace
git clone https://github.com/hyperledger/fabric-samples.git
cd fabric-samples
ls
hyperledger@vm001:~$ hyperledger@vm001:~$ hyperledger@vm001:~$ cd hyperledger@vm001:~$ ls bin readme.md workspace hyperledger@vm001:~$ cd ~/workspace hyperledger@vm001:~/workspace$ git clone https://github.com/hyperledger/fabric-samples.git Cloning into 'fabric-samples'... remote: Counting objects: 1373, done. remote: Compressing objects: 100% (30/30), done. remote: Total 1373 (delta 6), reused 34 (delta 4), pack-reused 1337 Receiving objects: 100% (1373/1373), 512.34 KiB | 254.00 KiB/s, done. Resolving deltas: 100% (608/608), done. Checking connectivity... done. hyperledger@vm001:~/workspace$ ls fabric-samples orion.log readme.md hyperledger@vm001:~/workspace$ cd fabric-samples/ hyperledger@vm001:~/workspace/fabric-samples$ ls balance-transfer chaincode fabcar first-network LICENSE README.md basic-network chaincode-docker-devmode fabric-ca high-throughput MAINTAINERS.md scripts hyperledger@vm001:~/workspace/fabric-samples$
curl -sSL https://goo.gl/6wtTN5 | bash -s 1.1.0
docker images
ls bin
mkdir ~/bin
ln -s $(pwd)/bin/* ~/bin/
ls -l ~/bin/
peer
hyperledger/fabric-zookeeper latest 92cbb952b6f8 4 weeks ago 1.39GB hyperledger/fabric-zookeeper x86_64-0.4.6 92cbb952b6f8 4 weeks ago 1.39GB hyperledger/fabric-kafka latest 554c591b86a8 4 weeks ago 1.4GB hyperledger/fabric-kafka x86_64-0.4.6 554c591b86a8 4 weeks ago 1.4GB hyperledger/fabric-couchdb latest 7e73c828fc5b 4 weeks ago 1.56GB hyperledger/fabric-couchdb x86_64-0.4.6 7e73c828fc5b 4 weeks ago 1.56GB hyperledger@vm001:~/workspace/fabric-samples$ ls bin configtxgen configtxlator cryptogen fabric-ca-client get-docker-images.sh orderer peer hyperledger@vm001:~/workspace/fabric-samples$ ln -s $(pwd)/bin/* ~/bin/ hyperledger@vm001:~/workspace/fabric-samples$ ls -l ~/bin/ total 4096 -rwxrwxr-x 1 hyperledger hyperledger 4181224 Mar 21 13:05 bash lrwxrwxrwx 1 hyperledger hyperledger 58 Mar 21 13:51 configtxgen -> /home/hyperledger/workspace/fabric-samples/bin/configtxgen lrwxrwxrwx 1 hyperledger hyperledger 60 Mar 21 13:51 configtxlator -> /home/hyperledger/workspace/fabric-samples/bin/configtxlator lrwxrwxrwx 1 hyperledger hyperledger 56 Mar 21 13:51 cryptogen -> /home/hyperledger/workspace/fabric-samples/bin/cryptogen lrwxrwxrwx 1 hyperledger hyperledger 63 Mar 21 13:51 fabric-ca-client -> /home/hyperledger/workspace/fabric-samples/bin/fabric-ca-client lrwxrwxrwx 1 hyperledger hyperledger 67 Mar 21 13:51 get-docker-images.sh -> /home/hyperledger/workspace/fabric-samples/bin/get-docker-images.sh lrwxrwxrwx 1 hyperledger hyperledger 54 Mar 21 13:51 orderer -> /home/hyperledger/workspace/fabric-samples/bin/orderer lrwxrwxrwx 1 hyperledger hyperledger 51 Mar 21 13:51 peer -> /home/hyperledger/workspace/fabric-samples/bin/peer hyperledger@vm001:~/workspace/fabric-samples$ peer 2018-03-21 13:51:41.241 UTC [main] main -> ERRO 001 Fatal error when initializing core config : error when reading core config file: Unsupported Config Type "" hyperledger@vm001:~/workspace/fabric-samples$
Building Your First Network
http://hyperledger-fabric.readthedocs.io/en/latest/build_network.html
cd ~/workspace/fabric-samples
cd first-network
./byfn.sh --help
Generate Network Artifacts
./byfn.sh -m generate
Bring Up the Network
./byfn.sh -m up
docker ps
- 에러로
./byfn.sh -m up
이 실행되지 않는 경우는 아래처럼 down, generate, up 다시 실행
./byfn.sh -m down
./byfn.sh -m generate
sudo rm -fr crypto-config channel-artifacts/genesis.block
./byfn.sh -m up
CORE_PEER_ID=cli CORE_LOGGING_LEVEL=INFO CORE_PEER_ADDRESS=peer1.org2.example.com:7051 + peer chaincode install -n mycc -v 1.0 -l golang -p github.com/chaincode/chaincode_example02/go/ + res=0 + set +x 2018-03-21 14:13:10.078 UTC [chaincodeCmd] checkChaincodeCmdParams -> INFO 001 Using default escc 2018-03-21 14:13:10.078 UTC [chaincodeCmd] checkChaincodeCmdParams -> INFO 002 Using default vscc 2018-03-21 14:13:10.588 UTC [main] main -> INFO 003 Exiting..... ===================== Chaincode is installed on peer1.org2 ===================== Querying chaincode on peer1.org2... CORE_PEER_TLS_ROOTCERT_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/tls/ca.crt CORE_PEER_TLS_KEY_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/server.key CORE_PEER_LOCALMSPID=Org2MSP CORE_VM_ENDPOINT=unix:///host/var/run/docker.sock CORE_PEER_TLS_CERT_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/server.crt CORE_PEER_TLS_ENABLED=true CORE_PEER_MSPCONFIGPATH=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org2.example.com/users/Admin@org2.example.com/msp CORE_PEER_ID=cli CORE_LOGGING_LEVEL=INFO CORE_PEER_ADDRESS=peer1.org2.example.com:7051 ===================== Querying on peer1.org2 on channel 'mychannel'... ===================== Attempting to Query peer1.org2 ...3 secs + peer chaincode query -C mychannel -n mycc -c '{"Args":["query","a"]}'
Bring Down the Network
./byfn.sh -m down
docker ps
docker ps -a
WARNING: Volume net_orderer.example.com not found. c7874ba19c1e ac54fd099d67 4eae3b4762d5 Untagged: dev-peer1.org2.example.com-mycc-1.0-26c2ef32838554aac4f7ad6f100aca865e87959c9a126e86d764c8d01f8346ab:latest Deleted: sha256:e49a7976f75d0b837c7b38e3198b77c700b6b6fb5efb2b71a48b5ff40151aaec Deleted: sha256:cdb943478e1d4041ea44449018d9512f80247ce391e2df92330033788d13515b Deleted: sha256:09a0c7a4eab3bb22f5430486b673974da21bdf44425a6dd05d702d98a514d7a1 Deleted: sha256:f23a18da923239d597c4d20063822647ebf911408745c6890a567a86de1d902a Untagged: dev-peer0.org1.example.com-mycc-1.0-384f11f484b9302df90b453200cfb25174305fce8f53f4e94d45ee3b6cab0ce9:latest Deleted: sha256:41f6754e381fda6c86d6770f927137ec35d89b8ab35536402fe59d70b316e457 Deleted: sha256:cb45259ef427c88d7bab0ccd17ce77cccc08c7f2ade0c9f814ac4dccfb86a7c6 Deleted: sha256:d091cc677fd8f98ce1e8f2219ff9523198eec93884d7af6825e628e0c8f3961c Deleted: sha256:3af60ea28b4625589d2406c84fc81cbf3b9cd01f31d9da0ddfdfa7ee422af795 Untagged: dev-peer0.org2.example.com-mycc-1.0-15b571b3ce849066b7ec74497da3b27e54e0df1345daff3951b94245ce09c42b:latest Deleted: sha256:95eb6282e7bf9502fe34e5ec4c308ecbedc42171995824b555c85292193bff4f Deleted: sha256:a100fa72c1f0a7da4aae2197355e3e80fd63cbeb6a236d1098b92f9409fa5dc0 Deleted: sha256:0c36b33660fbb108c8b2e6fe017d67f90460fd404b6165fc8cc360d5fdbd639d Deleted: sha256:7a7cfca058713e06b12415067fb61a08cb76e5d37e1a2b9d57da4ee611914175 hyperledger@vm001:~/workspace/fabric-samples/first-network$ docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES hyperledger@vm001:~/workspace/fabric-samples/first-network$ docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES hyperledger@vm001:~/workspace/fabric-samples/first-network$
- root 가 아닌 사용자로 실행시에는 추가로 root 사용자로 생성된
crypto-config
와 genesis.block
삭제 필요 sudo rm -fr crypto-config channel-artifacts/genesis.block
Crypto Generator
ls
../bin/cryptogen generate --config=./crypto-config.yaml
ls
export FABRIC_CFG_PATH=$PWD
ls channel-artifacts
../bin/configtxgen -profile TwoOrgsOrdererGenesis -outputBlock ./channel-artifacts/genesis.block
ls channel-artifacts
channel-artifacts docker-compose-couch-org3.yaml eyfn.sh configtx.yaml docker-compose-couch.yaml org3-artifacts <./bin/cryptogen generate --config=./crypto-config.yaml <./bin/cryptogen generate --config=./crypto-config.yaml org1.example.com org2.example.com hyperledger@vm001:~/workspace/fabric-samples/first-network$ ls base crypto-config.yaml docker-compose-org3.yaml byfn.sh docker-compose-cli.yaml eyfn.sh channel-artifacts docker-compose-couch-org3.yaml org3-artifacts configtx.yaml docker-compose-couch.yaml README.md crypto-config docker-compose-e2e-template.yaml scripts hyperledger@vm001:~/workspace/fabric-samples/first-network$ ls crypto-config ordererOrganizations peerOrganizations hyperledger@vm001:~/workspace/fabric-samples/first-network$ export FABRIC_CFG_PATH=$PWD hyperledger@vm001:~/workspace/fabric-samples/first-network$ ls channel-artifacts/ <gsOrdererGenesis -outputBlock ./channel-artifacts/genesis.block <gsOrdererGenesis -outputBlock ./channel-artifacts/genesis.block 2018-03-21 14:42:45.727 UTC [common/tools/configtxgen] main -> INFO 001 Loading configuration 2018-03-21 14:42:45.742 UTC [msp] getMspConfig -> INFO 002 Loading NodeOUs 2018-03-21 14:42:45.743 UTC [msp] getMspConfig -> INFO 003 Loading NodeOUs 2018-03-21 14:42:45.743 UTC [common/tools/configtxgen] doOutputBlock -> INFO 004 Generating genesis block 2018-03-21 14:42:45.745 UTC [common/tools/configtxgen] doOutputBlock -> INFO 005 Writing genesis block <gsOrdererGenesis -outputBlock ./channel-artifacts/genesis.block hyperledger@vm001:~/workspace/fabric-samples/first-network$ ls channel-artifacts/ genesis.block hyperledger@vm001:~/workspace/fabric-samples/first-network$
Create a Channel Configuration Transaction
ls channel-artifacts
export CHANNEL_NAME=mychannel && ../bin/configtxgen -profile TwoOrgsChannel -outputCreateChannelTx ./channel-artifacts/channel.tx -channelID $CHANNEL_NAME
ls channel-artifacts
../bin/configtxgen -profile TwoOrgsChannel -outputAnchorPeersUpdate ./channel-artifacts/Org1MSPanchors.tx -channelID $CHANNEL_NAME -asOrg Org1MSP
ls channel-artifacts
../bin/configtxgen -profile TwoOrgsChannel -outputAnchorPeersUpdate ./channel-artifacts/Org2MSPanchors.tx -channelID $CHANNEL_NAME -asOrg Org2MSP
ls channel-artifacts
2018-03-21 14:52:23.732 UTC [common/tools/configtxgen] main -> INFO 001 Loading configuration 2018-03-21 14:52:23.746 UTC [common/tools/configtxgen] doOutputChannelCreateTx -> INFO 002 Generating new channel configtx 2018-03-21 14:52:23.747 UTC [msp] getMspConfig -> INFO 003 Loading NodeOUs 2018-03-21 14:52:23.748 UTC [msp] getMspConfig -> INFO 004 Loading NodeOUs 2018-03-21 14:52:23.775 UTC [common/tools/configtxgen] doOutputChannelCreateTx -> INFO 005 Writing new channel tx hyperledger@vm001:~/workspace/fabric-samples/first-network$ ls channel-artifacts/ channel.tx genesis.block hyperledger@vm001:~/workspace/fabric-samples/first-network$ ../bin/configtxgen -profile TwoOrgsChannel -outputAnchorPeersUpdate ./channel-artifacts/Org1MSPanchors.tx -channelID $CHANNEL_NAME -asOrg Org1MSP 2018-03-21 14:52:30.690 UTC [common/tools/configtxgen] main -> INFO 001 Loading configuration 2018-03-21 14:52:30.703 UTC [common/tools/configtxgen] doOutputAnchorPeersUpdate -> INFO 002 Generating anchor peer update 2018-03-21 14:52:30.704 UTC [common/tools/configtxgen] doOutputAnchorPeersUpdate -> INFO 003 Writing anchor peer update hyperledger@vm001:~/workspace/fabric-samples/first-network$ ls channel-artifacts/ channel.tx genesis.block Org1MSPanchors.tx hyperledger@vm001:~/workspace/fabric-samples/first-network$ ../bin/configtxgen -profile TwoOrgsChannel -outputAnchorPeersUpdate ./channel-artifacts/Org2MSPanchors.tx -channelID $CHANNEL_NAME -asOrg Org2MSP 2018-03-21 14:52:38.822 UTC [common/tools/configtxgen] main -> INFO 001 Loading configuration 2018-03-21 14:52:38.837 UTC [common/tools/configtxgen] doOutputAnchorPeersUpdate -> INFO 002 Generating anchor peer update 2018-03-21 14:52:38.838 UTC [common/tools/configtxgen] doOutputAnchorPeersUpdate -> INFO 003 Writing anchor peer update hyperledger@vm001:~/workspace/fabric-samples/first-network$ ls channel-artifacts/ channel.tx genesis.block Org1MSPanchors.tx Org2MSPanchors.tx hyperledger@vm001:~/workspace/fabric-samples/first-network$
Start the network
docker ps
docker-compose -f docker-compose-cli.yaml up -d
docker ps
hyperledger@vm001:~/workspace/fabric-samples/first-network$ docker-compose -f docker-compose-cli.yaml up -d 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 peer0.org1.example.com ... done Creating cli ... done Creating orderer.example.com ... Creating peer0.org2.example.com ... Creating peer0.org1.example.com ... Creating peer1.org1.example.com ... Creating cli ... hyperledger@vm001:~/workspace/fabric-samples/first-network$ docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 523bf0eb7839 hyperledger/fabric-tools:latest "/bin/bash" 4 seconds ago Up 2 seconds cli 39b01b51c382 hyperledger/fabric-peer:latest "peer node start" 7 seconds ago Up 4 seconds 0.0.0.0:8051->7051/tcp, 0.0.0.0:8053->7053/tcp peer1.org1.example.com ad6ad20d7ed6 hyperledger/fabric-peer:latest "peer node start" 7 seconds ago Up 3 seconds 0.0.0.0:7051->7051/tcp, 0.0.0.0:7053->7053/tcp peer0.org1.example.com 3bb6e8722694 hyperledger/fabric-peer:latest "peer node start" 7 seconds ago Up 4 seconds 0.0.0.0:9051->7051/tcp, 0.0.0.0:9053->7053/tcp peer0.org2.example.com 7bb3da0abdc6 hyperledger/fabric-orderer:latest "orderer" 7 seconds ago Up 4 seconds 0.0.0.0:7050->7050/tcp orderer.example.com 3824bb32e45f hyperledger/fabric-peer:latest "peer node start" 7 seconds ago Up 4 seconds 0.0.0.0:10051->7051/tcp, 0.0.0.0:10053->7053/tcp peer1.org2.example.com hyperledger@vm001:~/workspace/fabric-samples/first-network$
Create & Join Channel
docker exec -it cli bash
export CHANNEL_NAME=mychannel
peer channel create -o orderer.example.com:7050 -c $CHANNEL_NAME -f ./channel-artifacts/channel.tx --tls --cafile /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/ordererOrganizations/example.com/orderers/orderer.example.com/msp/tlscacerts/tlsca.example.com-cert.pem
ls -l
peer channel join -b mychannel.block
CORE_PEER_MSPCONFIGPATH=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org2.example.com/users/Admin@org2.example.com/msp CORE_PEER_ADDRESS=peer0.org2.example.com:7051 CORE_PEER_LOCALMSPID="Org2MSP" CORE_PEER_TLS_ROOTCERT_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/tls/ca.crt peer channel join -b mychannel.block
Update the anchor peers
peer channel update -o orderer.example.com:7050 -c $CHANNEL_NAME -f ./channel-artifacts/Org1MSPanchors.tx --tls --cafile /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/ordererOrganizations/example.com/orderers/orderer.example.com/msp/tlscacerts/tlsca.example.com-cert.pem
CORE_PEER_MSPCONFIGPATH=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org2.example.com/users/Admin@org2.example.com/msp CORE_PEER_ADDRESS=peer0.org2.example.com:7051 CORE_PEER_LOCALMSPID="Org2MSP" CORE_PEER_TLS_ROOTCERT_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/tls/ca.crt peer channel update -o orderer.example.com:7050 -c $CHANNEL_NAME -f ./channel-artifacts/Org2MSPanchors.tx --tls --cafile /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/ordererOrganizations/example.com/orderers/orderer.example.com/msp/tlscacerts/tlsca.example.com-cert.pem
E_PEER_TLS_ROOTCERT_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/tls/ca.crt peer channel join -b mychannel.block 2018-03-21 15:30:48.889 UTC [channelCmd] InitCmdFactory -> INFO 001 Endorser and orderer connections initialized 2018-03-21 15:30:48.987 UTC [channelCmd] executeJoin -> INFO 002 Successfully submitted proposal to join channel 2018-03-21 15:30:48.987 UTC [main] main -> INFO 003 Exiting..... root@1f0808106c2e:/opt/gopath/src/github.com/hyperledger/fabric/peer# peer channel update -o orderer.example.com:7050 -c $CHANNEL_NAME -f ./channel-artifacts/Org1MSPanchors.tx --tls --cafile /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/ordererOrganizations/example.com/orderers/orderer.example.com/msp/tlscacerts/tlsca.example.com-cert.pem 2018-03-21 15:30:52.591 UTC [channelCmd] InitCmdFactory -> INFO 001 Endorser and orderer connections initialized 2018-03-21 15:30:52.618 UTC [channelCmd] update -> INFO 002 Successfully submitted channel update 2018-03-21 15:30:52.618 UTC [main] main -> INFO 003 Exiting..... root@1f0808106c2e:/opt/gopath/src/github.com/hyperledger/fabric/peer# CORE_PEER_MSPCONFIGPATH=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org2.example.com/users/Admin@org2.example.com/msp CORE_PEER_ADDRESS=peer0.org2.example.com:7051 CORE_PEER_LOCALMSPID="Org2MSP" CORE_PEER_TLS_ROOTCERT_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/tls/ca.crt peer channel update -o orderer.example.com:7050 -c $CHANNEL_NAME -f ./channel-artifacts/Org2MSPanchors.tx --tls --cafile /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/ordererOrganizations/example.com/orderers/orderer.example.com/msp/tlscacerts/tlsca.example.com-cert.pem 2018-03-21 15:30:56.581 UTC [channelCmd] InitCmdFactory -> INFO 001 Endorser and orderer connections initialized 2018-03-21 15:30:56.603 UTC [channelCmd] update -> INFO 002 Successfully submitted channel update 2018-03-21 15:30:56.603 UTC [main] main -> INFO 003 Exiting..... root@1f0808106c2e:/opt/gopath/src/github.com/hyperledger/fabric/peer# exit hyperledger@vm001:~/workspace/fabric-samples/first-network$ exit
Install & Instantiate Chaincode
peer chaincode install -n mycc -v 1.0 -p github.com/chaincode/chaincode_example02/go/
peer chaincode instantiate -o orderer.example.com:7050 --tls --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 $CHANNEL_NAME -n mycc -v 1.0 -c '{"Args":["init","a", "100", "b","200"]}' -P "OR ('Org1MSP.peer','Org2MSP.peer')"
Query
peer chaincode query -C $CHANNEL_NAME -n mycc -c '{"Args":["query","a"]}'
Invoke
peer chaincode invoke -o orderer.example.com:7050 --tls --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 $CHANNEL_NAME -n mycc -c '{"Args":["invoke","a","b","10"]}'
Query
peer chaincode query -C $CHANNEL_NAME -n mycc -c '{"Args":["query","a"]}'
root@523bf0eb7839:/opt/gopath/src/github.com/hyperledger/fabric/peer# root@523bf0eb7839:/opt/gopath/src/github.com/hyperledger/fabric/peer# peer chaincode query -C $CHANNEL_NAME -n mycc -c '{"Args":["query","a"]}' 2018-03-21 15:07:46.862 UTC [chaincodeCmd] checkChaincodeCmdParams -> INFO 001 Using default escc 2018-03-21 15:07:46.862 UTC [chaincodeCmd] checkChaincodeCmdParams -> INFO 002 Using default vscc Query Result: 100 2018-03-21 15:07:46.872 UTC [main] main -> INFO 003 Exiting..... root@523bf0eb7839:/opt/gopath/src/github.com/hyperledger/fabric/peer# peer chaincode invoke -o orderer.example.com:7050 --tls --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 $CHANNEL_NAME -n mycc -c '{"Args":["invoke","a","b","10"]}' 2018-03-21 15:07:52.049 UTC [chaincodeCmd] checkChaincodeCmdParams -> INFO 001 Using default escc 2018-03-21 15:07:52.049 UTC [chaincodeCmd] checkChaincodeCmdParams -> INFO 002 Using default vscc 2018-03-21 15:07:52.064 UTC [chaincodeCmd] chaincodeInvokeOrQuery -> INFO 003 Chaincode invoke successful. result: status:200 2018-03-21 15:07:52.065 UTC [main] main -> INFO 004 Exiting..... root@523bf0eb7839:/opt/gopath/src/github.com/hyperledger/fabric/peer# peer chaincode query -C $CHANNEL_NAME -n mycc -c '{"Args":["query","a"]}' 2018-03-21 15:07:58.452 UTC [chaincodeCmd] checkChaincodeCmdParams -> INFO 001 Using default escc 2018-03-21 15:07:58.452 UTC [chaincodeCmd] checkChaincodeCmdParams -> INFO 002 Using default vscc Query Result: 90 2018-03-21 15:07:58.466 UTC [main] main -> INFO 003 Exiting..... root@523bf0eb7839:/opt/gopath/src/github.com/hyperledger/fabric/peer# exit hyperledger@vm001:~/workspace/fabric-samples/first-network$ hyperledger@vm001:~/workspace/fabric-samples/first-network$ docker ps |grep dev 8114959fcdb0 dev-peer0.org1.example.com-mycc-1.0-384f11f484b9302df90b453200cfb25174305fce8f53f4e94d45ee3b6cab0ce9 "chaincode -peer.add…" 30 seconds ago Up 29 seconds dev-peer0.org1.example.com-mycc-1.0 hyperledger@vm001:~/workspace/fabric-samples/first-network$ exit
How do I see these transactions?
docker logs -f cli
How can I see the chaincode logs?
docker logs dev-peer0.org2.example.com-mycc-1.0
docker logs dev-peer0.org1.example.com-mycc-1.0
docker logs dev-peer1.org2.example.com-mycc-1.0