准备工作:
· 对于一个干净的操作系统,需要预先安装一些必备的软件工具,否则后续安装会出现问题,现在就将所有的预备工作做足
安装vim、unzip、wget编译器:
yum install –y vim unzip wget
一、安装docker
· 执行命令如下:
yum install libdevmapper* -y
curl -sSL https://get.daocloud.io/docker | sh
Delta RPMs disabled because /usr/bin/applydeltarpm not installed错误解决方法:
yum provides '*/applydeltarpm'
yum install deltarpm
· 安装完成后,查看安装情况:
docker -v
二、安装docker-compose
1.首先安装python-pip,具体安装步奏如下:
· A.首先安装epel扩展源:
yum -y install epel-release
· B.然后安装python-pip
yum -y install python-pip
pip install --upgrade pip (更新到最新版本)
· C.安装完成后,清除以下缓存 cache
yum clean all
2.然后开始安装docker-compose
· A.安装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
· B.为docker-compose添加执行权限:
chmod +x /usr/local/bin/docker-compose
· C.查看安装情况:
3.配置docker镜像加速,目的是下载镜像速度更快:
curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://860eaa91.m.daocloud.io
4.最后重启一下docker服务:
systemctl restart docker
三、安装git
1.安装依赖包:
yum -y 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
make prefix=/usr/local/git install
4.修改环境变量:
vim /etc/profile 然后在文件的最后一行,添加下面的内容,然后保存退出。
export PATH=/usr/local/git/bin:$PATH
5.使用source命令立即保存:
source /etc/profile
6.查看版本
git version
四、下载 Compose 模板文件
git clone https://github.com/yeasy/docker-compose-files
通过上述命令,可以下载一个文件夹docker-compose-files
该目录下有很多hyperledger_fabric的版本,最新版是v1.0.5,由于v0.6.0和v1.0.x的架构差异,选择任意版本的v1.0.x都可以在里面找到一个script目录,进入发现很多sh文件:
其中download_images.sh就可以下载所需要的所有docker的images,当然也可以执行setup_Docker.sh进行docker的安装。
bash download_images.sh
如果想手动执行,可以按照下面的步骤进行。
· 下载镜像命令如下:
docker pull yeasy/hyperledger-fabric-base:latest \ && docker pull yeasy/hyperledger-fabric-peer:latest \ && docker pull yeasy/hyperledger-fabric-orderer:latest \ && docker pull yeasy/hyperledger-fabric-ca:latest \ && docker pull yeasy/blockchain-explorer:latest \ && docker tag yeasy/hyperledger-fabric-peer hyperledger/fabric-peer \ && docker tag yeasy/hyperledger-fabric-orderer hyperledger/fabric-orderer \ && docker tag yeasy/hyperledger-fabric-ca hyperledger/fabric-ca \ && docker tag yeasy/hyperledger-fabric-base hyperledger/fabric-baseimage \ && docker tag yeasy/hyperledger-fabric-base hyperledger/fabric-ccenv:x86_64-1.0.0-preview
· 下载完成后,查看下载镜像
docker images
六、测试验证
· 在任意版本的hyperledger fabric文件夹中都有一个Makefile文件,改文件中设置了很多验证区块链的批处理段,可以采用vim工具打开并编辑该文件,执行make命令就可以测试验证相关段的分布式账本应用。一般步骤都是start-init-test-stop。就可以完整验证所有测试示例。例如:
make start //执行一个模拟两个组织使用区块链
make init //初始化原始区块
make test_cc //测试整个区块链赋初值,转账,查询
make stop //终止整个区块链
七、自己开发一个chaincode程序
首先需要安装相关的开发环境,目前,hyperledger fabric支持Java,Go,NodeJS,Python,并有相关的SDK,本处就以Go为例。
7.1、安装GO开发环境
去golang 官网https://golang.org/dl,找到最新稳定版本的Go,选择对于的操作系统,进行下载。(注:该官网需要翻墙才能访问),下载之后解压到指定的目录,如下:
tar -C /usr/local -xzf go1.9.2.linux-amd64.tar.gz
然后在/etc/profile中设置环境变量:
export GOROOT=/usr/local/go
export PATH=$PATH:$GOROOT/bin
然后设置GOPATH变量,可以先建一个gopath目录,然后在/etc/profile中设置:
cd ~
mkdir gopath 然后在/etc/profile中设置如下
export GOPATH=/Users/username/gopath
然后source环境变量生效:
source /etc/profile
GO安装完成了。
7.2、安装Nodejs开发环境
首先安装g++环境,源码安装会使用g++命令
yum install gcc-c++
备注:原则上需要依赖很多第三方包才能安装nodejs:
yum -y install gcc make gcc-c++ openssl-devel wget
由于部分包已经安装了,这里就不做重复安装。
然后使用wget命令获取源码包,依次执行各条命令:
wget https://nodejs.org/dist/v6.9.0/node-v6.9.0.tar.gz
tar -zxf node-v6.9.0.tar.gz (解压缩)
cd node-v6.9.0
./configure (预配置)
make && make install (编译&安装)
node –v (验证)
7.3、安装Hyperledger Fabric Sample
从git上获取fabirc-samples
git clone -b master https://github.com/hyperledger/fabric-samples.git
cd fabric-samples
systemctl status docker 检查docker是否启动,否则执行下面的操作会出错,如果docker没有启动就执行
systemctl start docker
curl -sSL https://goo.gl/6wtTN5 | bash -s 1.1.0-preview(该步骤需要翻墙才能从google下载,该步骤执行时间较长,网速快的话需要1个小时左右,否则更长)
https://goo.gl/6wtTN5 这个如果下载不下来,可以通过翻墙进行下载,保存为sh文件,设置成可执行。其中执行的过程中,会下载两个包,可以根据提示把这两个包下载下来,放在和sh同样的目录
这里需要下载两个包,
执行完以上命令之后会在fabric-samples目录下生产一个bin目录,该目录中包括了四种平台相关的二进制文件,分别是:cryptogen, configtxgen, configtxlator和peer。将该bin目录加入PATH变量:
export PATH=<path to download location>/bin:$PATH
到此,示例程序已经安装好了。