当前位置: 首页 > web >正文

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

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.7environment:- 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.comports:- "7054:7054"command: sh -c 'fabric-ca-server start -b admin:adminpw -d'volumes:- ./fabric-ca/ordererOrg:/etc/hyperledger/fabric-ca-servercontainer_name: ca_ordererextra_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.7environment:- 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.comports:- "7054:7054"command: sh -c 'fabric-ca-server start -b admin:adminpw -d'volumes:- ./fabric-ca/org1:/etc/hyperledger/fabric-ca-servercontainer_name: ca_org1extra_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.7environment:- 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.comports:- "7054:7054"command: sh -c 'fabric-ca-server start -b admin:adminpw -d'volumes:- ./fabric-ca/org2:/etc/hyperledger/fabric-ca-servercontainer_name: ca_org2extra_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/bashfunction createOrg1 {echoecho "Enroll the CA admin"echomkdir -p organizations/peerOrganizations/org1.example.com/export FABRIC_CA_CLIENT_HOME=${PWD}/organizations/peerOrganizations
http://www.xdnf.cn/news/16009.html

相关文章:

  • 从env到mm_struct:环境变量与虚拟内存的底层实现
  • 来伊份养馋记社区零售 4.0 上海首店落沪:重构 “家门口” 的生活服务生态
  • Django实战:基于Django和openpyxl实现Excel导入导出功能
  • AWS IoT Core CloudWatch监控完整指南
  • 前端包管理工具深度对比:npm、yarn、pnpm 全方位解析
  • 【React】npm install报错npm : 无法加载文件 D:\APP\nodejs\npm.ps1,因为在此系统上禁止运行脚本。
  • 宝塔面板Nginx报错: IP+端口可以直接从访问,反向代理之后就504了 Gateway Time-out
  • 使用 Strands Agents 开发并部署生产级架构通用型个人助手
  • 第三章自定义检视面板_创建自定义编辑器类_编扩展默认组件的显示面板(本章进度3/9)
  • 前端开发者快速理解Spring Boot项目指南
  • 解决mac chrome无法打开本地网络中的内网网址的问题
  • 电科金仓2025发布会,国产数据库的AI融合进化与智领未来
  • PPT科研画图插件
  • MCP协议解析:如何通过Model Context Protocol 实现高效的AI客户端与服务端交互
  • C++STL之stack和queue
  • Valgrind Memcheck 全解析教程:6个程序说明基础内存错误
  • SpringBoot的介绍和项目搭建
  • 基于有监督学习的主动攻击检测系统
  • Vision Transformer (ViT) 介绍
  • 以“融合进化 智领未来”之名,金仓Kingbase FlySync:国产数据库技术的突破与创新
  • Redis 概率型数据结构实战指南
  • C++ STL中迭代器学习笔记
  • Docker实践:使用Docker部署WhoDB开源轻量级数据库管理工具
  • AI大模型学习路线-全技术栈
  • HTML和CSS快速入门
  • Spring之AOP面向切面编程详解
  • 试用SAP BTP 06:AI服务-Data Attribute Recommendation
  • 数据结构-线性表顺序表示
  • 基于单片机无线防丢/儿童防丢报警器
  • RabbitMQ:解锁高效消息传递的密码[特殊字符]