区块链 Hyperledger - 超级账本项目在centos7环境下的安装与部署

原创 2017年01月17日 16:35:39

Hyperledger - 超级账本项目在centos7环境下的安装与部署

Hyperledger 项目是开源界面向开放、标准区块链技术的首个重要探索,在 Linux 基金会的支持下,吸引了众多科技和金融巨头的参与。
本文将介绍 hyperledger 项目的历史,并以核心的 fabric 项目为例,讲解如何快速安装部署和应用区块链系统。

  • 亲试操作系统版本:centos7或centos7.1或centos7.2都可以

区块链开源项目汇总:

  • 微软开源区块链平台项目 Bletchley
  • linux开源项目 Hyperledger Fabric
  • 分布式总账区块链工具 Openchain
  • 点对点的多态数字资产交易系统 BitShares

  • 区块链简单介绍

区块链已经成为当下最受人关注的开源技术,有人说它将颠覆金融行业的未来。然而对很多人来说,区块链技术难以理解和实现,而且缺乏统一的规范。
2015 年 12 月,Linux 基金 会牵头,联合 30 家初始成员(包括 IBM、Accenture、Intel、J.P.Morgan、R3、DAH、DTCC、FUJITSU、HITACHI、SWIFT、Cisco 等),共同 宣告 了 Hyperledger 项目的成立。该项目试图打造一个透明、公开、去中心化的超级账本项目,作为区块链技术的开源规范和标准,让更多的应用能更容易的建立在区块链技术之上。项目官方信息网站在 hyperledger.org,
目前已经有超过 100 家全球知名企业和机构(大部分均为各自行业的领导者)宣布加入 Hyperledger 项目,其中包括 30 多家来自中国本土的企业,包括艾亿新融旗下的艾亿数融科技公司(2016.05.19)、Onchain(2016.06.22)、比邻共赢(Belink)信息技术有限公司(2016.06.22)、BitSE(2016.06.22)、布比(2016.07.27)、三一重工(2016.08.30)、万达金融(2016.09.08)、华为(2016.10.24)等。
如果说以比特币为代表的货币区块链技术为 1.0,以太坊为代表的合同区块链技术为 2.0,那么实现了完备的权限控制和安全保障的 Hyperledger 项目毫无疑问代表着 3.0 时代的到来。
IBM 贡献了数万行已有的 Open Blockchain 代码,Digital Asset 则贡献了企业和开发者相关资源,R3 贡献了新的金融交易架构,Intel 也刚贡献了跟分布式账本相关的代码。
Hyperledger 社区由技术委员会(Technical Steering Committee,TSC)指导,首任主席由来自 IBM 开源技术部 CTO 的 Chris Ferris 担任,管理组主席则由来自 Digital Asset Holdings 的 CEO Blythe Masters 担任。另外,自 2016 年 5 月起,Apache 基金会创始人 Brian Behlendorf 担任超级账本项目的首位执行董事。2016 年 12 月,中国技术工作组 正式成立,负责本土社区组织和技术引导工作。官方网站还提供了十分详细的 组织信息。
该项目的出现,实际上宣布区块链技术已经不单纯是一个开源技术了,已经正式被主流机构和市场认可;同时,Hyperledger 首次提出和实现的完备权限管理、创新的一致性算法和可拔插的框架,对于区块链相关技术和产业的发展都将产生深远的影响。

  • 主要项目

代码托管在 Gerrit 和 Github(自动从 gerrit 上同步)上

这里写图片描述

  • 目前主要包括三大账本平台项目和若干其它项目

账本平台项目:
fabric:包括 fabric 和 fabric-api、fabric-sdk-node、fabric-sdk-py 等,目标是区块链的基础核心平台,支持 pbft 等新的 consensus 机制,支持权限管理,最早由 IBM 和 DAH 发起;
sawtooth Lake:包括 arcade、core、dev-tools、validator、mktplace 等。是 Intel 主要发起和贡献的区块链平台,支持全新的基于硬件芯片的共识机制 Proof of Elapsed Time(PoET)。
Iroha:账本平台项目,主要由 Soramitsu 发起和贡献。
其它项目:
blockchain-explorer:提供 Web 操作界面,通过界面快速查看查询绑定区块链的状态(区块个数、交易历史)信息等。
目前,所有项目均处于孵化(Incubation)状态。

