buildCC.sh
#!/bin/bash
. env.sh
. optChannel.sh
usage="Usage: $(basename -c command)
-c
package - 打包链码
install - 安装链码
queryInstall - 查询已安装链码
approve - 审核链码
checkreadiness - 查看链码是否就绪
commit - 提交链码
querycommitted - 查询通道已提交的链码
initCC - 初始化链码
-p 链码程序包目录(默认'')
-b 安装的链码包(tar.gz文件)
-i 链码ID,approve必传参数(asset_1:dc86a23bd13a23292567b853ac87479702e670b70d33413bfe5f547df7726717)
-n 链码名称(asset)
-v 链码版本(1)
-s 链码序号(1)
-t 通道名称(mychannel)
-l 链码标签(asset_1)
"
command=$1
ccpath=''
ccid=''
name=''
version=1
sequence=1
channelID=''
label=''
while getopts ":c:p:b:i:n:v:s:t:l:" opt
do
case $opt in
c)
command=$OPTARG
;;
p)
ccpath=$OPTARG
;;
b)
package=$OPTARG
;;
i)
ccid=$OPTARG
;;
n)
name=$OPTARG
;;
v)
version=$OPTARG
;;
s)
sequence=$OPTARG
;;
t)
channelID=$OPTARG
;;
l)
label=$OPTARG
;;
?)
echo "未知参数"
exit 1;;
esac
done
echo "参数列表:$@"
# ./buildCC.sh -c package -b asset.tar.gz -p '' -l asset_1
package(){
echo '打包链码开始'
JAR_NAME=`ll chaincode/|grep .jar | awk '{print $9}'`
echo "链码名称->$JAR_NAME"
setO1P1
echo ${CLI} --- ${ORG_HOST}
ssh ${ORG_HOST} "rm -rf ${CRYPTO_ROOT_PATH_MACHINE}chaincode/g'` &&
echo "将要安装的链码ID-------------$CHAINCODE_ID" &&
./buildCC.sh -c approve -i ${CHAINCODE_ID} -n ${CHANNEL_CODE_NAME} -v ${VERTION} -s ${SEQUENCE} -t ${CHANNEL_ID} &&
./buildCC.sh -c checkreadiness -v ${VERTION} -s ${SEQUENCE} -t ${CHANNEL_ID} -n ${CHANNEL_CODE_NAME} &&
./buildCC.sh -c commit -v ${VERTION} -s ${SEQUENCE} -t ${CHANNEL_ID} -n ${CHANNEL_CODE_NAME} &&
./buildCC.sh -c queryCommited -t ${CHANNEL_ID} -n ${CHANNEL_CODE_NAME} &&
./buildCC.sh -c initCC -t ${CHANNEL_ID} -n ${CHANNEL_CODE_NAME}