hyperledger fabric 测试(八) 1.18 服务器多机部署

Hyperledger Fabric 区块链多机部署 目录 目录 Hyperledger Fabric 区块链多机部署 环境介绍 源码编译以及fabric 区块链网络部署环境准备 编译 fabric区块链相关可执行程序 编译 go 相关工具 编译 fabric基础环境 编译区块链服务相关工具 多机部署fabric网络solo共识 配置 fabric 网络用户拓扑关系 配置Orderer 节点的启动创世区块新建通道交易的相 阅读详情

环境:腾讯云服务器三台:一台提供Order服务,另外两台为两个组织单节点,资金有限,全部测试都在solo环境,而且测试一台服务器多节点是失败,是不支持吗?不太确定

服务器配置:

  • 操作系统   Ubuntu Server 16.04.1 LTS 64位

  • CPU  2 核

  • 内存  4 GB

  • 公网带宽  5 Mbps

环境安装如单机单节点

设置/etc/hosts文件:sudo vim /etc/hosts

编辑文件:

172.27.0.7 orderer.example.com

172.27.0.10 peer0.org1.example.com

172.27.0.17 peer0.org2.example.com

关闭当前网络:cd scripts/fabricSample/first-network

              ./byfn.sh –m down

进入e2ecli文件夹:cd ~/go/src/github.com/hyperledger/fabric/examples/e2e_cli/

运行启动一键脚本:./network_setup.sh up

测试成功后关闭一键脚本:./network_setup.sh down

一键脚本生成fabric公私钥、证书、创世区块文件:./generateArtifacts.sh mychannel

复制文件生成peer容器配置文件:cp docker-compose-cli.yaml docker-compose-peer.yaml

复制文件生成order容器配置文件:cp docker-compose-cli.yaml docker-compose-orderer.yaml

编辑文件docker-compose-peer.yaml:

peer0.org1.example.com:

    container_name: peer0.org1.example.com

    extends:

      file:  base/docker-compose-base.yaml

      service: peer0.org1.example.com

    extra_hosts:

    - "orderer.example.com:172.27.0.7"

  

  cli:

    container_name: cli

    image: hyperledger/fabric-tools

    tty: true

    environment:

      - GOPATH=/opt/gopath

      - CORE_VM_ENDPOINT=unix:///host/var/run/docker.sock

      - CORE_LOGGING_LEVEL=DEBUG

      - CORE_PEER_ID=cli

      - CORE_PEER_ADDRESS=peer0.org1.example.com:7051

      - CORE_PEER_LOCALMSPID=Org1MSP

      - CORE_PEER_LOCALMSPTYPE=bccsp

      - CORE_PEER_TLS_ENABLED=true

      - CORE_PEER_TLS_CERT_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/server.crt

      - CORE_PEER_TLS_KEY_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/server.key

      - CORE_PEER_TLS_ROOTCERT_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/ca.crt

      - CORE_PEER_MSPCONFIGPATH=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/users/Admin@org1.example.com/msp

    working_dir: /opt/gopath/src/github.com/hyperledger/fabric/peer

    volumes:

        - /var/run/:/host/var/run/

        - ../chaincode/go/:/opt/gopath/src/github.com/hyperledger/fabric/examples/chaincode/go

        - ./crypto-config:/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/

        - ./scripts:/opt/gopath/src/github.com/hyperledger/fabric/peer/scripts/

        - ./channel-artifacts:/opt/gopath/src/github.com/hyperledger/fabric/peer/channel-artifacts

    depends_on:

      - peer0.org1.example.com

    extra_hosts:

    - "orderer.example.com:172.27.0.7"

    - "peer0.org1.example.com:172.27.0.10"

- "peer0.org2.example.com:172.27.0.17"

编辑docker-compose-orderer.yaml:

    orderer.example.com:

    extends:

      file:   base/docker-compose-base.yaml

      service: orderer.example.com

    container_name: orderer.example.com

    depends_on:

      - zookeeper0

      - zookeeper1

      - zookeeper2

      - kafka0

      - kafka1

      - kafka2

      - kafka3

将服务器镜像备份,其他服务器安装设置好服务器的镜像。 //腾讯云测试过可以

移除e2e_cli文件夹:rm –rf e2e_cli

退出到examples目录:cd ..

