Update configs
parent
8e9bf1bc94
commit
fce22758d9
|
@ -2,7 +2,7 @@ KAFKA_ENABLED ?= false
|
|||
COUCHDB_ENABLED ?= false
|
||||
DEV_ENABLED ?= false
|
||||
|
||||
COMPOSE_FILE ?= "docker-compose-2orgs-4peers.yaml"
|
||||
COMPOSE_FILE ?= "docker-compose-2orgs-4peers-solo.yaml"
|
||||
|
||||
ifeq ($(KAFKA_ENABLED),true)
|
||||
COMPOSE_FILE="docker-compose-2orgs-4peers-kafka.yaml"
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
# Base compose files for:
|
||||
# All elements in this file should depend on the base.yaml
|
||||
# Provided solo-base fabric network with:
|
||||
|
||||
# ca.org1.example.com
|
||||
# ca.org2.example.com
|
||||
|
@ -12,13 +13,14 @@
|
|||
version: '2' # v3 does not support 'extends' yet
|
||||
|
||||
services:
|
||||
ca.org1.example.com:
|
||||
ca.org1.example.com: # ca node for org1
|
||||
extends:
|
||||
file: base.yaml
|
||||
service: ca-base
|
||||
container_name: ca.org1.example.com
|
||||
hostname: ca.org1.example.com
|
||||
environment:
|
||||
- FABRIC_CA_SERVER_TLS_ENABLED=true
|
||||
- FABRIC_CA_SERVER_CA_NAME=ca-org1
|
||||
- FABRIC_CA_SERVER_TLS_CERTFILE=/etc/hyperledger/fabric-ca-server-config/ca.org1.example.com-cert.pem
|
||||
- FABRIC_CA_SERVER_TLS_KEYFILE=/etc/hyperledger/fabric-ca-server-config/c843d3f021118963ce5d340e95286e8869bb7bd051454cd4166aa2887a2ad451_sk
|
||||
|
@ -28,13 +30,14 @@ services:
|
|||
- ./solo/crypto-config/peerOrganizations/org1.example.com/ca/:/etc/hyperledger/fabric-ca-server-config
|
||||
command: sh -c 'fabric-ca-server start --ca.certfile /etc/hyperledger/fabric-ca-server-config/ca.org1.example.com-cert.pem --ca.keyfile /etc/hyperledger/fabric-ca-server-config/c843d3f021118963ce5d340e95286e8869bb7bd051454cd4166aa2887a2ad451_sk -b admin:adminpw -d'
|
||||
|
||||
ca.org2.example.com:
|
||||
ca.org2.example.com: # ca node for org2
|
||||
extends:
|
||||
file: base.yaml
|
||||
service: ca-base
|
||||
container_name: ca.org2.example.com
|
||||
hostname: ca.org2.example.com
|
||||
environment:
|
||||
- FABRIC_CA_SERVER_TLS_ENABLED=true
|
||||
- FABRIC_CA_SERVER_CA_NAME=ca-org2
|
||||
- FABRIC_CA_SERVER_TLS_CERTFILE=/etc/hyperledger/fabric-ca-server-config/ca.org2.example.com-cert.pem
|
||||
- FABRIC_CA_SERVER_TLS_KEYFILE=/etc/hyperledger/fabric-ca-server-config/1ee551a8753171c0377366e96a1d7ec01afddb868c9483cc501b6f8ac7ae752f_sk
|
||||
|
@ -44,12 +47,14 @@ services:
|
|||
- ./solo/crypto-config/peerOrganizations/org2.example.com/ca/:/etc/hyperledger/fabric-ca-server-config
|
||||
command: sh -c 'fabric-ca-server start --ca.certfile /etc/hyperledger/fabric-ca-server-config/ca.org2.example.com-cert.pem --ca.keyfile /etc/hyperledger/fabric-ca-server-config/1ee551a8753171c0377366e96a1d7ec01afddb868c9483cc501b6f8ac7ae752f_sk -b admin:adminpw -d'
|
||||
|
||||
orderer.example.com: # There can be multiple orderers
|
||||
orderer.example.com: # orderer node for example org
|
||||
extends:
|
||||
file: base.yaml
|
||||
service: orderer-base
|
||||
container_name: orderer.example.com
|
||||
hostname: orderer.example.com
|
||||
environment:
|
||||
- ORDERER_GENERAL_TLS_ENABLED=true
|
||||
ports:
|
||||
- "7050:7050"
|
||||
volumes:
|
||||
|
@ -58,7 +63,7 @@ services:
|
|||
- ./solo/crypto-config/ordererOrganizations/example.com/orderers/orderer.example.com/tls/:/var/hyperledger/orderer/tls
|
||||
command: orderer start
|
||||
|
||||
cli:
|
||||
cli: # client node
|
||||
extends:
|
||||
file: base.yaml
|
||||
service: cli-base
|
||||
|
@ -74,6 +79,7 @@ services:
|
|||
- CORE_PEER_TLS_KEY_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/server.key
|
||||
- CORE_PEER_TLS_ROOTCERT_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/ca.crt
|
||||
- CORE_PEER_MSPCONFIGPATH=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/users/Admin@org1.example.com/msp
|
||||
- CORE_PEER_TLS_ENABLED=true # to enable TLS, change to true
|
||||
volumes:
|
||||
#- ./scripts:/opt/gopath/src/github.com/hyperledger/fabric/peer/scripts/
|
||||
- ./scripts:/tmp/scripts
|
||||
|
@ -97,6 +103,7 @@ services:
|
|||
- CORE_PEER_CHAINCODELISTENADDRESS=peer0.org1.example.com:7052
|
||||
- CORE_PEER_GOSSIP_EXTERNALENDPOINT=peer0.org1.example.com:7051
|
||||
- CORE_PEER_LOCALMSPID=Org1MSP
|
||||
- CORE_PEER_TLS_ENABLED=true
|
||||
volumes:
|
||||
- ./solo/crypto-config/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/msp:/etc/hyperledger/fabric/msp
|
||||
- ./solo/crypto-config/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls:/etc/hyperledger/fabric/tls
|
||||
|
@ -118,6 +125,7 @@ services:
|
|||
- CORE_PEER_CHAINCODELISTENADDRESS=peer1.org1.example.com:7052
|
||||
- CORE_PEER_GOSSIP_BOOTSTRAP=peer0.org1.example.com:7051
|
||||
- CORE_PEER_LOCALMSPID=Org1MSP
|
||||
- CORE_PEER_TLS_ENABLED=true
|
||||
volumes:
|
||||
- ./solo/crypto-config/peerOrganizations/org1.example.com/peers/peer1.org1.example.com/msp:/etc/hyperledger/fabric/msp
|
||||
- ./solo/crypto-config/peerOrganizations/org1.example.com/peers/peer1.org1.example.com/tls:/etc/hyperledger/fabric/tls
|
||||
|
@ -139,6 +147,7 @@ services:
|
|||
- CORE_PEER_CHAINCODELISTENADDRESS=peer0.org2.example.com:7052
|
||||
- CORE_PEER_GOSSIP_BOOTSTRAP=peer0.org2.example.com:7051
|
||||
- CORE_PEER_LOCALMSPID=Org2MSP
|
||||
- CORE_PEER_TLS_ENABLED=true
|
||||
volumes:
|
||||
- ./solo/crypto-config/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/msp:/etc/hyperledger/fabric/msp
|
||||
- ./solo/crypto-config/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/tls:/etc/hyperledger/fabric/tls
|
||||
|
@ -160,10 +169,40 @@ services:
|
|||
- CORE_PEER_CHAINCODELISTENADDRESS=peer1.org2.example.com:7052
|
||||
- CORE_PEER_GOSSIP_BOOTSTRAP=peer1.org2.example.com:7051
|
||||
- CORE_PEER_LOCALMSPID=Org2MSP
|
||||
- CORE_PEER_TLS_ENABLED=true
|
||||
volumes:
|
||||
- ./solo/crypto-config/peerOrganizations/org2.example.com/peers/peer1.org2.example.com/msp:/etc/hyperledger/fabric/msp
|
||||
- ./solo/crypto-config/peerOrganizations/org2.example.com/peers/peer1.org2.example.com/tls:/etc/hyperledger/fabric/tls
|
||||
ports:
|
||||
- 10051:7051
|
||||
- 10052:7052
|
||||
- 10053:7053
|
||||
- 10053:7053
|
||||
|
||||
event-listener:
|
||||
extends:
|
||||
file: base.yaml
|
||||
service: event-listener-base
|
||||
container_name: fabric-event-listener
|
||||
hostname: fabric-event-listener
|
||||
environment:
|
||||
- CORE_PEER_ADDRESS=peer0.org1.example.com:7051 # default to operate on peer0.org1
|
||||
- CORE_PEER_LOCALMSPID=Org1MSP
|
||||
- CORE_PEER_TLS_CERT_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/server.crt
|
||||
- CORE_PEER_TLS_KEY_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/server.key
|
||||
- CORE_PEER_TLS_ROOTCERT_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/ca.crt
|
||||
- CORE_PEER_MSPCONFIGPATH=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/users/Admin@org1.example.com/msp
|
||||
volumes:
|
||||
#- ./solo/examples:/opt/gopath/src/github.com/hyperledger/fabric/examples
|
||||
- ./solo/crypto-config:/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/
|
||||
- ./solo/channel-artifacts:/opt/gopath/src/github.com/hyperledger/fabric/peer/channel-artifacts
|
||||
- ./solo/configtx.yaml:/etc/hyperledger/fabric/configtx.yaml
|
||||
- ./solo/crypto-config.yaml:/etc/hyperledger/fabric/crypto-config.yaml
|
||||
- ./scripts:/opt/gopath/src/github.com/hyperledger/fabric/peer/scripts/
|
||||
depends_on:
|
||||
- orderer.example.com
|
||||
- peer0.org1.example.com
|
||||
- peer1.org1.example.com
|
||||
- peer0.org2.example.com
|
||||
- peer1.org2.example.com
|
||||
#command: bash -c 'block-listener -events-address=peer0.org1.example.com:7053 -events-mspdir=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/msp/ -events-mspid=Org1MSP'
|
||||
command: bash -c 'while true; do sleep 20170504; done'
|
|
@ -1,5 +1,5 @@
|
|||
# This is the default base file to config env and command
|
||||
# Notice that chaincode is executed inside docker in default net mode
|
||||
# All element in this file is abstract without knowing the org and consensus type
|
||||
# https://github.com/yeasy/docker-compose-files
|
||||
|
||||
# Depends on the hyperledger/fabric-peer image.
|
||||
|
@ -14,6 +14,7 @@ services:
|
|||
environment:
|
||||
- FABRIC_CA_HOME=/etc/hyperledger/fabric-ca-server
|
||||
- FABRIC_CA_SERVER_TLS_ENABLED=true
|
||||
#- FABRIC_CA_SERVER_TLS_ENABLED=false
|
||||
|
||||
orderer-base:
|
||||
#image: yeasy/hyperledger-fabric-orderer:1.0.3
|
||||
|
@ -28,7 +29,7 @@ services:
|
|||
- ORDERER_GENERAL_LOCALMSPID=OrdererMSP
|
||||
- ORDERER_GENERAL_LOCALMSPDIR=/var/hyperledger/orderer/msp
|
||||
- ORDERER_GENERAL_LEDGERTYPE=file
|
||||
- ORDERER_GENERAL_BATCHTIMEOUT=2s
|
||||
- ORDERER_GENERAL_BATCHTIMEOUT=1s
|
||||
- ORDERER_GENERAL_MAXMESSAGECOUNT=10
|
||||
- ORDERER_GENERAL_MAXWINDOWSIZE=1000
|
||||
- ORDERER_GENERAL_LISTENPORT=7050
|
||||
|
@ -90,7 +91,19 @@ services:
|
|||
- ORDERER_CA=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/ordererOrganizations/example.com/orderers/orderer.example.com/msp/tlscacerts/tlsca.example.com-cert.pem
|
||||
- CHANNEL_NAME:="businesschannel"
|
||||
working_dir: /opt/gopath/src/github.com/hyperledger/fabric/peer
|
||||
command: bash -c 'cd /tmp; bash scripts/func.sh; while true; do sleep 20170504; done'
|
||||
command: bash -c 'cd /tmp; source scripts/func.sh; while true; do sleep 20170504; done'
|
||||
|
||||
event-listener-base:
|
||||
image: yeasy/hyperledger-fabric:1.0.3
|
||||
restart: always
|
||||
tty: true
|
||||
environment:
|
||||
- CORE_PEER_ID=fabric-event-listener
|
||||
- CORE_LOGGING_LEVEL=DEBUG
|
||||
- CORE_PEER_TLS_ENABLED=false # event-listener doesn't support TLS
|
||||
working_dir: /opt/gopath/src/github.com/hyperledger/fabric/peer
|
||||
#command: bash -c 'block-listener -events-address=peer0.org1.example.com:7053 -events-mspdir=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/msp/ -events-mspid=Org1MSP'
|
||||
command: bash -c 'while true; do sleep 20170504; done'
|
||||
|
||||
couchdb-base:
|
||||
#container_name: couchdb0
|
||||
|
@ -110,6 +123,8 @@ services:
|
|||
- '3888'
|
||||
|
||||
kafka-base:
|
||||
# official repo doesn't have latest tag, however, kafka changes version recently
|
||||
image: yeasy/hyperledger-fabric-kafka:0.10.2.0
|
||||
image: hyperledger/fabric-kafka:x86_64-1.0.3
|
||||
restart: always
|
||||
tty: true
|
||||
|
|
|
@ -10,42 +10,42 @@ version: '2.0'
|
|||
services:
|
||||
# ca.org1.example.com:
|
||||
# extends:
|
||||
# file: docker-compose-base-e2e.yaml
|
||||
# file: base-solo.yaml
|
||||
# service: ca.org1.example.com
|
||||
|
||||
# ca.org2.example.com:
|
||||
# extends:
|
||||
# file: docker-compose-base-e2e.yaml
|
||||
# file: base-solo.yaml
|
||||
# service: ca.org2.example.com
|
||||
|
||||
cli:
|
||||
extends:
|
||||
file: docker-compose-base-e2e.yaml
|
||||
file: base-solo.yaml
|
||||
service: cli
|
||||
|
||||
orderer.example.com: # There can be multiple orderers
|
||||
extends:
|
||||
file: docker-compose-base-e2e.yaml
|
||||
file: base-solo.yaml
|
||||
service: orderer.example.com
|
||||
|
||||
peer0.org1.example.com:
|
||||
extends:
|
||||
file: docker-compose-base-e2e.yaml
|
||||
file: base-solo.yaml
|
||||
service: peer0.org1.example.com
|
||||
|
||||
peer1.org1.example.com:
|
||||
extends:
|
||||
file: docker-compose-base-e2e.yaml
|
||||
file: base-solo.yaml
|
||||
service: peer1.org1.example.com
|
||||
|
||||
peer0.org2.example.com:
|
||||
extends:
|
||||
file: docker-compose-base-e2e.yaml
|
||||
file: base-solo.yaml
|
||||
service: peer0.org2.example.com
|
||||
|
||||
peer1.org2.example.com:
|
||||
extends:
|
||||
file: docker-compose-base-e2e.yaml
|
||||
file: base-solo.yaml
|
||||
service: peer1.org2.example.com
|
||||
|
||||
#networks:
|
|
@ -27,14 +27,13 @@ ORDERER_CA=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/ordererOrga
|
|||
verifyResult () {
|
||||
if [ $1 -ne 0 ] ; then
|
||||
echo_b "!!!!!!!!!!!!!!! "$2" !!!!!!!!!!!!!!!!"
|
||||
echo_r "================== ERROR !!! FAILED to execute End-2-End Scenario =================="
|
||||
echo_r "================== ERROR !!! FAILED to execute End-2-End Scenario =================="
|
||||
echo
|
||||
exit 1
|
||||
fi
|
||||
}
|
||||
|
||||
setGlobals () {
|
||||
|
||||
if [ $1 -eq 0 -o $1 -eq 1 ] ; then
|
||||
CORE_PEER_LOCALMSPID="Org1MSP"
|
||||
CORE_PEER_TLS_ROOTCERT_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/ca.crt
|
||||
|
@ -89,6 +88,8 @@ checkOSNAvailability() {
|
|||
|
||||
# Use peer0/org1 to create a channel
|
||||
channelCreate() {
|
||||
CHANNEL_NAME=$1
|
||||
echo_b "===================== Create Channel \"$CHANNEL_NAME\" ===================== "
|
||||
setGlobals 0
|
||||
if [ -z "$CORE_PEER_TLS_ENABLED" -o "$CORE_PEER_TLS_ENABLED" = "false" ]; then
|
||||
peer channel create -o orderer.example.com:7050 -c $CHANNEL_NAME -f ./channel-artifacts/channel.tx --timeout $TIMEOUT >&log.txt
|
||||
|
@ -111,10 +112,11 @@ channelCreate() {
|
|||
}
|
||||
|
||||
updateAnchorPeers() {
|
||||
PEER=$1
|
||||
setGlobals $PEER
|
||||
|
||||
if [ -z "$CORE_PEER_TLS_ENABLED" -o "$CORE_PEER_TLS_ENABLED" = "false" ]; then
|
||||
CHANNEL_NAME=$1
|
||||
PEER=$2
|
||||
setGlobals $PEER
|
||||
echo_b "===================== Update Anchor peers for org \"$CORE_PEER_LOCALMSPID\" on \"$CHANNEL_NAME\" ===================== "
|
||||
if [ -z "$CORE_PEER_TLS_ENABLED" -o "$CORE_PEER_TLS_ENABLED" = "false" ]; then
|
||||
peer channel update -o orderer.example.com:7050 -c $CHANNEL_NAME -f ./channel-artifacts/${CORE_PEER_LOCALMSPID}anchors.tx >&log.txt
|
||||
else
|
||||
peer channel update -o orderer.example.com:7050 -c $CHANNEL_NAME -f ./channel-artifacts/${CORE_PEER_LOCALMSPID}anchors.tx --tls $CORE_PEER_TLS_ENABLED --cafile $ORDERER_CA >&log.txt
|
||||
|
@ -122,7 +124,7 @@ updateAnchorPeers() {
|
|||
res=$?
|
||||
cat log.txt
|
||||
verifyResult $res "Anchor peer update failed"
|
||||
echo "===================== Anchor peers for org \"$CORE_PEER_LOCALMSPID\" on \"$CHANNEL_NAME\" is updated successfully ===================== "
|
||||
echo_g "===================== Anchor peers for org \"$CORE_PEER_LOCALMSPID\" on \"$CHANNEL_NAME\" is updated successfully ===================== "
|
||||
sleep 5
|
||||
echo
|
||||
}
|
||||
|
@ -145,11 +147,13 @@ joinWithRetry () {
|
|||
|
||||
# Join given (by default all) peers into the channel
|
||||
channelJoin () {
|
||||
peer_to_join=$(seq 0 3)
|
||||
if [ $# -gt 0 ]; then
|
||||
peer_to_join=$@
|
||||
CHANNEL_NAME=$1
|
||||
echo_b "===================== Join peers into the channel \"$CHANNEL_NAME\" ===================== "
|
||||
peers_to_join=$(seq 0 3)
|
||||
if [ $# -gt 1 ]; then
|
||||
peers_to_join=${@:2}
|
||||
fi
|
||||
for i in $peer_to_join; do
|
||||
for i in $peers_to_join; do
|
||||
setGlobals $i
|
||||
joinWithRetry $i
|
||||
echo_g "===================== PEER$i joined on the channel \"$CHANNEL_NAME\" ===================== "
|
||||
|
@ -160,8 +164,10 @@ channelJoin () {
|
|||
|
||||
# Instantiate chaincode on specifized peer node
|
||||
chaincodeInstantiate () {
|
||||
#CHANNEL_NAME=$1
|
||||
PEER=$1
|
||||
setGlobals $PEER
|
||||
echo_b "===================== chaincodeInstantiate for channel $CHANNEL_NAME on peer $PEER ============"
|
||||
# while 'peer chaincode' command can get the orderer endpoint from the peer (if join was successful),
|
||||
# lets supply it directly as we know it using the "-o" option
|
||||
if [ -z "$CORE_PEER_TLS_ENABLED" -o "$CORE_PEER_TLS_ENABLED" = "false" ]; then
|
||||
|
@ -171,14 +177,14 @@ chaincodeInstantiate () {
|
|||
fi
|
||||
res=$?
|
||||
cat log.txt
|
||||
verifyResult $res "Chaincode instantiation on PEER$PEER on channel '$CHANNEL_NAME' failed"
|
||||
echo_g "===================== Chaincode Instantiation on PEER$PEER on channel '$CHANNEL_NAME' is successful ===================== "
|
||||
verifyResult $res "Chaincode instantiation on PEER$PEER in channel '$CHANNEL_NAME' failed"
|
||||
echo_g "===================== Chaincode Instantiation on PEER$PEER in channel '$CHANNEL_NAME' is successful ===================== "
|
||||
echo
|
||||
}
|
||||
|
||||
chaincodeQuery () {
|
||||
PEER=$1
|
||||
echo_b "===================== Querying on PEER$PEER on channel '$CHANNEL_NAME'... ===================== "
|
||||
echo_b "===================== Querying on PEER$PEER in channel '$CHANNEL_NAME'... ===================== "
|
||||
setGlobals $PEER
|
||||
local rc=1
|
||||
local starttime=$(date +%s)
|
||||
|
@ -196,7 +202,7 @@ chaincodeQuery () {
|
|||
echo
|
||||
cat log.txt
|
||||
if test $rc -eq 0 ; then
|
||||
echo_g "===================== Query on PEER$PEER on channel '$CHANNEL_NAME' is successful ===================== "
|
||||
echo_g "===================== Query on PEER$PEER in channel '$CHANNEL_NAME' is successful ===================== "
|
||||
else
|
||||
echo_r "!!!!!!!!!!!!!!! Query result on PEER$PEER is INVALID !!!!!!!!!!!!!!!!"
|
||||
echo_r "================== ERROR !!! FAILED to execute End-2-End Scenario =================="
|
||||
|
@ -207,6 +213,7 @@ chaincodeQuery () {
|
|||
|
||||
chaincodeInvoke () {
|
||||
PEER=$1
|
||||
echo_g "===================== Invoke transaction on PEER$PEER in channel '$CHANNEL_NAME'===================== "
|
||||
setGlobals $PEER
|
||||
# while 'peer chaincode' command can get the orderer endpoint from the peer (if join was successful),
|
||||
# lets supply it directly as we know it using the "-o" option
|
||||
|
@ -218,13 +225,14 @@ chaincodeInvoke () {
|
|||
res=$?
|
||||
cat log.txt
|
||||
verifyResult $res "Invoke execution on PEER$PEER failed "
|
||||
echo_g "===================== Invoke transaction on PEER$PEER on channel '$CHANNEL_NAME' is successful ===================== "
|
||||
echo_g "===================== Invoke transaction on PEER$PEER in channel '$CHANNEL_NAME' is successful ===================== "
|
||||
echo
|
||||
}
|
||||
|
||||
# Install chaincode on specifized peer node
|
||||
chaincodeInstall () {
|
||||
PEER=$1
|
||||
echo_b "===================== Install Chaincode on remote peer PEER$PEER ===================== "
|
||||
VERSION=$2
|
||||
setGlobals $PEER
|
||||
peer chaincode install -n $CC_NAME -v $VERSION -p github.com/hyperledger/fabric/examples/chaincode/go/chaincode_example02 >&log.txt
|
||||
|
@ -235,11 +243,29 @@ chaincodeInstall () {
|
|||
echo
|
||||
}
|
||||
|
||||
# chaincodeUpgrade 0 1.1
|
||||
chaincodeUpgrade () {
|
||||
# Start chaincode with dev mode
|
||||
chaincodeStartDev () {
|
||||
PEER=$1
|
||||
VERSION=$2
|
||||
setGlobals $PEER
|
||||
CORE_CHAINCODE_LOGLEVEL=debug \
|
||||
CORE_PEER_ADDRESS=peer${PEER}.org1.example.com:7052 \
|
||||
CORE_CHAINCODE_ID_NAME=mycc:${VERSION} \
|
||||
nohup ./scripts/chaincode_example02 > chaincode_dev.log &
|
||||
res=$?
|
||||
cat log.txt
|
||||
verifyResult $res "Chaincode start in dev mode has Failed"
|
||||
echo_g "===================== Chaincode started in dev mode ===================== "
|
||||
echo
|
||||
}
|
||||
|
||||
# chaincodeUpgrade 0 1.1
|
||||
chaincodeUpgrade () {
|
||||
CHANNEL_NAME=$1
|
||||
PEER=$2
|
||||
VERSION=$3
|
||||
echo_b "===================== Upgrade chaincode to version $VERSION on PEER$PEER in channel '$CHANNEL_NAME' ===================== "
|
||||
setGlobals $PEER
|
||||
# while 'peer chaincode' command can get the orderer endpoint from the peer (if join was successful),
|
||||
# lets supply it directly as we know it using the "-o" option
|
||||
if [ -z "$CORE_PEER_TLS_ENABLED" -o "$CORE_PEER_TLS_ENABLED" = "false" ]; then
|
||||
|
@ -250,7 +276,31 @@ chaincodeUpgrade () {
|
|||
res=$?
|
||||
cat log.txt
|
||||
verifyResult $res "Upgrade execution on PEER$PEER failed "
|
||||
echo_g "===================== Upgrade transaction on PEER$PEER on channel '$CHANNEL_NAME' is successful ===================== "
|
||||
echo_g "===================== Upgrade transaction on PEER$PEER in channel '$CHANNEL_NAME' is successful ===================== "
|
||||
echo
|
||||
}
|
||||
|
||||
channelFetch () {
|
||||
PEER=$1
|
||||
BLOCK_NO=$2
|
||||
echo_b "===================== Fetch block $BLOCK_NO on PEER$PEER in channel '$CHANNEL_NAME' ===================== "
|
||||
setGlobals $PEER
|
||||
# while 'peer chaincode' command can get the orderer endpoint from the peer (if join was successful),
|
||||
# lets supply it directly as we know it using the "-o" option
|
||||
if [ -z "${CORE_PEER_TLS_ENABLED}" -o "${CORE_PEER_TLS_ENABLED}" = "false" ]; then
|
||||
peer channel fetch $BLOCK_NO \
|
||||
-o orderer.example.com:7050 \
|
||||
-c ${CHANNEL_NAME} >&log.txt
|
||||
else
|
||||
peer channel fetch $BLOCK_NO block_${BLOCK_NO}.block \
|
||||
-o orderer.example.com:7050 \
|
||||
-c $CHANNEL_NAME \
|
||||
--tls \
|
||||
--cafile $ORDERER_CA >&log.txt
|
||||
fi
|
||||
res=$?
|
||||
cat log.txt
|
||||
verifyResult $res "Fetch block on PEER$PEER failed "
|
||||
echo_g "===================== Fetch block on PEER$PEER in channel '$CHANNEL_NAME' is successful ===================== "
|
||||
echo
|
||||
}
|
|
@ -13,22 +13,20 @@ echo " ==========initialize businesschannel========== "
|
|||
echo " ============================================== "
|
||||
echo
|
||||
|
||||
echo_b "Channel name : "$CHANNEL_NAME
|
||||
|
||||
## Create channel
|
||||
echo_b "Creating channel..."
|
||||
channelCreate
|
||||
echo_b "Creating channel $CHANNEL_NAME..."
|
||||
channelCreate $CHANNEL_NAME
|
||||
|
||||
## Join all the peers to the channel
|
||||
echo_b "Having all peers join the channel..."
|
||||
channelJoin
|
||||
echo_b "Having all peers join the channel $CHANNEL_NAME..."
|
||||
channelJoin $CHANNEL_NAME
|
||||
|
||||
|
||||
## Set the anchor peers for each org in the channel
|
||||
echo_b "Updating anchor peers for org1..."
|
||||
updateAnchorPeers 0
|
||||
updateAnchorPeers $CHANNEL_NAME 0
|
||||
echo_b "Updating anchor peers for org2..."
|
||||
updateAnchorPeers 2
|
||||
updateAnchorPeers $CHANNEL_NAME 2
|
||||
|
||||
## Install chaincode on all peers
|
||||
echo_b "Installing chaincode on all 4 peers..."
|
||||
|
@ -39,7 +37,7 @@ chaincodeInstall 3 1.0
|
|||
|
||||
# Instantiate chaincode on all peers
|
||||
# Instantiate can only be executed once on any node
|
||||
echo_b "Instantiating chaincode on all 2 channels (once for each channel)..."
|
||||
echo_b "Instantiating chaincode on all 2 orgs (once for each org)..."
|
||||
chaincodeInstantiate 0
|
||||
chaincodeInstantiate 2
|
||||
|
||||
|
|
|
@ -37,7 +37,7 @@ chaincodeInstall 1 1.1
|
|||
chaincodeInstall 2 1.1
|
||||
chaincodeInstall 3 1.1
|
||||
|
||||
chaincodeUpgrade 0 1.1
|
||||
chaincodeUpgrade $CHANNEL_NAME 0 1.1
|
||||
|
||||
chaincodeQuery 0 100
|
||||
chaincodeQuery 3 100
|
||||
|
|
Loading…
Reference in New Issue