热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Fabric1.4.1etcdraft模式部署

Fabricetcdraft模式部署配置要求以下信息仅供参考系统环境(Centos7.5)Docker版本(19.03.12)Docker-compose版本(1.24.0)Fab

Fabric etcdraft模式部署

配置要求

以下信息仅供参考



  1. 系统环境(Centos 7.5)

  2. Docker版本(19.03.12)

  3. Docker-compose版本(1.24.0)

  4. Fabric版本(1.4.1): Source code(zip)

  5. Fabric工具版本: hyperledger-fabric-linux-amd64-1.4.1

  6. 私有域名服务器(如果没有的话则需要在节点启动配置中添加extra_hosts)搭建可参考https://www.cnblogs.com/jockming/p/12970343.html

  7. 私有域名服务器添加解析记录(a记录)的客户端程序: minidns

  8. 需要项目部署文件请进群(537487044)@群主

PS:注意要修改免密脚本中的服务器ip和密码


准备工作(所有主机)

# 进入home目录,没有就自行创建
cd /home
# 1. 各个节点安装zip解压工具
yum install -y unzip zip
# 2. 安装dos2unix格式转换工具(因为windows下的换行符与linux下的换行符不同)
yum install -y dos2unix
# 3. 安装文件上传工具
yum install -y lrzsz
# 4. 添加域名服务器地址(域名私服--目前只解析a记录)
vim /etc/resolv.conf
#云主机里面原本的域名服务器地址不要动,直接换行新增下面的这两条记录
#主DNS服务器
nameserver 192.168.1.110
#备DNS服务器(国内的)
nameserver 114.114.114.114
# 重启网络管理器来刷新配置
systemctl restart NetworkManager
# PS:注意.env文件(环境变量配置)etcdraft模式下必须开启tls

防火墙设置(可选操作,方便手动修改防火墙)

# 单独添加
firewall-cmd --zOne=public --permanent --add-port=22/tcp
# 防火墙设置(根据实际情况修改端口)
firewall-cmd --zOne=public --permanent --add-port=7050/tcp --add-port=7051/tcp --add-port=7053/tcp --add-port=8050/tcp --add-port=9050/tcp
# 重新载入
firewall-cmd --reload
# 查看所有开放的端口
firewall-cmd --zOne=public --list-ports
# 开启开机启动
systemctl enable firewalld
# 防火墙状态
systemctl status firewalld
# 启动防火墙
systemctl start firewalld
# 重启防火墙
systemctl restart firewalld
# 关闭防火墙
systemctl stop firewalld

在fabric1上执行的操作 --- 192.168.1.111

