fabric-samples/interest_rate_swaps/network/scripts/script.sh
NIKHIL E GUPTA 3d364ed082 [FAB-16296] Fixes for interest rate sample
backporting fixes from master to v1.4 for
interest rate sample

Change-Id: If7648c91c53dff737103de178bd8a09556765951
Signed-off-by: NIKHIL E GUPTA <negupta@us.ibm.com>
2019-08-13 10:17:40 -04:00

123 lines
5.2 KiB
Bash
Executable file

#!/bin/bash
DELAY="3"
TIMEOUT="10"
VERBOSE="false"
COUNTER=1
MAX_RETRY=5
CC_SRC_PATH="irscc/"
createChannel() {
CORE_PEER_LOCALMSPID=partya
CORE_PEER_ADDRESS=irs-partya:7051
CORE_PEER_MSPCONFIGPATH=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/partya.example.com/users/Admin@partya.example.com/msp
echo "===================== Creating channel ===================== "
peer channel create -o irs-orderer:7050 -c irs -f ./channel-artifacts/channel.tx
echo "===================== Channel created ===================== "
}
joinChannel () {
for org in partya partyb partyc auditor rrprovider
do
CORE_PEER_LOCALMSPID=$org
CORE_PEER_ADDRESS=irs-$org:7051
CORE_PEER_MSPCONFIGPATH=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/$org.example.com/users/Admin@$org.example.com/msp
echo "===================== Org $org joining channel ===================== "
peer channel join -b irs.block -o irs-orderer:7050
echo "===================== Channel joined ===================== "
done
}
installChaincode() {
for org in partya partyb partyc auditor rrprovider
do
CORE_PEER_LOCALMSPID=$org
CORE_PEER_ADDRESS=irs-$org:7051
CORE_PEER_MSPCONFIGPATH=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/$org.example.com/users/Admin@$org.example.com/msp
echo "===================== Org $org installing chaincode ===================== "
peer chaincode install -n irscc -v 0 -l golang -p ${CC_SRC_PATH}
echo "===================== Org $org chaincode installed ===================== "
done
}
instantiateChaincode() {
CORE_PEER_LOCALMSPID=partya
CORE_PEER_ADDRESS=irs-partya:7051
CORE_PEER_MSPCONFIGPATH=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/partya.example.com/users/Admin@partya.example.com/msp
echo "===================== Instantiating chaincode ===================== "
peer chaincode instantiate -o irs-orderer:7050 -C irs -n irscc -l golang -v 0 -c '{"Args":["init","auditor","1000000","rrprovider","myrr"]}' -P "AND(OR('partya.peer','partyb.peer','partyc.peer'), 'auditor.peer')"
echo "===================== Chaincode instantiated ===================== "
}
setReferenceRate() {
CORE_PEER_LOCALMSPID=rrprovider
CORE_PEER_ADDRESS=irs-rrprovider:7051
CORE_PEER_MSPCONFIGPATH=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/rrprovider.example.com/users/User1@rrprovider.example.com/msp
echo "===================== Invoking chaincode ===================== "
peer chaincode invoke -o irs-orderer:7050 -C irs --waitForEvent -n irscc --peerAddresses irs-rrprovider:7051 -c '{"Args":["setReferenceRate","myrr","300"]}'
echo "===================== Chaincode invoked ===================== "
}
createSwap() {
CORE_PEER_LOCALMSPID=partya
CORE_PEER_ADDRESS=irs-partya:7051
CORE_PEER_MSPCONFIGPATH=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/partya.example.com/users/User1@partya.example.com/msp
echo "===================== Invoking chaincode ===================== "
peer chaincode invoke -o irs-orderer:7050 -C irs --waitForEvent -n irscc --peerAddresses irs-partya:7051 --peerAddresses irs-partyb:7051 --peerAddresses irs-auditor:7051 -c '{"Args":["createSwap","myswap","{\"StartDate\":\"2018-09-27T15:04:05Z\",\"EndDate\":\"2018-09-30T15:04:05Z\",\"PaymentInterval\":395,\"PrincipalAmount\":100000,\"FixedRate\":400,\"FloatingRate\":500,\"ReferenceRate\":\"myrr\"}", "partya", "partyb"]}'
echo "===================== Chaincode invoked ===================== "
}
calculatePayment() {
CORE_PEER_LOCALMSPID=partya
CORE_PEER_ADDRESS=irs-partya:7051
CORE_PEER_MSPCONFIGPATH=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/partya.example.com/users/User1@partya.example.com/msp
echo "===================== Invoking chaincode ===================== "
peer chaincode invoke -o irs-orderer:7050 -C irs --waitForEvent -n irscc --peerAddresses irs-partya:7051 --peerAddresses irs-partyb:7051 -c '{"Args":["calculatePayment","myswap"]}'
echo "===================== Chaincode invoked ===================== "
}
settlePayment() {
CORE_PEER_LOCALMSPID=partyb
CORE_PEER_ADDRESS=irs-partyb:7051
CORE_PEER_MSPCONFIGPATH=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/partyb.example.com/users/User1@partyb.example.com/msp
echo "===================== Invoking chaincode ===================== "
peer chaincode invoke -o irs-orderer:7050 -C irs --waitForEvent -n irscc --peerAddresses irs-partya:7051 --peerAddresses irs-partyb:7051 -c '{"Args":["settlePayment","myswap"]}'
echo "===================== Chaincode invoked ===================== "
}
## Create channel
sleep 1
echo "Creating channel..."
createChannel
## Join all the peers to the channel
echo "Having all peers join the channel..."
joinChannel
## Install chaincode on all peers
echo "Installing chaincode..."
installChaincode
# Instantiate chaincode
echo "Instantiating chaincode..."
instantiateChaincode
echo "Setting myrr reference rate"
sleep 3
setReferenceRate
echo "Creating swap between A and B"
createSwap
echo "Calculate payment information"
calculatePayment
echo "Mark payment settled"
settlePayment
echo
echo "========= IRS network sample setup completed =========== "
echo
exit 0