官术网_书友最值得收藏!

  • Hyperledger Cookbook
  • Xun (Brian) Wu Chuanfeng Zhang Andrew Zhang
  • 341字
  • 2021-06-24 14:59:43

Creating and executing startFabric.sh

Follow these steps:

  1. Navigate to the itasset folder
  2. Create a Client folder
  3. Under the Client folder, create a script file called startFabric.sh
  4. Create a folder called webapp

Here is the folder structure we have created so far:

The startFabric.sh file contains the following commands:

export MSYS_NO_PATHCONV=1
starttime=$(date +%s)
CC_RUNTIME_LANGUAGE=golang
CC_SRC_PATH=github.com/assetmgr
# clean the keystore
rm -rf ./hfc-key-store
# launch network; create a channel and join peer to the channel
cd /home/ubuntu/fabric-samples/basic-network
./start.sh

The script calls the start.sh file in the fabric-samples section of the basic-network project to bring up the Fabric network. This will start the orderer, couchdb, cli, peer, and ca container. Then, we issue the cli command to install and instantiate our assetmgr chaincode:

# bring up cli cntainer to install, instantiate, invoke chaincode
docker-compose -f ./docker-compose.yml up -d cli
docker exec -e "CORE_PEER_LOCALMSPID=Org1MSP" -e "CORE_PEER_MSPCONFIGPATH=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/users/Admin@org1.example.com/msp" cli peer chaincode install -n assetmgr -v 1.0 -p "$CC_SRC_PATH" -l "$CC_RUNTIME_LANGUAGE"

docker exec -e "CORE_PEER_LOCALMSPID=Org1MSP" -e "CORE_PEER_MSPCONFIGPATH=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/users/Admin@org1.example.com/msp" cli peer chaincode instantiate -o orderer.example.com:7050 -C mychannel -n assetmgr -l "$CC_RUNTIME_LANGUAGE" -v 1.0 -c '{"Args":["100","ipad", "0e83ff"]}' -P "OR ('Org1MSP.member','Org2MSP.member')"

After that, we set up our chaincode in a basic network environment. In the next step, we invoke our chaincode from cli:

docker exec -e "CORE_PEER_LOCALMSPID=Org1MSP" -e "CORE_PEER_MSPCONFIGPATH=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/users/Admin@org1.example.com/msp" cli peer chaincode invoke -o orderer.example.com:7050 -C mychannel -n assetmgr -c '{"Args":["Order", "100", "initial order from school", "New York"]}'

Once the script file is created, it is ready to execute the script. First, we should make sure there aren't any other Docker containers still running. Here are the commands to clean up the Docker environment:

~/fabric-samples/first-network$ ./byfn.sh down
~/fabric-samples/first-network$ docker rm -f $(docker ps -aq)
~/fabric-samples/first-network$ docker network prune

Now, we can run the script.sh file:

~/itasset/client$ ./startFabric.sh

Here is the result after executing the script.sh file:

As we can see from the result, the Fabric CA, client, peer, orderer, and counchdb containers are running. The assetmgr chaincode is installed and instantiated in the blockchain. After executing the invoke order chaincode command, the orgAsset status is changed to ORDER.

主站蜘蛛池模板: 满城县| 福泉市| 曲麻莱县| 仁布县| 沙湾县| 富阳市| 泰来县| 通州区| 巴青县| 渝北区| 珠海市| 兴山县| 仪征市| 辽阳市| 玛曲县| 微山县| 额尔古纳市| 庆城县| 浦北县| 濉溪县| 滨海县| 鸡泽县| 花垣县| 龙江县| 大新县| 丹东市| 施甸县| 团风县| 略阳县| 临西县| 涪陵区| 惠水县| 合江县| 达尔| 杭锦旗| 萨迦县| 鄂尔多斯市| 修武县| 南丰县| 都匀市| 水城县|