docker-compose-files/hyperledger_fabric/latest/scripts/variables.sh

149 lines
6.6 KiB
Bash

#!/usr/bin/env bash
# Before running `make`, config this files
# Define some global variables for usage. Will be included by func.sh.
# ARCH=amd64
# for the base images, including baseimage, couchdb, kafka, zookeeper
BASE_IMG_TAG=0.4.18
# For fabric images, including peer, orderer, ca
FABRIC_IMG_TAG=latest
# Keep the same as in core.yaml, will tag ccenv with this value
PROJECT_VERSION=2.0.0
# for ccenv, baseos, javaenv, nodeenv
TWO_DIGIT_VERSION=2.0
# Name of app channel, need to align with the gen_artifacts.sh
SYS_CHANNEL="testchainid"
APP_CHANNEL="businesschannel"
APP_CHANNEL1="businesschannel1"
APP_CHANNEL2="businesschannel2"
# Client cmd execute timeout and retry times
TIMEOUT="90"
MAX_RETRY=10
# Organization and peers
ORGS=( 1 2 )
PEERS=( 0 1 )
#: "${ORGS:=( 1 2 )}"
#: "${PEERS:=( 0 1 )}"
ORG1MSP="Org1MSP"
ORG2MSP="Org2MSP"
ORG3MSP="Org3MSP"
# Orderer0 related paths
ORDERER0_MSP=/etc/hyperledger/fabric/crypto-config/ordererOrganizations/example.com/orderers/orderer0.example.com/msp
ORDERER0_ADMIN_MSP=/etc/hyperledger/fabric/crypto-config/ordererOrganizations/example.com/users/Admin@example.com/msp
ORDERER0_TLS_CA=/etc/hyperledger/fabric/crypto-config/ordererOrganizations/example.com/orderers/orderer0.example.com/msp/tlscacerts/tlsca.example.com-cert.pem
ORDERER0_TLS_ROOTCERT=/etc/hyperledger/fabric/crypto-config/ordererOrganizations/example.com/orderers/orderer0.example.com/tls/ca.crt
# Org1 related path
ORG1_ADMIN_MSP=/etc/hyperledger/fabric/crypto-config/peerOrganizations/org1.example.com/users/Admin@org1.example.com/msp
ORG1_PEER0_MSP=/etc/hyperledger/fabric/crypto-config/peerOrganizations/org1.example.com/peers/peer0.Org1.example.com/msp
ORG1_PEER0_TLS_ROOTCERT=/etc/hyperledger/fabric/crypto-config/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/ca.crt
ORG1_PEER1_TLS_ROOTCERT=/etc/hyperledger/fabric/crypto-config/peerOrganizations/org1.example.com/peers/peer1.org1.example.com/tls/ca.crt
ORG1_ADMIN_TLS_CLIENT_KEY=/etc/hyperledger/fabric/crypto-config/peerOrganizations/org1.example.com/users/Admin@Org1.example.com/tls/client.key
ORG1_ADMIN_TLS_CLIENT_CERT=/etc/hyperledger/fabric/crypto-config/peerOrganizations/org1.example.com/users/Admin@Org1.example.com/tls/client.crt
ORG1_ADMIN_TLS_CA_CERT=/etc/hyperledger/fabric/crypto-config/peerOrganizations/org1.example.com/users/Admin@Org1.example.com/tls/ca.crt
# Org2 related path
ORG2_ADMIN_MSP=/etc/hyperledger/fabric/crypto-config/peerOrganizations/org2.example.com/users/Admin@org2.example.com/msp
ORG2_PEER0_TLS_ROOTCERT=/etc/hyperledger/fabric/crypto-config/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/tls/ca.crt
ORG2_PEER1_TLS_ROOTCERT=/etc/hyperledger/fabric/crypto-config/peerOrganizations/org2.example.com/peers/peer1.org2.example.com/tls/ca.crt
# Node URLS
ORDERER0_URL="orderer0.example.com:7050"
ORDERER1_URL="orderer1.example.com:7050"
ORDERER2_URL="orderer2.example.com:7050"
ORG1_PEER0_URL="peer0.org1.example.com:7051"
ORG1_PEER1_URL="peer1.org1.example.com:7051"
ORG2_PEER0_URL="peer0.org2.example.com:7051"
ORG2_PEER1_URL="peer1.org2.example.com:7051"
# Chaincode exp02 related
CC_02_NAME="exp02"
CC_02_PATH="examples/chaincode/go/chaincode_example02"
CC_02_INIT_ARGS='{"Args":["init","a","100","b","200"]}'
CC_02_UPGRADE_ARGS='{"Args":["upgrade","a","100","b","200"]}'
CC_02_INVOKE_ARGS='{"Args":["invoke","a","b","10"]}'
CC_02_QUERY_ARGS='{"Args":["query","a"]}'
# Chaincode map related
CC_MAP_NAME="map"
CC_MAP_PATH="examples/chaincode/go/map"
CC_MAP_INIT_ARGS='{"Args":["init",""]}'
CC_MAP_UPGRADE_ARGS='{"Args":["upgrade",""]}'
CC_MAP_INVOKE_ARGS='{"Args":["invoke","put","key","value"]}'
CC_MAP_QUERY_ARGS='{"Args":["get","key"]}'
# Chaincode marbles related
CC_MARBLES_NAME="marblesp"
CC_MARBLES_PATH="examples/chaincode/go/marbles02_private/go"
CC_MARBLES_INIT_ARGS='{"Args":["init"]}'
CC_MARBLES_UPGRADE_ARGS='{"Args":["upgrade",""]}'
CC_MARBLES_INVOKE_INIT_ARGS='{"Args":["initMarble","marble1","blue","10","tom","100"]}' # price is in collectionMarblePrivateDetails
CC_MARBLES_INVOKE_INIT_ARGS_2='{"Args":["initMarble","marble2","blue","10","tom","100"]}' # price is in collectionMarblePrivateDetails
CC_MARBLES_INVOKE_TRANSFER_ARGS='{"Args":["transferMarble","marble1","jerry"]}' # price is in collectionMarblePrivateDetails
CC_MARBLES_QUERY_READ_ARGS='{"Args":["readMarble","marble1"]}' # this requires 'collectionMarbles' collection
CC_MARBLES_QUERY_READPVTDETAILS_ARGS='{"Args":["readMarblePrivateDetails","marble1"]}' # this requires 'collectionMarblePrivateDetails' collection
CC_MARBLES_QUERY_READPVTDETAILS_ARGS_2='{"Args":["readMarblePrivateDetails","marble2"]}' # this requires 'collectionMarblePrivateDetails' collection
CC_MARBLES_COLLECTION_CONFIG="/go/src/examples/chaincode/go/marbles02_private/collections_config.json"
CC_MARBLES_COLLECTION_CONFIG_NEW="/go/src/examples/chaincode/go/marbles02_private/collections_config_new.json"
# unique chaincode params
CC_NAME=${CC_02_NAME}
CC_PATH=${CC_02_PATH}
CC_INIT_ARGS=${CC_02_INIT_ARGS}
CC_INIT_VERSION=1.0
CC_UPGRADE_ARGS=${CC_02_UPGRADE_ARGS}
CC_UPGRADE_VERSION=1.1
CC_INVOKE_ARGS=${CC_02_INVOKE_ARGS}
CC_QUERY_ARGS=${CC_02_QUERY_ARGS}
# Generate configs
GEN_IMG=yeasy/hyperledger-fabric:${FABRIC_IMG_TAG} # working dir is `/go/src/github.com/hyperledger/fabric`
GEN_CONTAINER=generator
FABRIC_CFG_PATH=/etc/hyperledger/fabric
CHANNEL_ARTIFACTS=channel-artifacts
CRYPTO_CONFIG=crypto-config
ORDERER0_GENESIS=orderer0.genesis
ORDERER1_GENESIS=orderer1.genesis
ORDERER2_GENESIS=orderer2.genesis
ORDERER0_GENESIS_BLOCK=${ORDERER0_GENESIS}.block
ORDERER1_GENESIS_BLOCK=${ORDERER1_GENESIS}.block
ORDERER2_GENESIS_BLOCK=${ORDERER2_GENESIS}.block
ORDERER_GENESIS_PROFILE=TwoOrgsOrdererGenesis
APP_CHANNEL_PROFILE=TwoOrgsChannel
APP_CHANNEL_TX=${APP_CHANNEL}.tx
APP_CHANNEL1_TX=${APP_CHANNEL1}.tx
APP_CHANNEL2_TX=${APP_CHANNEL2}.tx
UPDATE_ANCHOR_ORG1_TX=Org1MSPanchors.tx
UPDATE_ANCHOR_ORG2_TX=Org2MSPanchors.tx
# CONFIGTXLATOR
CTL_IMG=yeasy/hyperledger-fabric:${FABRIC_IMG_TAG}
CTL_CONTAINER=configtxlator
CTL_BASE_URL=http://127.0.0.1:7059
CTL_ENCODE_URL=${CTL_BASE_URL}/protolator/encode
CTL_DECODE_URL=${CTL_BASE_URL}/protolator/decode
CTL_COMPARE_URL=${CTL_BASE_URL}/configtxlator/compute/update-from-configs
PAYLOAD_PATH=".data.data[0].payload"
PAYLOAD_CFG_PATH=".data.data[0].payload.data.config"
MAX_BATCH_SIZE_PATH=".data.data[0].payload.data.config.channel_group.groups.Orderer.values.BatchSize.value.max_message_count"
# channel update config
ORIGINAL_CFG_JSON=original_config.json
ORIGINAL_CFG_PB=original_config.pb
UPDATED_CFG_JSON=updated_config.json
UPDATED_CFG_PB=updated_config.pb
CFG_DELTA_JSON=config_delta.json
CFG_DELTA_PB=config_delta.pb
CFG_DELTA_ENV_JSON=config_delta_env.json
CFG_DELTA_ENV_PB=config_delta_env.pb