通过Linux文件分发命令分发文件:scp -r e2e_cli ubuntu@172.27.0.7:/home/ubuntu/go/src/github.com/hyperledger/fabric/examples/  //e2e为要分发的文件Ubuntu为要访问的账户名,172为要访问的内网IP,路径为文件复制到的路径

分发到组织2:scp -r e2e_cli ubuntu@172.27.0.17:/home/ubuntu/go/src/github.com/hyperledger/fabric/examples/

Order主机:

进入e2e_cli文件夹:cd e2e_cli/

构建排序容器:docker-compose -f docker-compose-orderer.yaml up –d

组织1服务器:

构建节点0容器服务:docker-compose -f docker-compose-peer.yaml up –d

进入节点容器:docker exec -it cli bash

组织2服务器:

构建节点0容器服务:docker-compose -f docker-compose-peer.yaml up –d

进入节点容器:docker exec -it cli bash

以下两节点同步执行:

组织1:引入名字环境变量:export CHANNEL_NAME=mychannel

生成通道配置区块:peer channel create -o orderer.example.com:7050 -c $CHANNEL_NAME -f ./channel-artifacts/channel.tx --tls --cafile /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/ordererOrganizations/example.com/orderers/orderer.example.com/msp/tlscacerts/tlsca.example.com-cert.pem

节点加入通道:peer channel join -b mychannel.block

将通道配置文件上传至组织2 //下载mychannel.block文件,使用winscp上传至/opt/gopath/src/github.com/hyperledger/fabric/peer

组织2执行:引入名字环境变量:export CHANNEL_NAME=mychannel

节点加入通道:peer channel join -b mychannel.block

组织1设置锚节点:CORE_PEER_MSPCONFIGPATH=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/users/Admin@org1.example.com/msp CORE_PEER_ADDRESS=peer0.org1.example.com:7051 CORE_PEER_LOCALMSPID="Org1MSP" CORE_PEER_TLS_ROOTCERT_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/ca.crt peer channel update -o orderer.example.com:7050 -c $CHANNEL_NAME -f ./channel-artifacts/Org1MSPanchors.tx --tls --cafile /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/ordererOrganizations/example.com/orderers/orderer.example.com/msp/tlscacerts/tlsca.example.com-cert.pem

组织2设置锚节点:CORE_PEER_MSPCONFIGPATH=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org2.example.com/users/Admin@org2.example.com/msp CORE_PEER_ADDRESS=peer0.org2.example.com:7051 CORE_PEER_LOCALMSPID="Org2MSP" CORE_PEER_TLS_ROOTCERT_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/tls/ca.crt peer channel update -o orderer.example.com:7050 -c $CHANNEL_NAME -f ./channel-artifacts/Org2MSPanchors.tx --tls --cafile /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/ordererOrganizations/example.com/orderers/orderer.example.com/msp/tlscacerts/tlsca.example.com-cert.pem

组织1和组织2都使用winscp上传智能合约至新建test文件夹,/opt/gopath/src/github.com/hyperledger/fabric/examples/chaincode/go/test

组织1和组织2安装链码:peer chaincode install -n mycc -v 1.0 -p github.com/hyperledger/fabric/examples/chaincode/go/test

实例化链码(好像是一个实例化就可以了):peer chaincode instantiate -o orderer.example.com:7050 --tls --cafile /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/ordererOrganizations/example.com/orderers/orderer.example.com/msp/tlscacerts/tlsca.example.com-cert.pem -C $CHANNEL_NAME -n mycc -v 1.0 -c '{"Args":["init","a", "100", "b","200"]}' -P "OR ('Org1MSP.peer','Org2MSP.peer')" //需要指定export CHANNEL_NAME=mychannel

测试:组织1和组织2分别查询当前a数量:peer chaincode query -C $CHANNEL_NAME -n mycc -c '{"Args":["query","a"]}'  //常理都是100

组织1执行转账操作:peer chaincode invoke -o orderer.example.com:7050  --tls --cafile /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/ordererOrganizations/example.com/orderers/orderer.example.com/msp/tlscacerts/tlsca.example.com-cert.pem  -C $CHANNEL_NAME -n mycc -c '{"Args":["invoke","a","b","10"]}'