下面废话就不多说了,开始进入部署项目的遨游吧!

目 录

一、安装docker

  • 执行代码如下:
curl -sSL https://get.daocloud.io/docker | sh
  • 安装完成后,查看安装情况:
docker -v

这里写图片描述

  • 修改docker服务配置,
  • 服务配置的意思是 开启docker远程配置,如下:
DOCKER_OPTS="$DOCKER_OPTS -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock --api-cors-header='*'"
  • 重启docker服务
sudo service docker restart

二、安装docker-compose

先安装python-pip,具体安装步奏如下:

  • 1.首先安装epel扩展源:
sudo yum -y install epel-release
  • 2.然后安装python-pip
sudo yum -y install python-pip
  • 3.安装完成后,清除以下缓存 cache
sudo yum clean all

下面开始安装docker-compose

  • 1.安装docker-compose:
curl -L https://get.daocloud.io/docker/compose/releases/download/1.9.0/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
  • 2.查看安装情况:
    这里写图片描述

配置以下docker镜像加速,目的是下载镜像速度更快:

curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://860eaa91.m.daocloud.io

重启docker服务:

sudo service docker restart

三、下载镜像

 docker pull hyperledger/fabric-peer:x86_64-0.6.1-preview \
  && docker pull hyperledger/fabric-membersrvc:x86_64-0.6.1-preview \
  && docker pull yeasy/blockchain-explorer:latest \
  && docker tag hyperledger/fabric-peer:x86_64-0.6.1-preview hyperledger/fabric-peer \
  && docker tag hyperledger/fabric-peer:x86_64-0.6.1-preview hyperledger/fabric-baseimage \
  && docker tag hyperledger/fabric-membersrvc:x86_64-0.6.1-preview hyperledger/fabric-membersrvc
  • 下载完成后,查看下载镜像

这里写图片描述

四、安装git

1.安装依赖包:

sudo yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel gcc perl-ExtUtils-MakeMaker

2.下载git源码并解压安装:

$ wget https://github.com/git/git/archive/v2.3.0.zip
$ unzip v2.3.0.zip
$ cd git-2.3.0

3.编译安装:

make prefix=/usr/local/git all
sudo make prefix=/usr/local/git install

4.修改环境变量:

sudo vim /etc/profile
然后在文件的最后一行,添加下面的内容,然后保存退出。
export PATH=/usr/local/git/bin:$PATH

5.使用source命令立即保存:

source /etc/profile

6.查看版本

git version 

这里写图片描述

五、使用PBFT模式

PBFT 是经典的分布式一致性算法,也是 hyperledger 目前最推荐的算法,该算法至少需要 4 个节点。

  • 1.首先,下载 Compose 模板文件。
git clone https://github.com/yeasy/docker-compose-files
  • 2.查看下载情况:

这里写图片描述

  • 3.进入 hyperledger/0.6/pbft 目录,查看包括若干模板文件

这里写图片描述

  • 4.快速启动一个 4 个 PBFT 节点的集群:
docker-compose -f 4-peers.yml up

六、开始部署chaincode

  • 集群启动后,进入一个 VP 节点。以 pbft 模式为例,节点名称为 pbft_vp0_1
docker exec -it pbft_vp0_1 bash

这里写图片描述

  • 部署example02
 peer chaincode deploy -p github.com/hyperledger/fabric/examples/chaincode/go/chaincode_example02 -c '{"Function":"init", "Args": ["a","100", "b", "200"]}'

这里写图片描述

  • 记录到环境变量 CC_ID 中。
CC_ID="ee5b24a1f17c356dd5f6e37307922e39ddba12e5d2e203ed93401d7d05eb0dd194fb9070549c5dc31eb63f4e654dbd5a1d86cbb30c48e3ab1812590cd0f78539"

这里写图片描述

  • 查询 chaincode
peer chaincode query -n ${CC_ID} -c '{"Function": "query", "Args": ["a"]}'

这里写图片描述

  • 调用 chaincode
peer chaincode invoke -n ${CC_ID} -c '{"Function": "invoke", "Args": ["a", "b", "10"]}'

