Hyperledger Fabric V2.5 生产环境部署及安装Java智能合约

发布于:2025-07-22 ⋅ 阅读:(16) ⋅ 点赞:(0)

Hyperledger Fabric V2.5 生产环境部署文档

1.部署区块链网络
1. 安装基础依赖(分别执行)
# 更新软件源
sudo apt-get update && sudo apt-get upgrade -y
# 安装必备工具
sudo apt-get install -y git curl wget jq unzip build-essential libtool autoconf pkg-config
2.安装Docker(分别执行)
# 安装 Docker 和 Docker Compose
curl -fsSL https://get.docker.com -o get-docker.sh
chmod +x get-docker.sh
sh get-docker.sh --mirror Aliyun
sudo usermod -aG docker $USER
sudo systemctl start docker && sudo systemctl enable docker

# 配置镜像源
sudo vi /etc/docker/daemon.json
{
   
   
  "registry-mirrors": [
    "https://docker.1ms.run",
    "https://docker.xuanyuan.me"
  ]
}
sudo systemctl daemon-reload
sudo systemctl restart docker

# 安装 Docker Compose(推荐 v2.37.1)
sudo curl -L "https://github.com/docker/compose/releases/download/v2.37.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
3. 网络组件规划
IP 节点 端口 容器
10.6.0.13 peer0.org1.example.com 7051,7052,7053 peer0.org1.example.com
10.6.0.13 ca_org1 7054 ca.org1.example.com
10.6.0.13 cli - -
10.6.0.3 peer0.org2.example.com 7051,7052,7053 peer0.org2.example.com
10.6.0.3 ca_org2 7054 ca.org2.example.com
10.6.0.3 cli - -
10.6.0.7 orderer.example.com 7050 orderer.example.com
10.6.0.7 ca_orderer 7054 ca.orderer.example.com
4.主机互通(分别执行)
echo "10.6.0.13 ca.org1.example.com peer0.org1.example.com" | sudo tee -a /etc/hosts
echo "10.6.0.3 ca.org2.example.com peer0.org2.example.com" | sudo tee -a /etc/hosts
echo "10.6.0.7 orderer.example.com ca.orderer.example.com" | sudo tee -a /etc/hosts
5.创建目录(分别执行)
# 创建目录
sudo mkdir -r /home/ubuntu/hyperledger/multinodes

# 改变目录所属用户组
sudo chown -R ubuntu:ubuntu /home/ubuntu/hyperledger/multinodes
6.下载二进制文件(orderer节点)
# hyperledger fabric
hyperledger-fabric-linux-amd64-2.5.5.tar.gz

在这里插入图片描述

# fabric ca
hyperledger-fabric-ca-linux-amd64-1.5.15.tar.gz

在这里插入图片描述

7.编写CA 配置文件
orderer ca
# 切换目录 
cd /home/ubuntu/hyperledger/multinodes

# orderer ca
cat > compose-ca.yaml << 'EOF'
services:
  ca_orderer:
    image: hyperledger/fabric-ca:1.5.7
    environment:
      - FABRIC_CA_HOME=/etc/hyperledger/fabric-ca-server
      - FABRIC_CA_SERVER_CA_NAME=ca-orderer
      - FABRIC_CA_SERVER_TLS_ENABLED=true
      - FABRIC_CA_SERVER_PORT=7054
      - FABRIC_CA_SERVER_CSR_CN=ca-orderer
      - FABRIC_CA_SERVER_CSR_HOSTS=ca.orderer.example.com
    ports:
      - "7054:7054"
    command: sh -c 'fabric-ca-server start -b admin:adminpw -d'
    volumes:
      - ./fabric-ca/ordererOrg:/etc/hyperledger/fabric-ca-server
    container_name: ca_orderer
    extra_hosts:
      - "ca.orderer.example.com:10.6.0.7"
      - "ca.org1.example.com:10.6.0.13"
      - "ca.org2.example.com:10.6.0.3"
EOF

# 启动CA服务
docker-compose -f docker-ca.yaml up -d
org1 ca
# 切换目录 
cd /home/ubuntu/hyperledger/multinodes

# org1 ca
cat > compose-ca.yaml << 'EOF'
services:
  ca_org1:
    image: hyperledger/fabric-ca:1.5.7
    environment:
      - FABRIC_CA_HOME=/etc/hyperledger/fabric-ca-server
      - FABRIC_CA_SERVER_CA_NAME=ca-org1
      - FABRIC_CA_SERVER_TLS_ENABLED=true
      - FABRIC_CA_SERVER_PORT=7054
      - FABRIC_CA_SERVER_CSR_CN=ca-org1
      - FABRIC_CA_SERVER_CSR_HOSTS=ca.org1.example.com
    ports:
      - "7054:7054"
    command: sh -c 'fabric-ca-server start -b admin:adminpw -d'
    volumes:
      - ./fabric-ca/org1:/etc/hyperledger/fabric-ca-server
    container_name: ca_org1
    extra_hosts:
      - "ca.orderer.example.com:10.6.0.7"
      - "ca.org1.example.com:10.6.0.13"
      - "ca.org2.example.com:10.6.0.3"
EOF

# 启动CA服务
docker-compose -f docker-ca.yaml up -d
org2 ca
# 切换目录 
cd /home/ubuntu/hyperledger/multinodes

# org2 ca
cat > compose-ca.yaml << 'EOF'
services:
  ca_org2:
    image: hyperledger/fabric-ca:1.5.7
    environment:
      - FABRIC_CA_HOME=/etc/hyperledger/fabric-ca-server
      - FABRIC_CA_SERVER_CA_NAME=ca-org2
      - FABRIC_CA_SERVER_TLS_ENABLED=true
      - FABRIC_CA_SERVER_PORT=7054
      - FABRIC_CA_SERVER_CSR_CN=ca-org2
      - FABRIC_CA_SERVER_CSR_HOSTS=ca.org2.example.com
    ports:
      - "7054:7054"
    command: sh -c 'fabric-ca-server start -b admin:adminpw -d'
    volumes:
      - ./fabric-ca/org2:/etc/hyperledger/fabric-ca-server
    container_name: ca_org2
    extra_hosts:
      - "ca.orderer.example.com:10.6.0.7"
      - "ca.org1.example.com:10.6.0.13"
      - "ca.org2.example.com:10.6.0.3"
EOF

# 启动CA服务
docker-compose -f docker-ca.yaml up -d
将各节点ca证书拷贝到其它节点 ,最终如下:

在这里插入图片描述

8.编写生成组织证书脚本
# 切换目录
cd fabric-ca/

# 编写脚本
cat > registerEnroll.sh << 'EOF'
#!/bin/bash

function createOrg1 {

  echo
   echo "Enroll the CA admin"
  echo
   mkdir -p organizations/peerOrganizations/org1.example.com/

   export FABRIC_CA_CLIENT_HOME=${PWD}/organizations/peerOrganizations

网站公告

今日签到

点亮在社区的每一天
去签到