HyperLedger Fabric实战(一):基础环境构建

1. 简介

本文档说明了HyperLedger Fabric 1.4.0版本的区块链网络搭建所需的基本环境组件以及安装流程,最后再记录了安装过程中可能会遇到的一些问题,采用的操作系统为ubuntu 18.04。
具有参考价值的网站:

  1. Hyperledger Fabric的官方文档:https://hyperledger-fabric.readthedocs.io/en/latest/;
  2. HyperLedger的官网,里面还有其他的配套组件:https://www.hyperledger.org/。

2. 基础环境构建

2.1 组件清单

HyperLedger Fabric的依赖环境较多,且对版本有一定的要求,本次安装使用了如下的组件:

名称版本描述
操作系统Ubuntu 18.04基础环境
docker17.06.2-ce或更高Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。
Docker-compose1.1.14或更高Compose 是用于定义和运行多容器 Docker 应用程序的工具。通过 Compose,您可以使用 YML 文件来配置应用程序需要的所有服务。然后,使用一个命令,就可以从 YML 文件配置中创建并启动所有服务。
Go1.13.x运行的基本SDK
NodeJS8.9或更高(Version 9全部不支持),Version10从10.15.3后继续支持运行的基本SDK
npm5.xnpm 是 JavaScript 世界的包管理工具,并且是 Node.js 平台的默认包管理工具。通过 npm 可以安装、共享、分发代码,管理项目依赖关系。
python2.7.x运行的基本SDK
curllatest远程获取资源,通常系统自带
sshlatest远程控制服务器

2.2 组件安装过程

基于上述的内容,我们开始安装这些组件:

2.2.1 SSH

SSH 为 Secure Shell 的缩写,由 IETF 的网络小组(Network Working Group)所制定;SSH 为建立在应用层基础上的安全协议。SSH 是较可靠,专为远程登录会话和其他网络服务提供安全性的协议。

# 安装SSH服务器
sudo apt install openssh-server

# 安装SSH客户端
sudo apt install openssh-client

# 配置SSH
sudo vim /etc/ssh/ssh_config

# 在配置文件中,把如下的内容的注释删除掉
PasswordAuthentication yes
PermitRootLogin yes

# 重启ssh服务
sudo /etc/init.d/ssh restart

2.2.2 安装docker

docker作为整个超级账本运行的基础环境,其安装是重中之重,也是问题最多的步骤。如果你之前安装了docker且版本不适用,卸载的过程参考如下的教程:https://www.cnblogs.com/shiningrise/p/14775654.html。

# 更新安装包
sudo apt-get update

# 安装apt依赖包
sudo apt-get install \
   apt-transport-https \
   ca-certificates \
   curl \
   gnupg-agent \
   software-properties-common
   
# 添加Docker的官方GPG秘钥
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

# 设置稳定版仓库
sudo add-apt-repository \
   "deb [arch=amd64] https://download.docker.com/linux/ubuntu \
  $(lsb_release -cs) \
  stable"
  
# 安装docker-ce
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io

# 查看docker版本
docker -v

# 设置开机启动docker
sudo systemctl enable docker

#运行docker自带的helloworld程序
sudo docker run hello-world

# 添加当前用户到docker组,这样当前用户就可以直接操作docker命令
# 列出自己的用户组,确认自己在不在 docker 组中
sudo groups
# 没有则新增docker组
sudo groupadd docker
# 把当前用户加入到docker组中
sudo gpasswd -a ${USER} docker
# 重启docker服务
sudo service docker restart

2.2.3 安装docker-compose

docker compose它使用单个YAML文件来编排所有Docker容器和配置,使用docker compose我们可以快速构建多个容器,部署网络等。

# 安装docker-compose到/usr/local/bin/docker-compose,其中-o是指定的输出文件位置
sudo curl -L https://github.com/docker/compose/releases/download/1.21.2/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose

# 为docker-compose启动设置权限
sudo chmod +x /usr/local/bin/docker-compose

# 验证docker-compose版本
sudo docker-compose --version

2.2.4 安装go

Go是Fabric运行的基本环境之一。

# 准备go语言安装位置
cd /opt
sudo mkdir golang
cd golang
# 使用wget下载go语言,不推荐使用高版本的
sudo wget https://dl.google.com/go/go1.10.3.linux-amd64.tar.gz
# 安装gzip
sudo apt-get install gzip

# 解压缩,如果没有安装gzip需要提前安装
sudo tar -zvxf go1.10.3.linux-amd64.tar.gz

# 配置go的环境变量
sudo vim /etc/profile
# 添加如下内容:
export GOPATH=/opt/gopath
export GOROOT=/opt/golang/go
export PATH=$GOROOT/bin:$PATH

# 使配置文件生效
source /etc/profile

# 查看go是否安装成功
go version
# 结果如下
go version go1.10.3 linux/amd64

2.2.5 git安装

git是一个分布式的版本控制工具,我们可以使用git管理一个项目,并在不同的版本之间进行切换,同时,还可以使用git在远程的仓库中拉取需要的文件。

sudo apt-get install git

2.2.6 安装npm与NodeJS

