博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Linux搭建Hyperledger Fabric整体思路
阅读量:3948 次
发布时间:2019-05-24

本文共 1811 字,大约阅读时间需要 6 分钟。

不同Linux的发行版本下搭建的过程并没有太大的区别,本文在搭载centOS7.7的云服务器上实现

使用hyperledger fabric构建区块链

为了实现物流信息的隐私保护,考虑将物流数据的部分内容存放在区块链上。一般来说,区块链是一个由分布式网络中的节点维护的不可篡改的账本。这些节点通过执行被共识协议验证过的交易来各自维护一个账本的副本,账本以区块的形式存在,每个区块通过哈希和之前的区块相连。为此,我们选择使用由 Linux 基金会发起创建的开源区块链分布式账本–Hyperledger Fabric 来搭建。

Hyperledger Fabric 是一个开源的企业级许可分布式账本技术(Distributed Ledger Technology,DLT)平台,专为在企业环境中使用而设计,v1.0 是 Hyperledger Fabric 的第一个主版本,Fabric v2.0 为用户和运营商提供了重要的新特性,包括对新应用程序和隐私模式的支持,增强了对智能合约的管理和对节点操作的新选项。
我们选择了当前的v2.1版本进行搭建。

安装过程:

01 操作系统准备
我们选择了ubuntu18.04这个版本,并再阿里云注册了一台云服务器,搭载的是centOS7.7版本。ubuntu18.04搭载环境为 VMware workstation 15.5 pro。
02 安装curl,git
后面的步骤我们需要用到curl命令来下载安装脚本和其他文件,所以需要先安装curl。另外我们需要从fabric的官网GitHub仓库来获取源码,所以需要提前准保好git。
03 安装go
Hyperledger Fabric需要在docker容器中运行,而docker容器需要在go语言环境下部署,所以需要在平台上部署go语言环境变量。
apt-get install go 的版本比较低,不适合Hyperledger Fabric的v 2.1版本,在这里我们选择的是1.14.2,下载地址https://dl.google.com/go/go1.14.2.linux-amd64.tar.gz
在这里插入图片描述

04 安装docker-ce

docker分两个版本,分为docker-ce(社区版)和docker-ee(企业版)。我们选择的是免费的docker-ce版本,并在操作平台进行部署。
在这里插入图片描述

05 安装docker-compose

Compose 是 Docker 容器进行编排的工具,定义和运行多容器的应用,可以一条命令启动多个容器。Hyperledger Fabric需要用到docker-compose,所以我们提前安装。
在这里插入图片描述

06 git Hyperledger Fabric源码

  1. 下载Fabric源码和镜像

$ mkdir $GOPATH/src/github.com/hyperledger

$ cd $GOPATH/src/github.com/hyperledger

$ git clone https://github.com/hyperledger/fabric.git 这时源码保存在服务器上,可以通过文件树查看

在这里插入图片描述

$ cd fabric/script

执行脚本./bootstrap.s, 这个bootstrap.sh主要执行以下三个内容:第一个是从github上clone fabric-samples,第二个是下载两个文件再解压,第三个是拉取fabric的docker镜像,执行完成后查看本地的docker 镜像

在这里插入图片描述

07 创建和管理网络

第1步:执行 ./byfn.sh generate 命令生成相应的文件
其中byfn.sh为启动这个网络的启动脚本,启动脚本中除建立一个包含4个节点和1个Order service的网络外,还会启动一个容器用来执行脚本在channel中加入节点,部署和初始化chaincode,以及在部署的chaincode上执行交易。默认channel名称为mychannel,脚本程序会给网络实例生成数字证书和密钥;生成genesis block用来启动ordering service;一些用来配置channel的配置交易
在这里插入图片描述

第2步:执行 ./byfn.sh up 启动网络

当我们看到START的时候,表示启动成功。
执行结束,显示END

在这里插入图片描述

./byfn.sh down关闭测试网络

转载地址:http://hlgwi.baihongyu.com/

你可能感兴趣的文章
swift 中的 感叹号 问号 和 双问号用法详解
查看>>
C代码:二分法求三次方程近似根
查看>>
swift-自己封装的一个网络工具
查看>>
APP第三方登录实现步骤
查看>>
iOS-数据存储方式介绍
查看>>
KVO & KVC 比较 - KVC
查看>>
iOS-tableView联动
查看>>
iOS--Masonry解决 tableViewCell 重用时约束冲突
查看>>
git 与 svn 的主要区别!
查看>>
iOS-截屏,从相册选择图片,制作磨砂效果图片
查看>>
iOS-截取字符串中两个指定字符串中间的字符串
查看>>
数据库-数据库操作(使用FMDB)
查看>>
swift-计算型属性和存储型属性的区别
查看>>
FMDB介绍以及在 swift 中的数据库操作
查看>>
iOS运行时机制(附Demo演练)
查看>>
iOS-利用运行时给分类添加属性
查看>>
整理的最新WebSHell (php过狗一句话,过狗菜刀,2016过狗一句话,2016php免杀一句话)
查看>>
2016年11月整理的最新php免杀一句话木马, 2017php免杀一句话(php过狗一句话,过狗菜刀,2016过狗一句话,2016php免杀一句话,php过waf一句话)
查看>>
坑:ADO连数据库服务器地址要加端口号
查看>>
宽字符串输出问题
查看>>