组织1和组织2分别查询当前a数量:peer chaincode query -C $CHANNEL_NAME -n mycc -c '{"Args":["query","a"]}'  //常理都是90

注意:每次启动容器都要重新设置通道环境变量export CHANNEL_NAME=mychannel

Hyperledger Fabric 部署在多个主机上 前言 在实验Hyperledger Fabric无排序组织以Raft协议启动多个Orderer服务、TLS组织运行维护Orderer服务中,我们已经完成了使用提供 TLS-CA 服务的 council 组织运行维护 Raft 协议的三个 orderer 节点。但目前我们都是在单个主机上启动 Fabric 网络,本文将尝试将 Hyperledger Fabric无排序组织以Raft协议启动多个Orderer服务、TLS组织运行维护Orderer服务 中的网络结构部署在多个主机上。 工作准备 本文工作 将 Hy 阅读详情

相关推荐

Hyperledger Fabric 2.x 生产环境的分布式部署、性能测试与应用

安装docker curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun 加入用户组 sudo groupadd docker sudo gpasswd -a ${USER} docker sudo service docker restart 退出当前用户重登一下 sudo wget -P /usr/local/bin https://github.com/docker/compose/releases/download/1

GniLAY1022的博客 9884

Hyperledger fabric 多机部署

Hyperledger fabric多机部署

weixin_46698113的博客 1796

hyperledger多机部署

一、环境配置 5台服务器全部是centos7.4 orderer 47.75.123.155 orderer.example.com orderer peer0.org1 47.52.202.124   1G内存 peer1.org1 47.75.184.117 cli 启动后如果出错,很可能要重新安装 总结: 1、首先所有的服务器都要预先处理vim /etc/resolv.conf...

frankxixu的专栏 892

Hyperledger fabric应用的多机部署(自动化一键部署)

前面关于fabric部署的介绍都是基于单机环境下的,实际生产环境中一般会根据应用场景将节点分开部署在多台物理机上,面临的难题主要是不同主机间的节点如何通过网络进行通信。 前言 这里仍然以balance-transfer v1.0为例,尝试将两个组织分布到内网中的两台机器上,部署示意图如下: 这里使用的是solo模式的排序服务,orderer节点和Org1位于一台机器上,Org2位...

Phyloser的博客 6488

超级账本HyperLedger Fabric实战技术50问(珍藏版)

1.在fabric中,如何实现组织ORG1与组织ORG2之间的PEER互相交互?{“Args”:[“init”,“a”,“100”,“b”,“200”]}’,如何把a定义为属于ORG1,b定义为属于ORG2? 答:一个channel一本账。channel里的所以org共享账本数据,org1与org2如果在一个channel就可以共享账本数据了。 2.fabric中每台peer上的ca不合根ca联网...

qq_1059136269 1478

在Ubuntu18.04中搭建fabric-sdk-java(release-1.3),并用IDEA进行测试

一、环境准备(这些安装过程较简单,请参考我之前的博客或者自行查找资料安装) 1、Ubuntu上 · Go · Git · Docker 18.03 · Docker compose 1.21.2 2、Windows上 · JDK1.8或以上 · Git · Maven3 二、Ubuntu操作步骤: 1、源码操作 git clone https://github.com/hyperledger/fa...

-bin_bin-的博客 1万+

解决docker报eeror: write unix /var/run/docker.sock->@ write:broken pipe

docker故障排查

qq_44397993的博客 3000

使用云服务器部署Hyperledger Fabric - 完整教程(附源代码)

首先,您需要准备一台云服务器来运行Hyperledger Fabric网络。Hyperledger Fabric是一个开源的区块链平台,旨在提供支持跨不同行业的分布式应用程序的框架。我们将逐步指导您完成安装过程,并提供相应的源代码。在开始安装Hyperledger Fabric之前,您需要安装Docker和Docker Compose。接下来,我们将使用Fabric样例中提供的脚本来快速部署一个简单的Fabric网络。这将启动一个包含两个组织的Fabric网络,并在您的云服务器上创建所需的容器。

HackCyberX的博客 327

在Ubuntu 18.04上搭建HyperLedger Fabric区块链环境