Node.js简单的说 Node.js 就是运行在服务端的 JavaScript,是一个基于Chrome JavaScript 运行时建立的一个平台。Node.js是一个事件驱动I/O服务端JavaScript环境,基于Google的V8引擎,V8引擎执行Javascript的速度非常快,性能非常好。在本项目中,它也是HyperLedger Fabric的基本环境之一

NPM是随同Node.js一起安装的包管理工具,能解决Node.js代码部署上的很多问题,常见的使用场景有以下几种:

  • 允许用户从NPM服务器下载别人编写的第三方包到本地使用。
  • 允许用户从NPM服务器下载并安装别人编写的命令行程序到本地使用。
  • 允许用户将自己编写的包或命令行程序上传到NPM服务器供别人使用。
# 更新安装包
sudo apt update

# 安装npm
sudo apt-get install npm

此时,安装的Node.js并不是我们指定的版本,可能存在冲突的情况。此时我们可以使用Node.js提供的工具来切换不同版本的Node.js。

# 利用n来管理NodeJS版本
sudo npm install -g n

# n来下载node版本
sudo n lts 长期支持
sudo n stable 稳定版
sudo n latest 最新版
sudo n 8.9.4 直接指定版本下载

# 切换版本
sudo n 8.9.4

# 重新打开一个终端查看版本
node -v
#此时版本为:
v8.9.4

2.2.7 安装Python

Python 是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。 Python 的设计具有很强的可读性,相比其他语言经常使用英文关键字,其他语言的一些标点符号,它具有比其他语言更有特色语法结构。Python也是Fabric的基本支撑环境之一。注意:Fabric支持的Python版本为python2。

# 更新安装包
sudo apt update

#安装python2.7
sudo apt install python2.7

#检查python版本
python
#显示结果:
Python 2.7.17
  • 4
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
### 回答1: Hyperledger Fabric 实战文档提供了非常详细的指导和实践案例,使得使用该平台进行区块链应用开发的人员能够快速上手并开发出高质量的应用。 实战文档首先介绍了Hyperledger Fabric 的基本概念和架构,包括区块链节点、分类帐、订单服务、链代码等。随后,文档给出了具体的实践步骤,从环境搭建、网络部署、链代码开发等方面进行了详细的介绍,使得开发人员可以快速掌握这些关键技能。 同时,实战文档还提供了多个示例应用案例的源代码和详细说明,涵盖了数字身份认证、跨境贸易、供应链管理等应用场景,可以作为学习和实践的参考。 总体而言,Hyperledger Fabric 实战文档是一份非常实用和全面的文档,对于想要使用Hyperledger Fabric 进行区块链应用开发的人员来说,具有非常重要的参考和指导意义,可以将开发效率大大提高,同时也可以提高开发的技术水平和质量。 ### 回答2: Hyperledger Fabric实战文档是一个非常有价值的参考资源,它提供了丰富的指引和实践经验,帮助读者更好地理解Hyperledger Fabric框架的特性和使用方法。实战文档分为多个章节,每个章节介绍不同的主题和应用场景。其中涉及到如何设置Hyperledger Fabric网络、如何编写链码、如何部署应用程序以及如何管理和监控区块链网络等方面的知识。文档结合了理论和实践,通过实例代码、具体操作步骤和实验结果等方式,帮助读者更好地理解和掌握Hyperledger Fabric框架的实现原理和实际应用方案。 对于想要开发基于Hyperledger Fabric分布式应用程序的开发者而言,实战文档是一个很好的参考资源。通过仔细研读和实践操作,读者可以深入了解Hyperledger Fabric的特性和使用方法,以便更好地应用在实际的区块链应用中。此外,实战文档还提供了一些最佳实践和技巧,帮助读者更好地管理和维护Hyperledger Fabric网络,提高网络的稳定性和安全性。 总之,Hyperledger Fabric实战文档是Hyperledger Fabric开发者和使用者不可或缺的参考资料,它提供了全面的实践指导和编程实例,非常适合初学者和专业开发者使用,帮助读者更好地应用Hyperledger Fabric框架在实际应用中。 ### 回答3: Hyperledger Fabric是支持分布式应用程序的开源区块链平台,其强大的灵活性和可定制性使得它在金融、医疗、供应链和其他领域中得到广泛应用。Hyperledger Fabric实战文档提供了完整的指南,介绍了如何使用Fabric安装、配置和运行生产级别的区块链网络。 该文档涵盖了面向企业的区块链解决方案需求,并提供了实际应用案例。在分布式网络的环境中部署Fabric,需要对网络环境进行详细规划和准备,以确保网络的安全性和可靠性。通过按照文档中的步骤,用户可以轻松完成Fabric网络部署,同时还可以通过Fabric提供的详细的日志信息,实时监控网络。 在Fabric网络的链码开发中,应用程序可以使用不同的编程语言来描述智能合约的逻辑。Hyperledger Fabric实战文档提供了深入的应用程序案例和详细的链码编写指南,帮助开发人员更好地理解和使用Hyperledger Fabric平台。 虽然在实际的Fabric应用中可能会有更多的复杂性和细节性问题需要解决,但是通过Hyperledger Fabric实战文档,用户可以掌握一些核心原则,从而为进一步的应用开发打下基础Fabric实战文档是一个资源丰富的指南,适用于广泛的读者和使用者,以帮助他们更好地了解和使用Hyperledger Fabric平台。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值