这里写图片描述

  • 再次查询a的值
peer chaincode query -n ${CC_ID} -c '{"Function": "query", "Args": ["a"]}'

这里写图片描述

到此已经完成超级账本的 转账的实例,每转一次,都会记录一个块。


版权声明:本文为博主原创文章,未经博主允许不得转载。

区块链组织-超级账本(Hyperledger)的简介

区块链上有国外比较著名的组织比如R3联盟、超级账本(Hyperledger),国内的中国区块链研究联盟(China Blockchain Research Alliance)、中国分布式总账基础协议联...
  • sunfitzb
  • sunfitzb
  • 2016年09月02日 15:39
  • 6642

Hyperledger -超级账本 学习报告

Hyperledger -超级账本 学习报告   一、什么是区块链?   区块链的基本原理,基本组件包括: 交易:对账本状态的改变; 区块:记录交易和状态,是对当前账本状态的一次确认; ...
  • WHUT_007
  • WHUT_007
  • 2016年08月04日 15:22
  • 6953

centos 7下 区块链 Hyperledger 的安装和部署

一、安装docker 执行代码如下:curl -sSL https://get.daocloud.io/docker | sh 安装完成后,查看安装情况: docker -v ...
  • yezaihong1982
  • yezaihong1982
  • 2017年02月20日 14:35
  • 2129

Hyperledger fablic 1.0 在centos7环境下的安装与部署和动态增加节点

Hyperledger fablic 1.0 在centos7环境下的安装与部署和动态增加节点一、安装docker 执行代码如下: curl -sSL https://get.daocloud.io/...
  • zhaoliang1131
  • zhaoliang1131
  • 2017年02月06日 19:41
  • 2358

自己动手部署区块链-hyperledger/fabric-01

Hyperledger(又名Fabric) 来源于伟大的IBM,从最初IBM将44,000行代码进行开源到现在,已经刚好有100个成员参与其发展,参考以下链接: Hyperledger Commun...
  • YL_1314
  • YL_1314
  • 2016年12月28日 10:20
  • 4906

以太坊开发--阿里云ECS(centOS 6.8)安装Ethereum TestRPC

笔者在前面博客中《以太坊开发--truffle和testrpc使用介绍》《区块链-以太坊开发环境搭建介绍》两篇博客中讲解了TestRPC的安装与使用。作为入门区块链开发的重要工具,TestRPC是极好...
  • CHENYUFENG1991
  • CHENYUFENG1991
  • 2017年03月05日 15:53
  • 7296

安装geth 搭建以太坊私链

1 Ubuntu用户可以选择在线安装geth的方式,在终端中依次执行以下命令即可:$ sudo add-apt-repository -y ppa:ethereum/ethereum $ sudo a...
  • DDFFR
  • DDFFR
  • 2017年06月26日 11:37
  • 5619

以太坊(2):以太坊私有链环境下的账户管理、挖矿与转账

在以太坊(1):在CentOS 6.5上搭建以太坊私有链的步骤 中我们搭建了以太坊的私有链,这次我们将在该私有链环境中进行创建账户,挖矿和转账的操作。   首先,回顾一下搭建的过程中,...
  • m0_37327416
  • m0_37327416
  • 2017年06月06日 17:26
  • 2668

以太坊学习笔记:私有链搭建操作指南

原文链接:https://my.oschina.net/u/2349981/blog/865256 (讲解的内容非常详细,熟悉搭建以太坊私有链的相关操作,学习了!) 摘要: 详解以太坊私有链搭建过程以...
  • u013096666
  • u013096666
  • 2017年05月23日 15:05
  • 6522

以太坊(1)--在CentOS 6.5上搭建以太坊私有链的步骤(图文详细)

我们在研究和使用以太坊的过程中,碰到了许多坑,走了许多的弯路。用以太坊作为关键词去百度或者谷歌搜索,虽然能够搜到许多结果,但其实对于我们来说,这些结果存在2个问题:1,网上的这些文章互相拷贝,虽然看起...
  • m0_37327416
  • m0_37327416
  • 2017年06月06日 17:18
  • 1399
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:区块链 Hyperledger - 超级账本项目在centos7环境下的安装与部署
举报原因:
原因补充:

(最多只允许输入30个字)