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

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.dtcms.com/a/290519.html

相关文章:

  • 从0开始学习R语言--Day53--AFT模型
  • 什么是“差分“?
  • WebkitSpeechRecognition 语音识别
  • 【备忘录】Ubuntu 配置虚拟显示器
  • 嵌入式学习-土堆目标检测(1)-day26
  • 每日数据推荐:一线城市基于手机信令的职住数据
  • 主流监控设备RTSP地址
  • 从env到mm_struct:环境变量与虚拟内存的底层实现
  • Linux 任务调度在进程管理中的关系和运行机制
  • STM32键盘带蓝牙功能
  • 时空数据可视化新范式:基于Three.js的生产全流程时间轴回溯技术解析
  • 首家!数巅AskBI通过中国信通院数据分析智能体专项测试
  • Shell实现服务检查看门程序
  • 实时数据可视化的“心跳”设计:毫秒级延迟下的动态图表抗闪烁优化方案
  • 基于爬虫技术的电影数据可视化系统 Python+Django+Vue.js
  • 我国《数字中国规划》对虚拟产权的监管:合规框架下的渐进式创新
  • 前端开发者快速理解Spring Boot项目指南
  • nav2 基于插件的控制 + pp_controller
  • 机器学习中核心评估指标(准确率、精确率、召回率、F1分数)
  • Node.js的Transform 流
  • iOS打开开发者模式
  • STM32与树莓派通信
  • Elasticsearch、Solr 与 OpenSearch 搜索引擎方案对比分析及选型建议
  • 二分查找-35.搜索插入位置-力扣(LeetCode)
  • 基于NSD8389评估板快速测试电子膨胀阀
  • 「日拱一码」034 机器学习——插值处理
  • FreeSwitch通过Websocket(流式双向语音)对接AI实时语音大模型技术方案(mod_ppy_aduio_stream)
  • 优测发布IoT云联解决方案,赋能生态应用创新跨端体验!
  • 智慧水厂怎么建?物联网数据采集+SCADA升级,水务工业智能转型
  • 蜂窝物联网模组市场新展望:中国企业继续保持最强竞争力