00 前言 Hyperledger Fabric是一个提供分布式账本解决方案的平台。Hyperledger Fabric由模块化架构支撑,并具备极佳的保密性、可伸缩性、灵活性和可扩展性。Hyperledger Fabric被设计成支持不同的模块组件直接拔插启用,并能适应在经济生态系统中错综复杂的各种场景。 我在实际操作中找到了一些可以加快部署速度的方法,以及使用了一些最新的官方安装方法。最后将部署HyperLedger Fabric区块链环境过程整理如下,涉及到的下载网址和参考资料在最后给出。 部署环境:阿

qq_33923902的博客 1879

hyperledger fabric多机部署

hyperledger fabric多机部署 hyperledger fabric多机部署 hyperledger fabric多机部署

多机部署Hyperledger Fabric+Composer(两台机器)

Land-network网络由两个组织组成:Org1和Org2。组织Org1使用域名org1.example.com。会员服务提供商(MSP)Org1被称为Org1MSP。组织Org2使用域名org2.example.com。MSP for Org2被称为Org2MSP。在本教程中,您将部署一个blockchain业务网络,无论是组织Org1,Org2并能与之交互。 两台机器分别是VM1(192.168.1.101)和VM2(192.168.1.102)。Composer版本采用0.20.5,Hyperledger Fabric的版本采用1.3. VM1(192.168.1.101): orderer.example.com,ca.org1.example.com,peer0.org1.example.com,couchdb0,peer1.org1.example.com,couchdb1,mongo,landTransaction,loginapp VM2(192.168.1.102): ca.org1.example.com,peer0.org2.example.com,couchdb0,peer1.org2.example.com,couchdb1,mongo,landTransaction,loginapp

Hyperledger Fabric1.4初期环境搭建以及多节点配置教程

目录1.搭建Fabric的环境配置1.1更改ubuntu镜像源1.2安装GOLANG1.3安装Docker1.4安装Docker-Compose2.Fabric的环境搭建(运行示例单机环境)3.多机环境配置3.1代码文件结构3.2准备步骤3.2.1生成证书3.2.2生成初始块等相关信息3.2.3修改docker-compose-*.yaml3.3多机部署到服务器3.4运行与测试 1.搭建Fabric的环境配置 搭建Fabric需要依赖较多的环境配置,下面一一展开: 1.1更改ubuntu镜像源 为了提高下载

qq_32817785的博客 989

UR10e+D435+ag95夹爪 gazebo 仿真记录(一)

学习仿真环境gazebo下利用UR10e机械臂搭建模拟平台,此博客用于记录搭建过程!!主要参考光头明明、总有一天全城的人都要高看我们和bug404_三位博主。最终自己功能包的主要参考了bug404_的ur_platform,感觉这个结构比较合理。运行环境:Ubuntu18.04+Ros-melodic+Gazebo9。

Forbiven的博客 6326

Hyperledger Fabric V1.0(一)配置环境并测试网络

参考了很多教程,但每一篇都会出现各种错误。原因在于都需要访问一些访问不了的国外网站。总结踩过的坑后,这篇教程将能够顺利成功进行Fabric的部署。 操作系统为64位的 Ubuntu 18.04 LTS 硬件为华为云的 1核2G 的弹性云服务器,机房在北京地区。 一、整体概述 网络成功运行需要3个部分:Docker镜像、二进制文件、Fabric源码 配套环境需要多种软件:Docker...

Spy97的博客 435

别再折腾SNAP了!ENVI 5.6.0 直接拖拽打开Sentinel-2 L2A数据的正确姿势

本文详细介绍了ENVI 5.6.0直接处理Sentinel-2 L2A数据的高效方法,无需通过SNAP进行繁琐的重采样预处理。通过直接拖拽XML文件,用户可以快速加载不同分辨率的波段数据,显著提升工作效率。文章还对比了直接打开与SNAP重采样流程的优劣,并提供了常见问题解决方案和高级应用技巧。

weixin_30296405的博客 633

U-Boot 适配新型号 SPI Nor Flash 实战解析

本文详细解析了U-Boot适配新型号SPI Nor Flash的全过程,从JEDEC ID识别错误入手,深入源码分析Flash信息数据库,结合实际手册参数添加新设备支持。重点介绍了设备树同步和验证调试的关键步骤,并总结了常见问题与解决方案,为嵌入式开发者提供实用参考。

weixin_29170327的博客 197

