在部署 java 链码前保证机器上已经安装了 java , maven 环境
参考教程: https://www.bilibili.com/video/BV1bu41117Lx
1 打包智能合约
1.1 下载 hyperledger-fabric-contract-java-demo 合约源码到本地机器
cd ~fabric-samples/chaincode/
git clone https://gitee.com/kernelHP/hyperledger-fabric-contract-java-demo.git
1.2 返回到test-network所在目录
返回到test-network所在目录,以便可以将链码与其他网络部件打包在一起。
cd ../../test-network
1.3 将bin目录中二进制文件添加到CLI路径
所需格式的链码包可以使用peer CLI创建,使用以下命令将这些二进制文件添加到你的CLI路径。
export PATH=${PWD}/../bin:$PATH
1.4 设置FABRIC_CFG_PATH为指向fabric-samples中的core.yaml文件
export FABRIC_CFG_PATH=$PWD/../config/
1.5 创建链码包
peer lifecycle chaincode package hyperledger-fabric-contract-java-demo.tar.gz --path ../chaincode/hyperledger-fabric-contract-java-demo/ --lang java --label hyperledger-fabric-contract-java-demo_1
命令解释:此命令将在当前目录中创建一个名为 hyperledger-fabric-contract-java-demo.tar.gz的软件包。–lang标签用于指定链码语言,–path标签提供智能合约代码的位置,该路径必须是标准路径或相对于当前工作目录的路径,–label标签用于指定一个链码标签,该标签将在安装链码后对其进行标识。建议您的标签包含链码名称和版本。
现在,我们已经创建了链码包,我们可以在测试网络的对等节点上安装链码。
2 安装链码包
打包 hyperledger-fabric-contract-java-demo 智能合约后,我们可以在peer节点上安装链码。需要在将认可交易的每个peer节点上安装链码。因为我们将设置背书策略以要求来自Org1和Org2的背书,所以我们需要在两个组织的peer节点上安装链码:peer0.org1.example.com和peer0.org2.example.com
2.1 Org1 peer节点安装链码
设置以下环境变量,以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/Admin@org1.example.com/msp
export CORE_PEER_ADDRESS=localhost:7051
使用 peer lifecycle chaincode install 命令在peer节点上安装链码。
也就是安装合约
peer lifecycle chaincode install hyperledger-fabric-contract-java-demo.tar.gz
看到如下信息说明链码安装成功
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pj5QCX1Y-1652845797158)(https://doc.3hea.com/uploads/fabric/images/m_b49ae7c94703495123e7f9eedeec9036_r.png)]
2.2 Org2 peer节点安装链码
设置以下环境变量,以Org2管理员的身份操作peer CLI。
export CORE_PEER_LOCALMSPID="Or