1. 简述
最近有一个新的业务需求,需要更新链码,所以这里要记录一些比较重要的东西。因为记忆力衰退。
2. 安装链码
更新某条链码,首先要把链码安装到节点。注意版本,既然是更新,那么版本就应该是不通的。
docker exec \
-e "CORE_PEER_LOCALMSPID=$(get_mspid $org)" \
-e "CORE_PEER_MSPCONFIGPATH=$(get_msp_config_path $org $peer)" \
-e "CORE_PEER_ADDRESS=$(get_peer_address $org $peer $port)" \
-e "CORE_PEER_TLS_CERT_FILE=$(get_peer_tls_cert $org $peer $cert)" \
-e "CORE_PEER_TLS_KEY_FILE=$(get_peer_tls_cert $org $peer $key)" \
-e "CORE_PEER_TLS_ROOTCERT_FILE=$(get_peer_tls_cert $org $peer $rootcert)" \
clitest \
peer chaincode install \
-n $cc_name \
-v $CC_VERSION \
-l $lang \
-p $cc_src_path
3. 链码更新
安装完毕后,进行更新操作
docker exec \
-e "CORE_PEER_LOCALMSPID=$(get_mspid $org)" \
-e "CORE_PEER_MSPCONFIGPATH=$(get_msp_config_path $org $peer)" \
-e "CORE_PEER_ADDRESS=$(get_peer_address $org $peer $port)" \
-e "CORE_PEER_TLS_CERT_FILE=$(get_peer_tls_cert $org $peer $cert)" \
-e "CORE_PEER_TLS_KEY_FILE=$(get_peer_tls_cert $org $peer $key)" \
-e "CORE_PEER_TLS_ROOTCERT_FILE=$(get_peer_tls_cert $org $peer $rootcert)" \
clitest \
peer chaincode upgrade \
-o $ORDERER0_ADDRESS \
--tls true \
--cafile $ORDERER_CAFILE \
-C $CHANNEL_NAME \
-n $cc_name \
-l golang \
-v $CC_VERSION \
-c '{"Args":[""]}' \
-P 'OR ('\''Org1MSP.member'\'','\''Org2MSP.member'\'')'