github.com/kchristidis/fabric@v1.0.4-0.20171028114726-837acd08cde1/test/tools/AuctionApp/api_driver.sh (about)

     1  #
     2  # Copyright IBM Corp. All Rights Reserved.
     3  #
     4  # SPDX-License-Identifier: Apache-2.0
     5  #
     6  
     7  ##### GLOBALS ######
     8  CHANNEL_NAME="$1"
     9  CHANNELS="$2"
    10  CHAINCODES="$3"
    11  ENDORSERS="$4"
    12  RUN_TIME_HOURS="$5"
    13  FN_NAME="$6"
    14  
    15  START_COUNT=100
    16  END_COUNT=1000
    17  INTERVAL=100
    18  SLEEP_TIME=10
    19  
    20  ##### SET DEFAULT VALUES #####
    21  : ${CHANNEL_NAME:="mychannel"}
    22  : ${CHANNELS:="1"}
    23  : ${CHAINCODES:="1"}
    24  : ${ENDORSERS:="4"}
    25  : ${TIMEOUT:="10"}
    26  : ${RUN_TIME_HOURS:="1"}
    27  COUNTER=1
    28  MAX_RETRY=5
    29  CHAINCODE_NAME="auctioncc"
    30  LOG_FILE="$GOPATH/src/github.com/hyperledger/fabric/test/envsetup/logs/auction_logs.log"
    31  TEMP_LOG_FILE="temp_auction_logs.log"
    32  ORDERER_IP=orderer.example.com:7050
    33  LOG_LEVEL="error"
    34  
    35  ORDERER_CA=$GOPATH/src/github.com/hyperledger/fabric/peer/crypto/ordererOrganizations/example.com/orderers/orderer.example.com/msp/tlscacerts/tlsca.example.com-cert.pem
    36  
    37  function wait() {
    38  	printf "\nWait for $1 secs\n"
    39  	sleep $1
    40  }
    41  
    42  verifyResult() {
    43  	if [ $1 -ne 0 ]; then
    44  		echo "================== ERROR !!! FAILED to execute End-2-End Scenario Auction ==================" >>$LOG_FILE
    45  		echo "!!!!!!!!!!!!!!! "$2" !!!!!!!!!!!!!!!!" >>$LOG_FILE
    46  		echo "!!!!!!!!!!!!!!! "$2" !!!!!!!!!!!!!!!!"
    47  		echo "================== ERROR !!! FAILED to execute End-2-End Scenario Auction=================="
    48  		exit 1
    49  	fi
    50  }
    51  
    52  function setGlobals() {
    53  
    54  	if [ $1 -eq 0 -o $1 -eq 1 ]; then
    55  		CORE_PEER_LOCALMSPID="Org1MSP"
    56  		CORE_PEER_TLS_ROOTCERT_FILE=$GOPATH/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/ca.crt
    57  		CORE_PEER_MSPCONFIGPATH=$GOPATH/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/users/Admin@org1.example.com/msp
    58  		if [ $1 -eq 0 ]; then
    59  			CORE_PEER_ADDRESS=peer0.org1.example.com:7051
    60  		else
    61  			CORE_PEER_ADDRESS=peer1.org1.example.com:7051
    62  			CORE_PEER_MSPCONFIGPATH=$GOPATH/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/users/Admin@org1.example.com/msp
    63  		fi
    64  	else
    65  		CORE_PEER_LOCALMSPID="Org2MSP"
    66  		CORE_PEER_TLS_ROOTCERT_FILE=$GOPATH/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/tls/ca.crt
    67  		CORE_PEER_MSPCONFIGPATH=$GOPATH/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org2.example.com/users/Admin@org2.example.com/msp
    68  		if [ $1 -eq 2 ]; then
    69  			CORE_PEER_ADDRESS=peer0.org2.example.com:7051
    70  		else
    71  			CORE_PEER_ADDRESS=peer1.org2.example.com:7051
    72  		fi
    73  	fi
    74  }
    75  
    76  createChannel() {
    77  	setGlobals 0
    78  	CH_NUM=$1
    79  
    80  	if [ -z "$CORE_PEER_TLS_ENABLED" -o "$CORE_PEER_TLS_ENABLED" = "false" ]; then
    81  		peer channel create -o $ORDERER_IP -c $CHANNEL_NAME$CH_NUM -f $GOPATH/src/github.com/hyperledger/fabric/peer/channel-artifacts/channel$CH_NUM.tx -t 10 >&$LOG_FILE
    82  		wait 5
    83  	else
    84  		peer channel create -o $ORDERER_IP -c $CHANNEL_NAME$CH_NUM -f $GOPATH/src/github.com/hyperledger/fabric/peer/channel-artifacts/channel$CH_NUM.tx --tls $CORE_PEER_TLS_ENABLED --cafile $ORDERER_CA -t 10 >&$LOG_FILE
    85  		wait 5
    86  	fi
    87  
    88  	res=$?
    89  	verifyResult $res "Channel creation failed"
    90  	echo "==== Channel \"$CHANNEL_NAME\" is created successfully ==== " >>$LOG_FILE
    91  	echo
    92  }
    93  
    94  updateAnchorPeers() {
    95  	PEER=$1
    96  	CH_NUM=$2
    97  	setGlobals $PEER
    98  
    99  	if [ -z "$CORE_PEER_TLS_ENABLED" -o "$CORE_PEER_TLS_ENABLED" = "false" ]; then
   100  		peer channel create -o $ORDERER_IP -c $CHANNEL_NAME$CH_NUM -f $GOPATH/src/github.com/hyperledger/fabric/peer/channel-artifacts/${CORE_PEER_LOCALMSPID}anchors$CH_NUM.tx >>$LOG_FILE
   101  	else
   102  		peer channel create -o $ORDERER_IP -c $CHANNEL_NAME$CH_NUM -f $GOPATH/src/github.com/hyperledger/fabric/peer/channel-artifacts/${CORE_PEER_LOCALMSPID}anchors$CH_NUM.tx --tls $CORE_PEER_TLS_ENABLED --cafile $ORDERER_CA >>$LOG_FILE
   103  	fi
   104  
   105  	res=$?
   106  	verifyResult $res "Anchor peer update failed"
   107  	echo "==== Anchor peers for org \"$CORE_PEER_LOCALMSPID\" on \"$CHANNEL_NAME\" is updated successfully ==== " >>$LOG_FILE
   108  	echo
   109  }
   110  
   111  ## Sometimes Join takes time hence RETRY atleast for 5 times
   112  joinWithRetry() {
   113  	for ((i = 0; $i < $CHANNELS; i++)); do
   114  		peer channel join -b $CHANNEL_NAME$i.block >>$LOG_FILE
   115  		res=$?
   116  
   117  		if [ $res -ne 0 -a $COUNTER -lt $MAX_RETRY ]; then
   118  			COUNTER=$(expr $COUNTER + 1)
   119  			echo "PEER$1 failed to join the channel, Retry after 2 seconds" >>$LOG_FILE
   120  			wait 2
   121  			joinWithRetry $1
   122  		else
   123  			COUNTER=1
   124  		fi
   125  		verifyResult $res "After $MAX_RETRY attempts, PEER$ch has failed to Join the Channel"
   126  		echo "==== PEER$1 joined on the channel \"$CHANNEL_NAME$i\" ==== " >>$LOG_FILE
   127  		wait 2
   128  	done
   129  }
   130  
   131  joinChannel() {
   132  	for ((peer = 0; $peer < $ENDORSERS; peer++)); do
   133  		setGlobals $peer
   134  		joinWithRetry $peer
   135  		wait 2
   136  		echo
   137  	done
   138  }
   139  
   140  installChaincode() {
   141  	for ((i = 0; $i < $ENDORSERS; i++)); do
   142  		for ((ch = 0; $ch < $CHAINCODES; ch++)); do
   143  			PEER=$i
   144  			setGlobals $PEER
   145  			peer chaincode install -n $CHAINCODE_NAME$ch -v 1 -p github.com/hyperledger/fabric/test/chaincodes/AuctionApp >>$LOG_FILE
   146  
   147  			res=$?
   148  			verifyResult $res "Chaincode '$CHAINCODE_NAME$ch' installation on remote peer PEER$PEER has Failed"
   149  			echo "==== Chaincode '$CHAINCODE_NAME$ch' is installed on remote peer PEER$PEER ==== " >>$LOG_FILE
   150  			echo
   151  		done
   152  	done
   153  }
   154  
   155  instantiateChaincode() {
   156  	PEER=$1
   157  	setGlobals $PEER
   158  
   159  	for ((i = 0; $i < $CHANNELS; i++)); do
   160  		for ((ch = 0; $ch < $CHAINCODES; ch++)); do
   161  			if [ -z "$CORE_PEER_TLS_ENABLED" -o "$CORE_PEER_TLS_ENABLED" = "false" ]; then
   162  				peer chaincode instantiate -o $ORDERER_IP -C $CHANNEL_NAME$i -n $CHAINCODE_NAME$ch -v 1 -c '{"Args":["init"]}' -P "OR ('Org1MSP.member','Org2MSP.member')" >>$LOG_FILE
   163  			else
   164  				peer chaincode instantiate -o $ORDERER_IP --tls $CORE_PEER_TLS_ENABLED --cafile $ORDERER_CA -C $CHANNEL_NAME$i -n $CHAINCODE_NAME$ch -v 1 -c '{"Args":["init"]}' -P "OR ('Org1MSP.member','Org2MSP.member')" >>$LOG_FILE
   165  			fi
   166  
   167  			res=$?
   168  			verifyResult $res "Chaincode '$CHAINCODE_NAME$ch' instantiation on PEER$PEER on channel '$CHANNEL_NAME$i' failed"
   169  			echo "==== Chaincode '$CHAINCODE_NAME$ch' Instantiation on PEER$PEER on channel '$CHANNEL_NAME$i' is successful ==== " >>$LOG_FILE
   170  			echo
   171  		done
   172  	done
   173  	wait 10
   174  }
   175  
   176  function postUsers() {
   177  	local CH_NUM=$1
   178  	local CHAIN_NUM=$2
   179  
   180  	if [ -z "$CORE_PEER_TLS_ENABLED" -o "$CORE_PEER_TLS_ENABLED" = "false" ]; then
   181  
   182  		setGlobals $(((RANDOM % 3)))
   183  		peer chaincode invoke -o $ORDERER_IP -C $CHANNEL_NAME$CH_NUM -n $CHAINCODE_NAME$CHAIN_NUM -c '{"Args":["iPostUser","100", "USER", "Ashley Hart", "TRD",  "Morrisville Parkway, #216, Morrisville, NC 27560", "9198063535", "ashley@itpeople.com", "SUNTRUST", "0001732345", "0234678", "2017-01-02 15:04:05"]}' --logging-level=$LOG_LEVEL >>$LOG_FILE
   184  		verifyResult $? "postUsers() transaction on $CHANNEL_NAME$CH_NUM/$CHAINCODE_NAME$CHAIN_NUM failed"
   185  		peer chaincode invoke -o $ORDERER_IP -C $CHANNEL_NAME$CH_NUM -n $CHAINCODE_NAME$CHAIN_NUM -c '{"Args":["iPostUser","200", "USER", "Sotheby", "AH",  "One Picadally Circus , #216, London, UK ", "9198063535", "admin@sotheby.com", "Standard Chartered", "0001732345", "0234678", "2017-01-02 15:04:05"]}' --logging-level=$LOG_LEVEL >>$LOG_FILE
   186  		verifyResult $? "postUsers() transaction on $CHANNEL_NAME$CH_NUM/$CHAINCODE_NAME$CHAIN_NUM failed"
   187  		peer chaincode invoke -o $ORDERER_IP -C $CHANNEL_NAME$CH_NUM -n $CHAINCODE_NAME$CHAIN_NUM -c '{"Args":["iPostUser","300", "USER", "Barry Smith", "TRD",  "155 Regency Parkway, #111, Cary, 27518 ", "9198063535", "barry@us.ibm.com", "RBC Centura", "0001732345", "0234678", "2017-01-02 15:04:05"]}' --logging-level=$LOG_LEVEL >>$LOG_FILE
   188  		verifyResult $? "postUsers() transaction on $CHANNEL_NAME$CH_NUM/$CHAINCODE_NAME$CHAIN_NUM failed"
   189  
   190  		setGlobals $(((RANDOM % 3)))
   191  		peer chaincode invoke -o $ORDERER_IP -C $CHANNEL_NAME$CH_NUM -n $CHAINCODE_NAME$CHAIN_NUM -c '{"Args":["iPostUser","400", "USER", "Cindy Patterson", "TRD",  "155 Sunset Blvd, Beverly Hills, CA, USA ", "9058063535", "cpatterson@hotmail.com", "RBC Centura", "0001732345", "0234678", "2017-01-02 15:04:05"]}' --logging-level=$LOG_LEVEL >>$LOG_FILE
   192  		verifyResult $? "postUsers() transaction on $CHANNEL_NAME$CH_NUM/$CHAINCODE_NAME$CHAIN_NUM failed"
   193  		peer chaincode invoke -o $ORDERER_IP -C $CHANNEL_NAME$CH_NUM -n $CHAINCODE_NAME$CHAIN_NUM -c '{"Args":["iPostUser","500", "USER", "Tamara Haskins", "TRD",  "155 Sunset Blvd, Beverly Hills, CA, USA ", "9058063535", "tamara@yahoo.com", "RBC Centura", "0001732345", "0234678", "2017-01-02 15:04:05"]}' --logging-level=$LOG_LEVEL >>$LOG_FILE
   194  		verifyResult $? "postUsers() transaction on $CHANNEL_NAME$CH_NUM/$CHAINCODE_NAME$CHAIN_NUM failed"
   195  		peer chaincode invoke -o $ORDERER_IP -C $CHANNEL_NAME$CH_NUM -n $CHAINCODE_NAME$CHAIN_NUM -c '{"Args":["iPostUser","600", "USER", "NY Life", "INS",  "155 Broadway, New York, NY, USA ", "9058063535", "barry@nyl.com", "RBC Centura", "0001732345", "0234678", "2017-01-02 15:04:05"]}' --logging-level=$LOG_LEVEL >>$LOG_FILE
   196  		verifyResult $? "postUsers() transaction on $CHANNEL_NAME$CH_NUM/$CHAINCODE_NAME$CHAIN_NUM failed"
   197  
   198  		setGlobals $(((RANDOM % 3)))
   199  		peer chaincode invoke -o $ORDERER_IP -C $CHANNEL_NAME$CH_NUM -n $CHAINCODE_NAME$CHAIN_NUM -c '{"Args":["iPostUser","700", "USER", "J B Hunt", "SHP",  "One Johnny Blvd, Rogers, AR, USA ", "9058063535", "jess@jbhunt.com", "RBC Centura", "0001732345", "0234678", "2017-01-02 15:04:05"]}' --logging-level=$LOG_LEVEL >>$LOG_FILE
   200  		verifyResult $? "postUsers() transaction on $CHANNEL_NAME$CH_NUM/$CHAINCODE_NAME$CHAIN_NUM failed"
   201  		peer chaincode invoke -o $ORDERER_IP -C $CHANNEL_NAME$CH_NUM -n $CHAINCODE_NAME$CHAIN_NUM -c '{"Args":["iPostUser","800", "USER", "R&R Trading", "AH",  "155 Sunset Blvd, Beverly Hills, CA, USA ", "9058063535", "larry@rr.com", "RBC Centura", "0001732345", "0234678", "2017-01-02 15:04:05"]}' --logging-level=$LOG_LEVEL >>$LOG_FILE
   202  		verifyResult $? "postUsers() transaction on $CHANNEL_NAME$CH_NUM/$CHAINCODE_NAME$CHAIN_NUM failed"
   203  		peer chaincode invoke -o $ORDERER_IP -C $CHANNEL_NAME$CH_NUM -n $CHAINCODE_NAME$CHAIN_NUM -c '{"Args":["iPostUser","900", "USER", "Gregory Huffman", "TRD",  "155 Sunset Blvd, Beverly Hills, CA, USA ", "9058063535", "tamara@yahoo.com", "RBC Centura", "0001732345", "0234678", "2017-01-02 15:04:05"]}' --logging-level=$LOG_LEVEL >>$LOG_FILE
   204  		verifyResult $? "postUsers() transaction on $CHANNEL_NAME$CH_NUM/$CHAINCODE_NAME$CHAIN_NUM failed"
   205  
   206  		setGlobals $(((RANDOM % 3)))
   207  		peer chaincode invoke -o $ORDERER_IP -C $CHANNEL_NAME$CH_NUM -n $CHAINCODE_NAME$CHAIN_NUM -c '{"Args":["iPostUser","1000", "USER", "Texas Life", "INS",  "155 Broadway, New York, NY, USA ", "9058063535", "barry@nyl.com", "RBC Centura", "0001732345", "0234678", "2017-01-02 15:04:05"]}' --logging-level=$LOG_LEVEL >>$LOG_FILE
   208  		verifyResult $? "postUsers() transaction on $CHANNEL_NAME$CH_NUM/$CHAINCODE_NAME$CHAIN_NUM failed"
   209  		peer chaincode invoke -o $ORDERER_IP -C $CHANNEL_NAME$CH_NUM -n $CHAINCODE_NAME$CHAIN_NUM -c '{"Args":["iPostUser","1100", "USER", "B J Hunt", "SHP",  "One Johnny Blvd, Rogers, AR, USA ", "9058063535", "jess@jbhunt.com", "RBC Centura", "0001732345", "0234678", "2017-01-02 15:04:05"]}' --logging-level=$LOG_LEVEL >>$LOG_FILE
   210  		verifyResult $? "postUsers() transaction on $CHANNEL_NAME$CH_NUM/$CHAINCODE_NAME$CHAIN_NUM failed"
   211  		peer chaincode invoke -o $ORDERER_IP -C $CHANNEL_NAME$CH_NUM -n $CHAINCODE_NAME$CHAIN_NUM -c '{"Args":["iPostUser","1200", "USER", "R&S Trading", "AH",  "155 Sunset Blvd, Beverly Hills, CA, USA ", "9058063535", "larry@rr.com", "RBC Centura", "0001732345", "0234678", "2017-01-02 15:04:05"]}' --logging-level=$LOG_LEVEL >>$LOG_FILE
   212  		verifyResult $? "postUsers() transaction on $CHANNEL_NAME$CH_NUM/$CHAINCODE_NAME$CHAIN_NUM failed"
   213  	else
   214  		setGlobals $(((RANDOM % 3)))
   215  		peer chaincode invoke -o $ORDERER_IP --tls $CORE_PEER_TLS_ENABLED --cafile $ORDERER_CA -C $CHANNEL_NAME$CH_NUM -n $CHAINCODE_NAME$CHAIN_NUM -c '{"Args":["iPostUser","100", "USER", "Ashley Hart", "TRD",  "Morrisville Parkway, #216, Morrisville, NC 27560", "9198063535", "ashley@itpeople.com", "SUNTRUST", "0001732345", "0234678", "2017-01-02 15:04:05"]}' --logging-level=$LOG_LEVEL >>$LOG_FILE
   216  		verifyResult $? "postUsers() transaction on $CHANNEL_NAME$CH_NUM/$CHAINCODE_NAME$CHAIN_NUM failed"
   217  		peer chaincode invoke -o $ORDERER_IP --tls $CORE_PEER_TLS_ENABLED --cafile $ORDERER_CA -C $CHANNEL_NAME$CH_NUM -n $CHAINCODE_NAME$CHAIN_NUM -c '{"Args":["iPostUser","200", "USER", "Sotheby", "AH",  "One Picadally Circus , #216, London, UK ", "9198063535", "admin@sotheby.com", "Standard Chartered", "0001732345", "0234678", "2017-01-02 15:04:05"]}' --logging-level=$LOG_LEVEL >>$LOG_FILE
   218  		verifyResult $? "postUsers() transaction on $CHANNEL_NAME$CH_NUM/$CHAINCODE_NAME$CHAIN_NUM failed"
   219  		peer chaincode invoke -o $ORDERER_IP --tls $CORE_PEER_TLS_ENABLED --cafile $ORDERER_CA -C $CHANNEL_NAME$CH_NUM -n $CHAINCODE_NAME$CHAIN_NUM -c '{"Args":["iPostUser","300", "USER", "Barry Smith", "TRD",  "155 Regency Parkway, #111, Cary, 27518 ", "9198063535", "barry@us.ibm.com", "RBC Centura", "0001732345", "0234678", "2017-01-02 15:04:05"]}' --logging-level=$LOG_LEVEL >>$LOG_FILE
   220  		verifyResult $? "postUsers() transaction on $CHANNEL_NAME$CH_NUM/$CHAINCODE_NAME$CHAIN_NUM failed"
   221  
   222  		setGlobals $(((RANDOM % 3)))
   223  		peer chaincode invoke -o $ORDERER_IP --tls $CORE_PEER_TLS_ENABLED --cafile $ORDERER_CA -C $CHANNEL_NAME$CH_NUM -n $CHAINCODE_NAME$CHAIN_NUM -c '{"Args":["iPostUser","400", "USER", "Cindy Patterson", "TRD",  "155 Sunset Blvd, Beverly Hills, CA, USA ", "9058063535", "cpatterson@hotmail.com", "RBC Centura", "0001732345", "0234678", "2017-01-02 15:04:05"]}' --logging-level=$LOG_LEVEL >>$LOG_FILE
   224  		verifyResult $? "postUsers() transaction on $CHANNEL_NAME$CH_NUM/$CHAINCODE_NAME$CHAIN_NUM failed"
   225  		peer chaincode invoke -o $ORDERER_IP --tls $CORE_PEER_TLS_ENABLED --cafile $ORDERER_CA -C $CHANNEL_NAME$CH_NUM -n $CHAINCODE_NAME$CHAIN_NUM -c '{"Args":["iPostUser","500", "USER", "Tamara Haskins", "TRD",  "155 Sunset Blvd, Beverly Hills, CA, USA ", "9058063535", "tamara@yahoo.com", "RBC Centura", "0001732345", "0234678", "2017-01-02 15:04:05"]}' --logging-level=$LOG_LEVEL >>$LOG_FILE
   226  		verifyResult $? "postUsers() transaction on $CHANNEL_NAME$CH_NUM/$CHAINCODE_NAME$CHAIN_NUM failed"
   227  		peer chaincode invoke -o $ORDERER_IP --tls $CORE_PEER_TLS_ENABLED --cafile $ORDERER_CA -C $CHANNEL_NAME$CH_NUM -n $CHAINCODE_NAME$CHAIN_NUM -c '{"Args":["iPostUser","600", "USER", "NY Life", "INS",  "155 Broadway, New York, NY, USA ", "9058063535", "barry@nyl.com", "RBC Centura", "0001732345", "0234678", "2017-01-02 15:04:05"]}' --logging-level=$LOG_LEVEL >>$LOG_FILE
   228  		verifyResult $? "postUsers() transaction on $CHANNEL_NAME$CH_NUM/$CHAINCODE_NAME$CHAIN_NUM failed"
   229  
   230  		setGlobals $(((RANDOM % 3)))
   231  		peer chaincode invoke -o $ORDERER_IP --tls $CORE_PEER_TLS_ENABLED --cafile $ORDERER_CA -C $CHANNEL_NAME$CH_NUM -n $CHAINCODE_NAME$CHAIN_NUM -c '{"Args":["iPostUser","700", "USER", "J B Hunt", "SHP",  "One Johnny Blvd, Rogers, AR, USA ", "9058063535", "jess@jbhunt.com", "RBC Centura", "0001732345", "0234678", "2017-01-02 15:04:05"]}' --logging-level=$LOG_LEVEL >>$LOG_FILE
   232  		verifyResult $? "postUsers() transaction on $CHANNEL_NAME$CH_NUM/$CHAINCODE_NAME$CHAIN_NUM failed"
   233  		peer chaincode invoke -o $ORDERER_IP --tls $CORE_PEER_TLS_ENABLED --cafile $ORDERER_CA -C $CHANNEL_NAME$CH_NUM -n $CHAINCODE_NAME$CHAIN_NUM -c '{"Args":["iPostUser","800", "USER", "R&R Trading", "AH",  "155 Sunset Blvd, Beverly Hills, CA, USA ", "9058063535", "larry@rr.com", "RBC Centura", "0001732345", "0234678", "2017-01-02 15:04:05"]}' --logging-level=$LOG_LEVEL >>$LOG_FILE
   234  		verifyResult $? "postUsers() transaction on $CHANNEL_NAME$CH_NUM/$CHAINCODE_NAME$CHAIN_NUM failed"
   235  		peer chaincode invoke -o $ORDERER_IP --tls $CORE_PEER_TLS_ENABLED --cafile $ORDERER_CA -C $CHANNEL_NAME$CH_NUM -n $CHAINCODE_NAME$CHAIN_NUM -c '{"Args":["iPostUser","900", "USER", "Gregory Huffman", "TRD",  "155 Sunset Blvd, Beverly Hills, CA, USA ", "9058063535", "tamara@yahoo.com", "RBC Centura", "0001732345", "0234678", "2017-01-02 15:04:05"]}' --logging-level=$LOG_LEVEL >>$LOG_FILE
   236  		verifyResult $? "postUsers() transaction on $CHANNEL_NAME$CH_NUM/$CHAINCODE_NAME$CHAIN_NUM failed"
   237  
   238  		setGlobals $(((RANDOM % 3)))
   239  		peer chaincode invoke -o $ORDERER_IP --tls $CORE_PEER_TLS_ENABLED --cafile $ORDERER_CA -C $CHANNEL_NAME$CH_NUM -n $CHAINCODE_NAME$CHAIN_NUM -c '{"Args":["iPostUser","1000", "USER", "Texas Life", "INS",  "155 Broadway, New York, NY, USA ", "9058063535", "barry@nyl.com", "RBC Centura", "0001732345", "0234678", "2017-01-02 15:04:05"]}' --logging-level=$LOG_LEVEL >>$LOG_FILE
   240  		verifyResult $? "postUsers() transaction on $CHANNEL_NAME$CH_NUM/$CHAINCODE_NAME$CHAIN_NUM failed"
   241  		peer chaincode invoke -o $ORDERER_IP --tls $CORE_PEER_TLS_ENABLED --cafile $ORDERER_CA -C $CHANNEL_NAME$CH_NUM -n $CHAINCODE_NAME$CHAIN_NUM -c '{"Args":["iPostUser","1100", "USER", "B J Hunt", "SHP",  "One Johnny Blvd, Rogers, AR, USA ", "9058063535", "jess@jbhunt.com", "RBC Centura", "0001732345", "0234678", "2017-01-02 15:04:05"]}' --logging-level=$LOG_LEVEL >>$LOG_FILE
   242  		verifyResult $? "postUsers() transaction on $CHANNEL_NAME$CH_NUM/$CHAINCODE_NAME$CHAIN_NUM failed"
   243  		peer chaincode invoke -o $ORDERER_IP --tls $CORE_PEER_TLS_ENABLED --cafile $ORDERER_CA -C $CHANNEL_NAME$CH_NUM -n $CHAINCODE_NAME$CHAIN_NUM -c '{"Args":["iPostUser","1200", "USER", "R&S Trading", "AH",  "155 Sunset Blvd, Beverly Hills, CA, USA ", "9058063535", "larry@rr.com", "RBC Centura", "0001732345", "0234678", "2017-01-02 15:04:05"]}' --logging-level=$LOG_LEVEL >>$LOG_FILE
   244  		verifyResult $? "postUsers() transaction on $CHANNEL_NAME$CH_NUM/$CHAINCODE_NAME$CHAIN_NUM failed"
   245  	fi
   246  
   247  	verifyResult $? "POST User request execution on of the PEERs failed "
   248  	wait $SLEEP_TIME
   249  
   250  	echo "==== postUsers() transaction on $CHANNEL_NAME$CH_NUM/$CHAINCODE_NAME$CHAIN_NUM is successful ==== " >>$LOG_FILE
   251  }
   252  
   253  function getUsers() {
   254  	local CH_NUM=$1
   255  	local CHAIN_NUM=$2
   256  	local PEER=$3
   257  
   258  	setGlobals $3
   259  
   260  	for ((id = $START_COUNT; id <= $END_COUNT; id = $id + $INTERVAL)); do
   261  		peer chaincode query -C $CHANNEL_NAME$CH_NUM -n $CHAINCODE_NAME$CHAIN_NUM -c "{\"Args\": [\"qGetUser\", \"$id\"]}"
   262  		verifyResult $? "getUsers() transaction on PEER$3 $CHANNEL_NAME$CH_NUM/$CHAINCODE_NAME$CHAIN_NUM failed"
   263  	done
   264  
   265  	echo "==== getUsers() transaction on PEER$3 $CHANNEL_NAME$CH_NUM/$CHAINCODE_NAME$CHAIN_NUM is successful ==== " >>$LOG_FILE
   266  }
   267  
   268  function downloadImages() {
   269  	local CH_NUM=$1
   270  	local CHAIN_NUM=$2
   271  	local PEER=$3
   272  
   273  	setGlobals $3
   274  
   275  	if [ -z "$CORE_PEER_TLS_ENABLED" -o "$CORE_PEER_TLS_ENABLED" = "false" ]; then
   276  		peer chaincode invoke -o $ORDERER_IP -C $CHANNEL_NAME$CH_NUM -n $CHAINCODE_NAME$CHAIN_NUM -c '{"Args":["iDownloadImages", "DOWNLOAD"]}' --logging-level=$LOG_LEVEL >>$LOG_FILE
   277  		verifyResult $? "downloadImages() transaction on PEER$3 $CHANNEL_NAME$CH_NUM/$CHAINCODE_NAME$CHAIN_NUM failed"
   278  	else
   279  		peer chaincode invoke -o $ORDERER_IP --tls $CORE_PEER_TLS_ENABLED --cafile $ORDERER_CA -C $CHANNEL_NAME$CH_NUM -n $CHAINCODE_NAME$CHAIN_NUM -c '{"Args":["iDownloadImages", "DOWNLOAD"]}' --logging-level=$LOG_LEVEL >>$LOG_FILE
   280  		verifyResult $? "downloadImages() transaction on PEER$3 $CHANNEL_NAME$CH_NUM/$CHAINCODE_NAME$CHAIN_NUM failed"
   281  	fi
   282  
   283  	echo "==== downloadImages() transaction on PEER$3 $CHANNEL_NAME$CH_NUM/$CHAINCODE_NAME$CHAIN_NUM is successful ==== " >>$LOG_FILE
   284  }
   285  
   286  function postItems() {
   287  	local CH_NUM=$1
   288  	local CHAIN_NUM=$2
   289  
   290  	if [ -z "$CORE_PEER_TLS_ENABLED" -o "$CORE_PEER_TLS_ENABLED" = "false" ]; then
   291  		setGlobals $(((RANDOM % 3)))
   292  		peer chaincode invoke -o $ORDERER_IP -C $CHANNEL_NAME$CH_NUM -n $CHAINCODE_NAME$CHAIN_NUM -c '{"Args":["iPostItem", "100", "ARTINV", "Shadows by Asppen", "Asppen Messer", "20140202", "Original", "landscape", "Canvas", "15 x 15 in", "art1.png","600", "100", "2017-01-23 14:04:05"]}' --logging-level=$LOG_LEVEL >>$LOG_FILE
   293  		verifyResult $? "postItems() transaction on $CHANNEL_NAME$CH_NUM/$CHAINCODE_NAME$CHAIN_NUM failed"
   294  		peer chaincode invoke -o $ORDERER_IP -C $CHANNEL_NAME$CH_NUM -n $CHAINCODE_NAME$CHAIN_NUM -c '{"Args":["iPostItem", "200", "ARTINV", "modern Wall Painting", "Scott Palmer", "20140202", "Reprint", "landscape", "Acrylic", "10 x 10 in", "art2.png","2600", "200", "2017-01-23 14:04:05"]}' --logging-level=$LOG_LEVEL >>$LOG_FILE
   295  		verifyResult $? "postItems() transaction on $CHANNEL_NAME$CH_NUM/$CHAINCODE_NAME$CHAIN_NUM failed"
   296  
   297  		setGlobals $(((RANDOM % 3)))
   298  		peer chaincode invoke -o $ORDERER_IP -C $CHANNEL_NAME$CH_NUM -n $CHAINCODE_NAME$CHAIN_NUM -c '{"Args":["iPostItem", "300", "ARTINV", "Splash of Color", "Jennifer Drew", "20160115", "Reprint", "modern", "Water Color", "15 x 15 in", "art3.png","1600", "300", "2017-01-23 14:04:05"]}' --logging-level=$LOG_LEVEL >>$LOG_FILE
   299  		verifyResult $? "postItems() transaction on $CHANNEL_NAME$CH_NUM/$CHAINCODE_NAME$CHAIN_NUM failed"
   300  		peer chaincode invoke -o $ORDERER_IP -C $CHANNEL_NAME$CH_NUM -n $CHAINCODE_NAME$CHAIN_NUM -c '{"Args":["iPostItem", "400", "ARTINV", "Female Water Color", "David Crest", "19900115", "Original", "modern", "Water Color", "12 x 17 in", "art4.png","9600", "400", "2017-01-23 14:04:05"]}' --logging-level=$LOG_LEVEL >>$LOG_FILE
   301  		verifyResult $? "postItems() transaction on $CHANNEL_NAME$CH_NUM/$CHAINCODE_NAME$CHAIN_NUM failed"
   302  
   303  		setGlobals $(((RANDOM % 3)))
   304  		peer chaincode invoke -o $ORDERER_IP -C $CHANNEL_NAME$CH_NUM -n $CHAINCODE_NAME$CHAIN_NUM -c '{"Args":["iPostItem", "500", "ARTINV", "Nature", "James Thomas", "19900115", "Original", "modern", "Water Color", "12 x 17 in", "item-001.jpg","1800", "500", "2017-01-23 14:04:05"]}' --logging-level=$LOG_LEVEL >>$LOG_FILE
   305  		verifyResult $? "postItems() transaction on $CHANNEL_NAME$CH_NUM/$CHAINCODE_NAME$CHAIN_NUM failed"
   306  		peer chaincode invoke -o $ORDERER_IP -C $CHANNEL_NAME$CH_NUM -n $CHAINCODE_NAME$CHAIN_NUM -c '{"Args":["iPostItem", "600", "ARTINV", "Ladys Hair", "James Thomas", "19900115", "Original", "landscape", "Acrylic", "12 x 17 in", "item-002.jpg","1200", "600", "2017-01-23 14:04:05"]}' --logging-level=$LOG_LEVEL >>$LOG_FILE
   307  		verifyResult $? "postItems() transaction on $CHANNEL_NAME$CH_NUM/$CHAINCODE_NAME$CHAIN_NUM failed"
   308  		peer chaincode invoke -o $ORDERER_IP -C $CHANNEL_NAME$CH_NUM -n $CHAINCODE_NAME$CHAIN_NUM -c '{"Args":["iPostItem", "700", "ARTINV", "Flowers", "James Thomas", "19900115", "Original", "modern", "Acrylic", "12 x 17 in", "item-003.jpg","1000", "700", "2017-01-23 14:04:05"]}' --logging-level=$LOG_LEVEL >>$LOG_FILE
   309  		verifyResult $? "postItems() transaction on $CHANNEL_NAME$CH_NUM/$CHAINCODE_NAME$CHAIN_NUM failed"
   310  		peer chaincode invoke -o $ORDERER_IP -C $CHANNEL_NAME$CH_NUM -n $CHAINCODE_NAME$CHAIN_NUM -c '{"Args":["iPostItem", "800", "ARTINV", "Women at work", "James Thomas", "19900115", "Original", "modern", "Acrylic", "12 x 17 in", "item-004.jpg","1500", "800", "2017-01-23 14:04:05"]}' --logging-level=$LOG_LEVEL >>$LOG_FILE
   311  		verifyResult $? "postItems() transaction on $CHANNEL_NAME$CH_NUM/$CHAINCODE_NAME$CHAIN_NUM failed"
   312  
   313  		setGlobals $(((RANDOM % 3)))
   314  		peer chaincode invoke -o $ORDERER_IP -C $CHANNEL_NAME$CH_NUM -n $CHAINCODE_NAME$CHAIN_NUM -c '{"Args":["iPostItem", "900", "ARTINV", "People", "James Thomas", "19900115", "Original", "modern", "Acrylic", "12 x 17 in", "people.gif","900", "900", "2017-01-23 14:04:05"]}' --logging-level=$LOG_LEVEL >>$LOG_FILE
   315  		verifyResult $? "postItems() transaction on PEER1.ORG2 on $CHANNEL_NAME$CH_NUM/$CHAINCODE_NAME$CHAIN_NUM failed"
   316  		peer chaincode invoke -o $ORDERER_IP -C $CHANNEL_NAME$CH_NUM -n $CHAINCODE_NAME$CHAIN_NUM -c '{"Args":["iPostItem", "1000", "ARTINV", "Shadows by Asppen", "Asppen Messer", "20140202", "Original", "landscape", "Canvas", "15 x 15 in", "art5.png","600", "1000", "2017-01-23 14:04:05"]}' --logging-level=$LOG_LEVEL >>$LOG_FILE
   317  		verifyResult $? "postItems() transaction on PEER1.ORG2 on $CHANNEL_NAME$CH_NUM/$CHAINCODE_NAME$CHAIN_NUM failed"
   318  	else
   319  		setGlobals $(((RANDOM % 3)))
   320  		peer chaincode invoke -o $ORDERER_IP --tls $CORE_PEER_TLS_ENABLED --cafile $ORDERER_CA -C $CHANNEL_NAME$CH_NUM -n $CHAINCODE_NAME$CHAIN_NUM -c '{"Args":["iPostItem", "100", "ARTINV", "Shadows by Asppen", "Asppen Messer", "20140202", "Original", "landscape", "Canvas", "15 x 15 in", "art1.png","600", "100", "2017-01-23 14:04:05"]}' --logging-level=$LOG_LEVEL >>$LOG_FILE
   321  		verifyResult $? "postItems() transaction on $CHANNEL_NAME$CH_NUM/$CHAINCODE_NAME$CHAIN_NUM failed"
   322  		peer chaincode invoke -o $ORDERER_IP --tls $CORE_PEER_TLS_ENABLED --cafile $ORDERER_CA -C $CHANNEL_NAME$CH_NUM -n $CHAINCODE_NAME$CHAIN_NUM -c '{"Args":["iPostItem", "200", "ARTINV", "modern Wall Painting", "Scott Palmer", "20140202", "Reprint", "landscape", "Acrylic", "10 x 10 in", "art2.png","2600", "200", "2017-01-23 14:04:05"]}' --logging-level=$LOG_LEVEL >>$LOG_FILE
   323  		verifyResult $? "postItems() transaction on $CHANNEL_NAME$CH_NUM/$CHAINCODE_NAME$CHAIN_NUM failed"
   324  
   325  		setGlobals $(((RANDOM % 3)))
   326  		peer chaincode invoke -o $ORDERER_IP --tls $CORE_PEER_TLS_ENABLED --cafile $ORDERER_CA -C $CHANNEL_NAME$CH_NUM -n $CHAINCODE_NAME$CHAIN_NUM -c '{"Args":["iPostItem", "300", "ARTINV", "Splash of Color", "Jennifer Drew", "20160115", "Reprint", "modern", "Water Color", "15 x 15 in", "art3.png","1600", "300", "2017-01-23 14:04:05"]}' --logging-level=$LOG_LEVEL >>$LOG_FILE
   327  		verifyResult $? "postItems() transaction on $CHANNEL_NAME$CH_NUM/$CHAINCODE_NAME$CHAIN_NUM failed"
   328  		peer chaincode invoke -o $ORDERER_IP --tls $CORE_PEER_TLS_ENABLED --cafile $ORDERER_CA -C $CHANNEL_NAME$CH_NUM -n $CHAINCODE_NAME$CHAIN_NUM -c '{"Args":["iPostItem", "400", "ARTINV", "Female Water Color", "David Crest", "19900115", "Original", "modern", "Water Color", "12 x 17 in", "art4.png","9600", "400", "2017-01-23 14:04:05"]}' --logging-level=$LOG_LEVEL >>$LOG_FILE
   329  		verifyResult $? "postItems() transaction on $CHANNEL_NAME$CH_NUM/$CHAINCODE_NAME$CHAIN_NUM failed"
   330  
   331  		setGlobals $(((RANDOM % 3)))
   332  		peer chaincode invoke -o $ORDERER_IP --tls $CORE_PEER_TLS_ENABLED --cafile $ORDERER_CA -C $CHANNEL_NAME$CH_NUM -n $CHAINCODE_NAME$CHAIN_NUM -c '{"Args":["iPostItem", "500", "ARTINV", "Nature", "James Thomas", "19900115", "Original", "modern", "Water Color", "12 x 17 in", "item-001.jpg","1800", "500", "2017-01-23 14:04:05"]}' --logging-level=$LOG_LEVEL >>$LOG_FILE
   333  		verifyResult $? "postItems() transaction on $CHANNEL_NAME$CH_NUM/$CHAINCODE_NAME$CHAIN_NUM failed"
   334  		peer chaincode invoke -o $ORDERER_IP --tls $CORE_PEER_TLS_ENABLED --cafile $ORDERER_CA -C $CHANNEL_NAME$CH_NUM -n $CHAINCODE_NAME$CHAIN_NUM -c '{"Args":["iPostItem", "600", "ARTINV", "Ladys Hair", "James Thomas", "19900115", "Original", "landscape", "Acrylic", "12 x 17 in", "item-002.jpg","1200", "600", "2017-01-23 14:04:05"]}' --logging-level=$LOG_LEVEL >>$LOG_FILE
   335  		verifyResult $? "postItems() transaction on $CHANNEL_NAME$CH_NUM/$CHAINCODE_NAME$CHAIN_NUM failed"
   336  		peer chaincode invoke -o $ORDERER_IP --tls $CORE_PEER_TLS_ENABLED --cafile $ORDERER_CA -C $CHANNEL_NAME$CH_NUM -n $CHAINCODE_NAME$CHAIN_NUM -c '{"Args":["iPostItem", "700", "ARTINV", "Flowers", "James Thomas", "19900115", "Original", "modern", "Acrylic", "12 x 17 in", "item-003.jpg","1000", "700", "2017-01-23 14:04:05"]}' --logging-level=$LOG_LEVEL >>$LOG_FILE
   337  		verifyResult $? "postItems() transaction on $CHANNEL_NAME$CH_NUM/$CHAINCODE_NAME$CHAIN_NUM failed"
   338  		peer chaincode invoke -o $ORDERER_IP --tls $CORE_PEER_TLS_ENABLED --cafile $ORDERER_CA -C $CHANNEL_NAME$CH_NUM -n $CHAINCODE_NAME$CHAIN_NUM -c '{"Args":["iPostItem", "800", "ARTINV", "Women at work", "James Thomas", "19900115", "Original", "modern", "Acrylic", "12 x 17 in", "item-004.jpg","1500", "800", "2017-01-23 14:04:05"]}' --logging-level=$LOG_LEVEL >>$LOG_FILE
   339  		verifyResult $? "postItems() transaction on $CHANNEL_NAME$CH_NUM/$CHAINCODE_NAME$CHAIN_NUM failed"
   340  
   341  		setGlobals $(((RANDOM % 3)))
   342  		peer chaincode invoke -o $ORDERER_IP --tls $CORE_PEER_TLS_ENABLED --cafile $ORDERER_CA -C $CHANNEL_NAME$CH_NUM -n $CHAINCODE_NAME$CHAIN_NUM -c '{"Args":["iPostItem", "900", "ARTINV", "People", "James Thomas", "19900115", "Original", "modern", "Acrylic", "12 x 17 in", "people.gif","900", "900", "2017-01-23 14:04:05"]}' --logging-level=$LOG_LEVEL >>$LOG_FILE
   343  		verifyResult $? "postItems() transaction on $CHANNEL_NAME$CH_NUM/$CHAINCODE_NAME$CHAIN_NUM failed"
   344  		peer chaincode invoke -o $ORDERER_IP --tls $CORE_PEER_TLS_ENABLED --cafile $ORDERER_CA -C $CHANNEL_NAME$CH_NUM -n $CHAINCODE_NAME$CHAIN_NUM -c '{"Args":["iPostItem", "1000", "ARTINV", "Shadows by Asppen", "Asppen Messer", "20140202", "Original", "landscape", "Canvas", "15 x 15 in", "art5.png","600", "1000", "2017-01-23 14:04:05"]}' --logging-level=$LOG_LEVEL >>$LOG_FILE
   345  		verifyResult $? "postItems() transaction on $CHANNEL_NAME$CH_NUM/$CHAINCODE_NAME$CHAIN_NUM failed"
   346  	fi
   347  
   348  	wait $SLEEP_TIME
   349  	echo "==== postItems() transaction on $CHANNEL_NAME$CH_NUM/$CHAINCODE_NAME$CHAIN_NUM is successful ==== " >>$LOG_FILE
   350  }
   351  
   352  function postAuction() {
   353  	local CH_NUM=$1
   354  	local CHAIN_NUM=$2
   355  	setGlobals $3
   356  
   357  	if [ -z "$CORE_PEER_TLS_ENABLED" -o "$CORE_PEER_TLS_ENABLED" = "false" ]; then
   358  		peer chaincode invoke -o $ORDERER_IP -C $CHANNEL_NAME$CH_NUM -n $CHAINCODE_NAME$CHAIN_NUM -c "{\"Args\":[\"iPostAuctionRequest\", \"$4\", \"AUCREQ\", \"$5\", \"200\", \"$6\", \"04012016\", \"$7\", \"$8\", \"INIT\", \"2017-02-13 09:05:00\", \"2017-02-13 09:05:00\", \"2017-02-13 09:10:00\"]}" --logging-level=$LOG_LEVEL >>$LOG_FILE
   359  		verifyResult $? "postAuction() transaction on PEER$3 $CHANNEL_NAME$CH_NUM/$CHAINCODE_NAME$CHAIN_NUM failed"
   360  	else
   361  		echo "{\"Args\":[\"iPostAuctionRequest\", \"$4\", \"AUCREQ\", \"$5\", \"200\", \"$6\", \"04012016\", \"$7\", \"$8\", \"INIT\", \"2017-02-13 09:05:00\", \"2017-02-13 09:05:00\", \"2017-02-13 09:10:00\"]}"
   362  		peer chaincode invoke -o $ORDERER_IP --tls $CORE_PEER_TLS_ENABLED --cafile $ORDERER_CA -C $CHANNEL_NAME$CH_NUM -n $CHAINCODE_NAME$CHAIN_NUM -c "{\"Args\":[\"iPostAuctionRequest\", \"$4\", \"AUCREQ\", \"$5\", \"200\", \"$6\", \"04012016\", \"$7\", \"$8\", \"INIT\", \"2017-02-13 09:05:00\", \"2017-02-13 09:05:00\", \"2017-02-13 09:10:00\"]}" --logging-level=$LOG_LEVEL >>$LOG_FILE
   363  		verifyResult $? "postAuction() transaction on PEER$3 $CHANNEL_NAME$CH_NUM/$CHAINCODE_NAME$CHAIN_NUM failed"
   364  	fi
   365  
   366  	wait $SLEEP_TIME
   367  	echo "==== postAuction($4,$5,$6,$7,$8) transaction on PEER$3 $CHANNEL_NAME$CH_NUM/$CHAINCODE_NAME$CHAIN_NUM is successful ==== " >>$LOG_FILE
   368  }
   369  
   370  function openAuctionRequestForBids() {
   371  	local CH_NUM=$1
   372  	local CHAIN_NUM=$2
   373  	setGlobals $3
   374  
   375  	if [ -z "$CORE_PEER_TLS_ENABLED" -o "$CORE_PEER_TLS_ENABLED" = "false" ]; then
   376  		peer chaincode invoke -o $ORDERER_IP -C $CHANNEL_NAME$CH_NUM -n $CHAINCODE_NAME$CHAIN_NUM -c "{\"Args\":[\"iOpenAuctionForBids\", \"$4\", \"OPENAUC\", \"$5\", \"2017-02-13 09:18:00\"]}" --logging-level=$LOG_LEVEL >>$LOG_FILE
   377  		verifyResult $? "openAuctionRequestForBids() transaction on PEER$3 $CHANNEL_NAME$CH_NUM/$CHAINCODE_NAME$CHAIN_NUM failed"
   378  	else
   379  		peer chaincode invoke -o $ORDERER_IP --tls $CORE_PEER_TLS_ENABLED --cafile $ORDERER_CA -C $CHANNEL_NAME$CH_NUM -n $CHAINCODE_NAME$CHAIN_NUM -c "{\"Args\":[\"iOpenAuctionForBids\", \"$4\", \"OPENAUC\", \"$5\", \"2017-02-13 09:18:00\"]}" --logging-level=$LOG_LEVEL >>$LOG_FILE
   380  		verifyResult $? "openAuctionRequestForBids() transaction on PEER$3 $CHANNEL_NAME$CH_NUM/$CHAINCODE_NAME$CHAIN_NUM failed"
   381  	fi
   382  	wait $SLEEP_TIME
   383  
   384  	echo "==== openAuctionRequestForBids($4,$5) transaction on PEER$3 $CHANNEL_NAME$CH_NUM/$CHAINCODE_NAME$CHAIN_NUM is successful ==== " >>$LOG_FILE
   385  }
   386  
   387  function submitBids() {
   388  	local CH_NUM=$1
   389  	local CHAIN_NUM=$2
   390  	setGlobals $3
   391  
   392  	if [ -z "$CORE_PEER_TLS_ENABLED" -o "$CORE_PEER_TLS_ENABLED" = "false" ]; then
   393  		peer chaincode invoke -o $ORDERER_IP -C $CHANNEL_NAME$CH_NUM -n $CHAINCODE_NAME$CHAIN_NUM -c "{\"Args\":[\"iPostBid\", \"$4\", \"BID\", \"$5\", \"$6\", \"$7\", \"$8\", \"2017-02-13 09:19:01\"]}" --logging-level=$LOG_LEVEL >>$LOG_FILE
   394  		verifyResult $? "submitBids() transaction on PEER$3 $CHANNEL_NAME$CH_NUM/$CHAINCODE_NAME$CHAIN_NUM failed"
   395  	else
   396  		peer chaincode invoke -o $ORDERER_IP --tls $CORE_PEER_TLS_ENABLED --cafile $ORDERER_CA -C $CHANNEL_NAME$CH_NUM -n $CHAINCODE_NAME$CHAIN_NUM -c "{\"Args\":[\"iPostBid\", \"$4\", \"BID\", \"$5\", \"$6\", \"$7\", \"$8\", \"2017-02-13 09:19:01\"]}" --logging-level=$LOG_LEVEL >>$LOG_FILE
   397  		verifyResult $? "submitBids() transaction on PEER$3 $CHANNEL_NAME$CH_NUM/$CHAINCODE_NAME$CHAIN_NUM failed"
   398  	fi
   399  	wait $SLEEP_TIME
   400  
   401  	echo "==== submitBids($4,$5,$6,$7,$8) transaction on PEER$3 $CHANNEL_NAME$CH_NUM/$CHAINCODE_NAME$CHAIN_NUM is successful ==== " >>$LOG_FILE
   402  }
   403  
   404  function closeAuction() {
   405  	local CH_NUM=$1
   406  	local CHAIN_NUM=$2
   407  	setGlobals $3
   408  
   409  	if [ -z "$CORE_PEER_TLS_ENABLED" -o "$CORE_PEER_TLS_ENABLED" = "false" ]; then
   410  		peer chaincode invoke -o $ORDERER_IP -C $CHANNEL_NAME$CH_NUM -n $CHAINCODE_NAME$CHAIN_NUM -c '{"Args": ["iCloseOpenAuctions", "2016", "CLAUC", "2017-01-23 13:53:00.3 +0000 UTC"]}' --logging-level=$LOG_LEVEL >>$LOG_FILE
   411  		verifyResult $? "closeAuction() transaction on PEER$3 $CHANNEL_NAME$CH_NUM/$CHAINCODE_NAME$CHAIN_NUM failed"
   412  	else
   413  		peer chaincode invoke -o $ORDERER_IP --tls $CORE_PEER_TLS_ENABLED --cafile $ORDERER_CA -C $CHANNEL_NAME$CH_NUM -n $CHAINCODE_NAME$CHAIN_NUM -c '{"Args": ["iCloseOpenAuctions", "2016", "CLAUC", "2017-01-23 13:53:00.3 +0000 UTC"]}' --logging-level=$LOG_LEVEL >>$LOG_FILE
   414  		verifyResult $? "closeAuction() transaction on PEER$3 $CHANNEL_NAME$CH_NUM/$CHAINCODE_NAME$CHAIN_NUM failed"
   415  	fi
   416  
   417  	wait $SLEEP_TIME
   418  
   419  	setGlobals $3
   420  	peer chaincode query -C $CHANNEL_NAME$CH_NUM -n $CHAINCODE_NAME$CHAIN_NUM -c "{\"Args\": [\"qGetItem\", \"$4\"]}" &>$TEMP_LOG_FILE
   421  	verifyResult $? "getItem() transaction on PEER$3 $CHANNEL_NAME$CH_NUM/$CHAINCODE_NAME$CHAIN_NUM failed"
   422  	cat $TEMP_LOG_FILE >>$LOG_FILE
   423  
   424  	OUTPUT=$(cat $TEMP_LOG_FILE | awk -F 'Result: | 2017' '{print $2}')
   425  	USER_ID=$(echo $OUTPUT | jq ".CurrentOwnerID")
   426  	AES_KEY=$(echo $OUTPUT | jq ".AES_Key")
   427  	echo $OUTPUT | awk -F ': |\n' '{print $2}' | jq "."
   428  	wait $SLEEP_TIME
   429  
   430  	echo "==== closeAuction() transaction on PEER$3 $CHANNEL_NAME$CH_NUM/$CHAINCODE_NAME$CHAIN_NUM is successful ==== " >>$LOG_FILE
   431  }
   432  
   433  function transferItem() {
   434  	local CH_NUM=$1
   435  	local CHAIN_NUM=$2
   436  	setGlobals $3
   437  
   438  	if [ -z "$CORE_PEER_TLS_ENABLED" -o "$CORE_PEER_TLS_ENABLED" = "false" ]; then
   439  		peer chaincode invoke -o $ORDERER_IP -C $CHANNEL_NAME$CH_NUM -n $CHAINCODE_NAME$CHAIN_NUM -c "{\"Args\": [\"iTransferItem\", \"$4\", $USER_ID, $AES_KEY, \"$4\", \"XFER\",\"2017-01-24 11:00:00\"]}" --logging-level=$LOG_LEVEL >>$LOG_FILE
   440  		verifyResult $? "transferItem() transaction on PEER$3 $CHANNEL_NAME$CH_NUM/$CHAINCODE_NAME$CHAIN_NUM failed"
   441  	else
   442  		peer chaincode invoke -o $ORDERER_IP --tls $CORE_PEER_TLS_ENABLED --cafile $ORDERER_CA -C $CHANNEL_NAME$CH_NUM -n $CHAINCODE_NAME$CHAIN_NUM -c "{\"Args\": [\"iTransferItem\", \"$4\", $USER_ID, $AES_KEY, \"$4\", \"XFER\",\"2017-01-24 11:00:00\"]}" --logging-level=$LOG_LEVEL >>$LOG_FILE
   443  		verifyResult $? "transferItem() transaction on PEER$3 $CHANNEL_NAME$CH_NUM/$CHAINCODE_NAME$CHAIN_NUM failed"
   444  	fi
   445  
   446  	wait $SLEEP_TIME
   447  
   448  	peer chaincode query -C $CHANNEL_NAME$CH_NUM -n $CHAINCODE_NAME$CHAIN_NUM -c "{\"Args\": [\"qGetItem\", \"$4\"]}" >>$LOG_FILE
   449  	verifyResult $? "getItem() transaction on PEER$3 $CHANNEL_NAME$CH_NUM/$CHAINCODE_NAME$CHAIN_NUM failed"
   450  
   451  	wait $SLEEP_TIME
   452  
   453  	echo "==== transferItem($4) transaction on PEER$3 $CHANNEL_NAME$CH_NUM/$CHAINCODE_NAME$CHAIN_NUM is successful ==== " >>$LOG_FILE
   454  }
   455  
   456  echo "==== Args Passed: CHANNEL_NAME:${CHANNEL_NAME}, CHANNELS:${CHANNELS}, CHAINCODES:${CHAINCODES}, ENDORSERS:${ENDORSERS}, RUN_TIME_HOURS:${RUN_TIME_HOURS}, CHANNEL_NAME:${FN_NAME}, FN_NAME:${FN_NAME} for Auction API Driver ==== " >>$LOG_FILE
   457  
   458  if [ "${FN_NAME}" = "createChannel" ]; then
   459  	for ((ch = 0; $ch < $CHANNELS; ch++)); do
   460  		createChannel $ch
   461  	done
   462  	echo "==== Creating Channel is successful ==== "
   463  
   464  elif [ "${FN_NAME}" = "joinChannel" ]; then
   465  	joinChannel
   466  	## Set the anchor peers for each org in the channel
   467  	updateAnchorPeers 0 0
   468  	updateAnchorPeers 2 0
   469  	echo "==== Join Channel is successful ==== "
   470  
   471  elif [ "${FN_NAME}" = "installChaincode" ]; then
   472  	## Install chaincode on all peers
   473  	installChaincode
   474  	echo "==== Installing chaincode is successful ==== "
   475  
   476  elif [ "${FN_NAME}" = "instantiateChaincode" ]; then
   477  	instantiateChaincode 0
   478  	echo "==== Instantiating chaincode is successful ==== "
   479  
   480  elif [ "${FN_NAME}" = "postUsers" ]; then
   481  	## POST USERS on all peers
   482  	for ((ch = 0; $ch < $CHANNELS; ch++)); do
   483  		for ((chain = 0; $chain < $CHAINCODES; chain++)); do
   484  			postUsers $ch $chain
   485  		done
   486  	done
   487  	echo "==== Posting Users transaction is successful ==== "
   488  
   489  elif [ "${FN_NAME}" = "getUsers" ]; then
   490  	for ((ch = 0; $ch < $CHANNELS; ch++)); do
   491  		for ((chain = 0; $chain < $CHAINCODES; chain++)); do
   492  			for ((peer_number = 0; peer_number < $ENDORSERS; peer_number++)); do
   493  				getUsers $ch $chain $peer_number
   494  			done
   495  		done
   496  	done
   497  	echo "==== Get Users transaction is successful ==== "
   498  
   499  elif [ "${FN_NAME}" = "downloadImages" ]; then
   500  	for ((ch = 0; $ch < $CHANNELS; ch++)); do
   501  		for ((chain = 0; $chain < $CHAINCODES; chain++)); do
   502  			for ((peer_number = 0; peer_number < $ENDORSERS; peer_number++)); do
   503  				downloadImages $ch $chain $peer_number
   504  			done
   505  		done
   506  	done
   507  	echo "==== Download Images transaction is successful ==== "
   508  
   509  elif [ "${FN_NAME}" = "postItems" ]; then
   510  	for ((ch = 0; $ch < $CHANNELS; ch++)); do
   511  		for ((chain = 0; $chain < $CHAINCODES; chain++)); do
   512  			postItems $ch $chain
   513  		done
   514  	done
   515  	echo "==== Post Items transaction is successful ==== "
   516  
   517  elif [ "${FN_NAME}" = "auctionInvokes" ]; then
   518  	auctionindex=1000
   519  	bidPrice=5000
   520  	bidNumber=1000
   521  
   522  	START=$(date +%s)
   523  
   524  	while [ $(($(date +%s) - (60 * 60 * $RUN_TIME_HOURS))) -lt $START ]; do
   525  		for ((ch = 0; $ch < $CHANNELS; ch++)); do
   526  			for ((chain = 0; $chain < $CHAINCODES; chain++)); do
   527  				for ((userid = $START_COUNT; userid <= $END_COUNT; userid = $userid + $INTERVAL)); do
   528  					postAuction $ch $chain $(((RANDOM % 3))) $auctionindex $userid $userid $auctionindex $auctionindex
   529  					openAuctionRequestForBids $ch $chain $(((RANDOM % 3))) $auctionindex 10
   530  					for ((biduserid = $START_COUNT; biduserid <= $END_COUNT; biduserid = $biduserid + $INTERVAL)); do
   531  						if [ $biduserid -ne $userid ]; then
   532  							submitBids $ch $chain $(((RANDOM % 3))) $auctionindex $bidNumber $userid $biduserid $bidPrice
   533  							bidNumber=$(expr $bidNumber + 1)
   534  							bidPrice=$(expr $bidPrice + 1)
   535  						fi
   536  					done
   537  					closeAuction $ch $chain $(((RANDOM % 3))) $userid
   538  					transferItem $ch $chain $(((RANDOM % 3))) $userid
   539  					auctionindex=$(expr $auctionindex + 1)
   540  				done
   541  			done
   542  		done
   543  	done
   544  	END=$(date +%s)
   545  
   546  	runtime=$((END - START))
   547  
   548  	echo "==== Auction Invokes Run Time :  $runtime ==== " >>$LOG_FILE
   549  	echo "==== Open Auction/Submit Bids/Close Auction/Transfer Item transaction(s) are successful ==== "
   550  else
   551  	echo "==== Invalid Function Name ${FN_NAME} for Auction API Driver ==== " >>$LOG_FILE
   552  	exit 1
   553  fi