Tools, FAQ, Tutorials:
"byfn.sh up" - Start Up BYFN Network
How to run "byfn.sh up" to start up the BYFN Network?
✍: FYIcenter.com
You can follow this tutorial
to run "byfn.sh up" to Start up the BYFN Network.
The "./byfn.sh up" command automatically generates the configuration again, deploys/starts all containers to the Docker Engine, and runs a set of chaincode tests.
$ cd hyperledger-binaries/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] y
proceeding ...
LOCAL_VERSION=1.4.0
DOCKER_IMAGE_VERSION=2.0.0
=================== WARNING ===================
Local fabric binaries and docker images are
out of sync. This may cause problems.
===============================================
../bin/cryptogen
...
Creating network "net_byfn" with the default driver
Creating volume "net_orderer.example.com" with default driver
Creating volume "net_peer0.org1.example.com" with default driver
Creating volume "net_peer1.org1.example.com" with default driver
Creating volume "net_peer0.org2.example.com" with default driver
Creating volume "net_peer1.org2.example.com" with default driver
Creating peer0.org2.example.com ... done
Creating orderer.example.com ... done
Creating peer0.org1.example.com ... done
Creating peer1.org2.example.com ... done
Creating peer1.org1.example.com ... done
Creating cli ... done
____ _____ _ ____ _____
/ ___| |_ _| / \ | _ \ |_ _|
\___ \ | | / _ \ | |_) | | |
___) | | | / ___ \ | _ < | |
|____/ |_| /_/ \_\ |_| \_\ |_|
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...
====== Channel 'mychannel' created ======
Having all peers join the channel...
====== peer0.org1 joined channel 'mychannel' ======
====== peer1.org1 joined channel 'mychannel' ======
====== peer0.org2 joined channel 'mychannel' ======
====== peer1.org2 joined channel 'mychannel' ======
Updating anchor peers for org1...
+ 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
====== 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
====== Anchor peers updated for org 'Org2MSP' on channel 'mychannel' ======
Installing chaincode on peer0.org1...
+ peer chaincode install -n mycc -v 1.0 -l golang \
-p github.com/chaincode/chaincode_example02/go/
====== Chaincode is installed on peer0.org1 ======
Install chaincode on peer0.org2...
+ peer chaincode install -n mycc -v 1.0 -l golang \
-p github.com/chaincode/chaincode_example02/go/
====== Chaincode is installed on peer0.org2 ======
Instantiating chain
code on peer0.org2...
+ 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'\'')'
====== Chaincode is instantiated on peer0.org2 on channel 'mychannel' ======
Querying chaincode on peer0.org1...
====== Querying on peer0.org1 on channel 'mychannel'... ======
Attempting to Query peer0.org1 ...3 secs
+ peer chaincode query -C mychannel -n mycc -c '{"Args":["query","a"]}'
+ 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:7051 --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"]}'
+ res=0
+ set +x
====== Invoke transaction successful on peer0.org1 peer0.org2 on channel 'mychannel' ======
Installing chaincode on peer1.org2...
+ peer chaincode install -n mycc -v 1.0 -l golang \
-p github.com/chaincode/chaincode_example02/go/
+ res=0
+ set +x
====== Chaincode is installed on peer1.org2 ======
Querying chaincode on peer1.org2...
====== 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"]}'
+ res=0
+ set +x
90
====== Query successful on peer1.org2 on channel 'mychannel' ======
====== All GOOD, BYFN execution completed ======
_____ _ _ ____
| ____| | \ | | | _ \
| _| | \| | | | | |
| |___ | |\ | | |_| |
|_____| |_| \_| |____/
As you can see, the test went like this:
⇒ "byfn.sh down" - Shut Down BYFN Network
⇐ "byfn.sh generate" - Generate BYFN Configuration
2020-05-05, ∼1284🔥, 0💬
Popular Posts:
How To Protect Special Characters in Query String in PHP? If you want to include special characters ...
Can Two Forms Be Nested? Can two forms be nested? The answer is no and yes: No. You can not nest two...
How to build a test service operation to dump everything from the "context.Request" object in the re...
How to use the RSS Online Validator at w3.org? You can follow this tutorial to learn how to use the ...
Where to find tutorials on Using Azure API Management Publisher Dashboard? Here is a list of tutoria...