Hyperledger超级账本在Centos7下搭建运行环境

时间:2023-11-11 10:01:20

超级账本(hyperledger)是Linux基金会于2015年发起的推进区块链数字技术和交易验证的开源项目,加入成员包括:荷兰银行(ABN AMRO)、埃森哲(Accenture)等十几个不同利益体,目标是让成员共同合作,共建开放平台,满足来自多个不同行业各种用户案例,并简化业务流程。由于点对点网络的特性,分布式账本技术是完全共享、透明和去中心化的,故非常适合于在金融行业的应用,以及其他的例如制造、银行、保险、物联网等无数个其他行业。通过创建分布式账本的公开标准,实现虚拟和数字形式的价值交换,例如资产合约、能源交易、结婚证书、能够安全和高效低成本的进行追踪和交易。

节点类型:Orderer、Peer、Client、fabric-Ca 
先说一下这几个节点都是干什么的。 
Orderer:区块链共识节点,主要作用就是完成交易同步和区块的生成,同时也保证区块链共识过程的安全性(安全性是由共识机制来保证的,目前Fabric自带的有三种共识机制:solo、kafka、PBFT)。 
Peer:服务节点,这里所谓的服务是相对于外围的应用而言,主要分为两种,Endorser节点和Committer节点。Endorser节点主要是负责背书(提供交易合法性证明和权限验证),Committer节点负责记账。 
Client:客户节点,这就是根据Fabric SDK开发的面向用户的终端。 
fabric-Ca: 证书管理中心,通过证书(签名、加密、秘钥协商)来实现权限管理和加密通讯。

大家可以看出来Fabric的节点类型是要比Bitcoin和Ethereum更多,而且功能更细化。这主要是因为Fabric倡导模块化和可插拔的架构,鼓励大家DIY,其中Orderer里面的共识机制、fabric-Ca、包括Ledger(总账)的数据存储方式(ram、LevelDb)都是可以替换的。

它大概的架构就如下图:

Hyperledger超级账本在Centos7下搭建运行环境

Hyperledger Fabric 构建于一种模块化架构之上,该架构将交易处理分为 3 个阶段:分布式逻辑处理和协商(“链代码”)、交易订购,以及交易验证和提交。这种分离提供了一些优势:不同节点类型之间需要的信任和验证水平更低,网络可伸缩性和性能得到了优化。

目前超级账本项目( Hyperledger Fabric )支持在Mac及各大主流Linux下运行,现主要讲解以下在 Centos7 下搭建 超级账本的 开发验证环境。

1、安装Docker

目前开源社区Docker最新版本为 18.03.1,社区分为开源版本(docker-ce)和企业版本(docker-ee)。 需要配置Docker官方源才可以安装最新版本,此处我们安装开源社区版本 docker-ce。

具体操作安装步骤可参考我另一篇文章 《Docker在CentOS 7 环境下的安装及基本操作入门》

需要安装 Docker 及 Docker-compose,验证这两项安装成功即可。

2、安装Go语言运行环境

Go 是一个开源的编程语言,它能让构造简单、可靠且高效的软件变得容易。Go语言于2009年11月由Google正式宣布推出,成为开放源代码项目,并在Linux及Mac OS X平台上进行了实现,后追加Windows系统下的实现。Go语言具有 部署简单、并发性好、良好的语言设计、执行性能好 等特点。

CentOS 7 下安装 Go语言运行环境可参考我另一篇文章 《Centos 7 下安装Go语言运行环境》

3、安装NVM及Node.js

nvm全称Node Version Manager ,是 Nodejs 版本管理器,它让我们能方便的对 Nodejs 的版 本进行切换。 nvm 的官方版本只支持 Linux 和 Mac。 Windows 用户,可以用 nvm-windows。

fabric暂时不支持7.x,需要安装6.9.x 或  6.x高的版本,通过    nvm    安装指定 版本的node。

现安装Node.js 6.5.9 版本。

具体步骤可以参考《Centos7 使用NVM安装Node.js》

至此 Docker、Docker-compose、Go、Node.js  基础运行环境已经全部安装完成。