Fabric docker镜像的导出、加载及测试

前提 本地已经在centos7部署了Fabric1.4.3,first-network测试成功,现需要将Fabric部署在服务器上,考虑到服务器与本机在同一网段下,可通过Xshell与服务器建立连接,在Xshell中进行命令行操作,文件传输使用的是配套的Xftp,将本地虚拟机上的Fabric1.4.3的 docker 镜像导出,并在服务器上加载。 1使用docker转存镜像 Centos进入root权限下,执行命令: [yu@localhost ~]$ su 密码: [root@localhost

weixin_41803458的博客 1522

Linux搭建Hyperledger Fabric整体思路

不同Linux的发行版本下搭建的过程并没有太大的区别,本文在搭载centOS7.7的云服务器上实现 使用hyperledger fabric构建区块链: 为了实现物流信息的隐私保护,考虑将物流数据的部分内容存放在区块链上。一般来说,区块链是一个由分布式网络中的节点维护的不可篡改的账本。这些节点通过执行被共识协议验证过的交易来各自维护一个账本的副本,账本以区块的形式存在,每个区块通过哈希和之前的区块...

kali_Chenye的博客 603

Spring AI 项目实战(十):Spring Boot + AI + DeepSeek 构建智能合同分析技术实践(附完整源码)

摘要:基于Spring AI的智能合同审核系统开发 本文介绍了基于Spring Boot 3.2.0和Spring AI 1.0.0-M4构建的智能合同审核系统。系统采用分层架构设计,整合DeepSeek API实现文档解析、条款提取和风险分析功能。核心技术栈包括Spring AI、H2数据库、Apache POI/PDFBox等文档处理工具,实现了合同条款语义分析、异常识别和审核报告自动生成。项目解决了传统人工审核效率低、主观性强等问题,为合同管理提供了智能化解决方案。文章详细阐述了系统架构设计、技术选型

博客 653

【零基础学习CAPL】——CAN报文的发送(CRC——ChecSum值)

本章主要介绍带有CRC值的报文发送一般报文可使用CANoe的IG模块直接发送,但带有CRC值的报文就只能编写脚本进行发送,以下详细讲解在配合Panel面板情况下,如何进行带有循环冗余码的报文进行报文的发送。

LOVE135149的博客 1910

部署与手动搭建fabric1.1.0网络超详细笔记

本文在阿里云服务器上搭建了fabric1.1.0环境,并手动从头搭建了一遍系统示例的网络,作为一篇记录文章分享给大家

legendary_idiot的博客 2132

g2o&PCL 四阶多项式拟合

g2o&PCL 四阶多项式拟合

dayuhaitang1的博客 139

HyperLedger FabricV2.3 Raft单机集群部署

目录 云主机配置 依赖环境配置 部署步骤 0.更新yum 1.安装golang 2.安装docker 3.安装docker-compose 4.安装git 5.安装java 6.防火墙配置 7.网络配置 fabric资源规划 0.修改hosts文件 1.部署节点端口分配 2.官方测试网络demo测试 创建工作目录 3.fabricraft集群环境搭建 3.1编写配置文件 3.2生成证书以及通道信息 3.3编写docker-compose.yaml...

qq_36807862的博客 1522

用 PERFORM ... ON COMMIT / ON ROLLBACK 把收尾工作做干净:从 SAP LUW 到 Update Task 的事务钩子实践

ABAP事务钩子机制解析 本文深入探讨SAP ABAP开发中的事务边界管理问题,重点分析PERFORM ... ON COMMIT/ROLLBACK机制: 事务分层:区分Database LUW(数据库提交)和SAP LUW(业务逻辑单元),后者通过COMMIT WORK触发多种收尾动作 钩子机制:PERFORM...ON COMMIT将子程序注册为事务结束回调,在提交/回滚时执行清理工作而非业务更新 执行顺序:钩子程序先于Update Task执行,仍保留当前会话内存上下文 现代实践:建议将FORM仅作为

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 3993

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

区块链技术-Hyperledger Fabric 1.4.1安装教程

Centos7安装超级账本Hyperledger Fabric 1.4.1

GulfMoon 1192

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

上一篇: hyperledger fabric 测试(七)1.17链码包生成
下一篇: Go语言学习笔记(一)------目录
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值