From 3748983dd97a2719ce6b87c8e1abdb960de87550 Mon Sep 17 00:00:00 2001 From: Simon Stone Date: Wed, 21 Nov 2018 14:40:24 +0000 Subject: [PATCH] [FAB-12879] Update fabcar script for new contracts This CR updates the startFabric.sh script in the fabcar sample to deploy the new fabcar contracts written with the new programming model, in either JavaScript or TypeScript. Because both JavaScript and TypeScript use the chaincode language of "node", we need to separate "source" language from "runtime" language. Also taking the chance to rename the option "golang" to "go" to match the directory. Change-Id: Ib42661223925b1d8df8fd73cf8c1aac9d8a29e59 Signed-off-by: Simon Stone --- fabcar/startFabric.sh | 30 ++++++++++++++++++++++++------ 1 file changed, 24 insertions(+), 6 deletions(-) diff --git a/fabcar/startFabric.sh b/fabcar/startFabric.sh index 49ae19a3e9..89e3bae492 100755 --- a/fabcar/startFabric.sh +++ b/fabcar/startFabric.sh @@ -10,12 +10,30 @@ set -e # don't rewrite paths for Windows Git Bash users export MSYS_NO_PATHCONV=1 starttime=$(date +%s) -LANGUAGE=${1:-"golang"} -CC_SRC_PATH=github.com/fabcar/go -if [ "$LANGUAGE" = "node" -o "$LANGUAGE" = "NODE" ]; then - CC_SRC_PATH=/opt/gopath/src/github.com/fabcar/node +CC_SRC_LANGUAGE=${1:-"go"} +CC_SRC_LANGUAGE=`echo "$CC_SRC_LANGUAGE" | tr [:upper:] [:lower:]` +if [ "$CC_SRC_LANGUAGE" = "go" -o "$CC_SRC_LANGUAGE" = "golang" ]; then + CC_RUNTIME_LANGUAGE=golang + CC_SRC_PATH=github.com/fabcar/go +elif [ "$CC_SRC_LANGUAGE" = "javascript" ]; then + CC_RUNTIME_LANGUAGE=node # chaincode runtime language is node.js + CC_SRC_PATH=/opt/gopath/src/github.com/fabcar/javascript +elif [ "$CC_SRC_LANGUAGE" = "typescript" ]; then + CC_RUNTIME_LANGUAGE=node # chaincode runtime language is node.js + CC_SRC_PATH=/opt/gopath/src/github.com/fabcar/typescript + echo Compiling TypeScript code into JavaScript ... + pushd ../chaincode/fabcar/typescript + npm install + npm run build + popd + echo Finished compiling TypeScript code into JavaScript +else + echo The chaincode language ${CC_SRC_LANGUAGE} is not supported by this script + echo Supported chaincode languages are: go, javascript, and typescript + exit 1 fi + # clean the keystore rm -rf ./hfc-key-store @@ -27,8 +45,8 @@ cd ../basic-network # and prime the ledger with our 10 cars 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 fabcar -v 1.0 -p "$CC_SRC_PATH" -l "$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 fabcar -l "$LANGUAGE" -v 1.0 -c '{"Args":[""]}' -P "OR ('Org1MSP.member','Org2MSP.member')" +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 fabcar -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 fabcar -l "$CC_RUNTIME_LANGUAGE" -v 1.0 -c '{"Args":[""]}' -P "OR ('Org1MSP.member','Org2MSP.member')" sleep 10 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 fabcar -c '{"function":"initLedger","Args":[""]}'