一 打包智能合约
①进入fabric-samples文件夹下的chaincode/fabcar/go目录下执行
GO111MODULE=on go mod vendor下载依赖(文件夹下已经有go.mod,不需要使用go mod init生成该module文件)
②进入到test-network文件下使用以下命令将二进制文件添加到cli路径:
export PATH=${PWD}/../bin:$PATH
③还需要设置FABRIC_CFG_PATH路径指向fabric-samples中的core.yaml文件,命令如下:
export FABRIC_CFG_PATH=$PWD/../config/
④检查peer命令是否可以使用:
peer version
⑤打包智能合约
#../chaincode/fabcar/go/路径保证准确,fabcar_1.0自定义命名
peer lifecycle chaincode package fabcar.tar.gz --path ../chaincode/fabcar/go/ --lang golang --label fabcar_1.0
二 安装、批准、打包好的链码
①设置允许org1操作peer cli的环境变量
export CORE_PEER_TLS_ENABLED=true
export CORE_PEER_LOCALMSPID="Org1MSP"
export CORE_PEER_TLS_ROOTCERT_FILE=${PWD}/organizations/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/ca.crt
export CORE_PEER_MSPCONFIGPATH=${PWD}/organizations/peerOrganizations/org1.example.com/users/[email protected]/msp
export CORE_PEER_ADDRESS=localhost:7051
#安装智能合约
peer lifecycle chaincode install fabcar.tar.gz
②当前组织批准同意链码定义
export CC_PACKAGE_ID=fabcar_1.0:3cfcf67978d6b3f7c5e0375660c995b21db19c4330946079afc3925ad7306881
peer lifecycle chaincode approveformyorg -o localhost:7050 --ordererTLSHostnameOverride orderer.example.com --channelID mychannel --name fabcar --version 1.0 --package-id $CC_PACKAGE_ID --sequence 1 --tls --cafile ${PWD}/organizations/ordererOrganizations/example.com/orderers/orderer