# 1. 使用rz命令上传部署文件或者使用Filezilla客户端上传文件
rz
# 2. 解压脚本并移除zip包
unzip fabric-etcdraft_1.4.1_Release.zip && rm -rf fabric-etcdraft_1.4.1_Release.zip
# 3. 可执行文件赋权和脚本格式转换
chmod +x ./bin/* && chmod +x ./*.sh
dos2unix ./*.sh
# 4. 执行初始化环境的脚本(如果拉取镜像失败请单独执行脚本[./docker_pull_fabric_images.sh])
./init_fabric_environment.sh
# 5. 执行免密登陆脚本(节点配置在脚本中)
./passwordless.sh
# 6. 执行配置生成脚本(成员证书,创世区块,通道配置,锚节点更新文件)
./generate_config.sh
# 7. 返回到home目录
cd /home
# 8. 压缩配置准备分发到其他节点(如果使用tar的话:tar -cvf fabric-etcdraft.tar ./fabric-etcdraft/)
zip -r fabric-etcdraft_1.4.1_Release.zip ./fabric-etcdraft_1.4.1_Release/
# 9. 分发配置(由于前面执行了免密脚本,这里不用输入密码)
scp -r fabric-etcdraft_1.4.1_Release.zip root@192.168.1.112:/home
scp -r fabric-etcdraft_1.4.1_Release.zip root@192.168.1.113:/home
# 10. 启动orderer0
docker-compose -f ./docker-compose-tld-orderer.yaml up -d orderer0.example.com
# 11. 启动ca-org1
docker-compose -f ./docker-compose-tld-ca.yaml up -d ca-org1

在fabric2上执行操作 --- 192.168.1.112

# 1. 进入home
cd /home
# 2. 解压脚本并移除zip包
unzip fabric-etcdraft_1.4.1_Release.zip && rm -rf fabric-etcdraft_1.4.1_Release.zip
# 3. 可执行文件赋权和脚本格式转换
chmod +x ./bin/* && chmod +x ./*.sh
dos2unix ./*.sh
# 4. 执行初始化环境的脚本(如果拉取镜像失败请单独执行脚本[./docker_pull_fabric_images.sh])
./init_fabric_environment.sh
# 5. 启动orderer1
docker-compose -f ./docker-compose-tld-orderer.yaml up -d orderer1.example.com
# 6. 启动peer0org1
docker-compose -f ./docker-compose-tld-peer.yaml up -d peer0.org1.example.com

在fabric3上执行操作 --- 192.168.1.113

# 1. 进入home
cd /home
# 2. 解压脚本并移除zip包
unzip fabric-etcdraft_1.4.1_Release.zip && rm -rf fabric-etcdraft_1.4.1_Release.zip
# 3. 可执行文件赋权和脚本格式转换
chmod +x ./bin/* && chmod +x ./*.sh
dos2unix ./*.sh
# 4. 执行初始化环境的脚本(如果拉取镜像失败请单独执行脚本[./docker_pull_fabric_images.sh])
./init_fabric_environment.sh
# 5. 启动orderer2
docker-compose -f ./docker-compose-tld-orderer.yaml up -d orderer2.example.com
# 6. 启动peer1org1
docker-compose -f ./docker-compose-tld-peer.yaml up -d peer1.org1.example.com

sdk交互

1. 将crypto-config目录和channel-artifacts目录打包下载到sdk的目录中
2. 创建通道(节点加入通道,更新锚节点配置<可选>)
3. 节点安装链码和实例化链码
4. 调用链码


推荐阅读
  • 在日常生活中,支付宝已成为不可或缺的支付工具之一。本文将详细介绍如何通过支付宝实现免费提现,帮助用户更好地管理个人财务,避免不必要的手续费支出。 ... [详细]
  • 我的读书清单(持续更新)201705311.《一千零一夜》2006(四五年级)2.《中华上下五千年》2008(初一)3.《鲁滨孙漂流记》2008(初二)4.《钢铁是怎样炼成的》20 ... [详细]
  • 本文介绍了如何通过C#语言调用动态链接库(DLL)中的函数来实现IC卡的基本操作,包括初始化设备、设置密码模式、获取设备状态等,并详细展示了将TextBox中的数据写入IC卡的具体实现方法。 ... [详细]
  • 本文详细介绍了C++中的构造函数,包括其定义、特点以及如何通过构造函数进行对象的初始化。此外,还探讨了转换构造函数的概念及其在不同情境下的应用,以及如何避免不必要的隐式类型转换。 ... [详细]
  • 数据类型--char一、char1.1char占用2个字节char取值范围:【0~65535】char采用unicode编码方式char类型的字面量用单引号括起来char可以存储一 ... [详细]
  • 本文将从基础概念入手,详细探讨SpringMVC框架中DispatcherServlet如何通过HandlerMapping进行请求分发,以及其背后的源码实现细节。 ... [详细]
  • importjava.io.*;importjava.util.*;publicclass五子棋游戏{staticintm1;staticintn1;staticfinalintS ... [详细]
  • 解决Visual Studio Code中PHP Intelephense误报问题
    PHP作为一种高度灵活的编程语言,其代码结构可能导致Intelephense插件在某些情况下报告不必要的错误或警告。自1.3.3版本起,Intelephense引入了多个配置选项,允许用户根据具体的工作环境和编程风格调整这些诊断信息的显示。 ... [详细]
  • 心理学经典:《思考致富》
    《思考致富》是由美国著名成功学大师拿破仑·希尔撰写的一部重要著作,该书基于希尔长达20年的深入研究和访谈,探讨了个人成功的核心要素。书中不仅揭示了成功的关键,还提供了一系列实用的方法和策略。 ... [详细]
  • 本文将详细介绍如何在二进制和十六进制之间进行准确的转换,并提供实际的代码示例来帮助理解这一过程。 ... [详细]
  • empty,isset首先都会检查变量是否存在,然后对变量值进行检测。而is_null只是直接检查变量值,是否为null,因此如果变量未定义就会出现错误!检测一个变量是否是null ... [详细]
  • 在处理大数据量的SQL分页查询时,通常需要执行两次查询来分别获取数据和总记录数。本文介绍了一种优化方法,通过单次查询同时返回分页数据和总记录数,从而提高查询效率。 ... [详细]
  • 本文通过一个具体的实例,介绍如何利用TensorFlow框架来计算神经网络模型在多分类任务中的Top-K准确率。代码中包含了随机种子设置、模拟预测结果生成、真实标签生成以及准确率计算等步骤。 ... [详细]
  • 嵌套列表的扁平化处理
    本文介绍了一种方法,用于遍历嵌套列表中的每个元素。如果元素是整数,则将其添加到结果数组中;如果元素是一个列表,则递归地遍历这个列表。此方法特别适用于处理复杂数据结构中的嵌套列表。 ... [详细]
  • 本文详细探讨了BCTF竞赛中窃密木马题目的解题策略,重点分析了该题目在漏洞挖掘与利用方面的技巧。 ... [详细]
author-avatar
直拍之横打
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有