CentOS 7.1上部署Hyperledger/Fabric 0.6
2017-04-03 17:53
721 查看
好久没写博客,所以想写点东西,转产品经理后就很少研究编码,但技术不能荒废,对于金融科技这行,不仅要懂点金融还要懂技术和产品.......区块链是金融科技很火的技术之一,国内以"以太坊ETH”和“超级账本Hyperledger” 两大阵营为主。ETH发展了好几年,部署、开发环境成熟,而超级账本1.0正式版还没出来,入门还是有点难度。本文主要讲解Hyperledger的Fabric 0.6版本的部署与跑Demo,雷同网上大多数文章,大家入门都是讲这些。
由于要用docker,docker在国内被墙得厉害,你们也懂的,建议到淘宝购买香港VPS,系统选择cent os 7.1。
使用Putty连上服务器后,执行以下命令,做好部署前的准备。
#centos 7.1安装docker
rpm -Uvh http://dl.Fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm yum -y install docker-io
service docker start
# 开机自动启动
chkconfig docker on
docker run hello-world
#安装docker-compose
yum -y install epel-release
yum install python-pip
pip install --upgrade pip
pip install docker-compose
docker-compose version
#安装nodejs:
yum install nodejs
node -v
npm -v
#搭建Go语言环境
#如果是mini版CentOS,还要先安装wget
yum install wget
wget http://www.golangtc.com/static/go/1.8/go1.8.linux-amd64.tar.gz #将软件安装在目录/usr/local下
tar -C /usr/local -xzf go1.8.linux-amd64.tar.gz
#在/opt下面新建gopath目录,其中有3个子目录src、pkg、bin
cd /opt;mkdir gopath;cd gopath
mkdir src;mkdir pkg;mkdir bin;
#修改环境变量配置文件
yum install vim
vim ~/.bashrc在.bashrc文件尾部添加以下命令:
export PATH=$PATH:/usr/local/go/bin;
export GOPATH=/opt/gopath;使用“:wq”退出vim并保存修改
#命令生效 运行
source ~/.bashrc
#测试go语言环境是否安装成功
go version准备工作已经搞定,接下来开始部署Fabric
0.6版比1.0简单些,我们这里用到peer,baseimage,membersrvc3个镜像。
docker pull hyperledger/fabric-peer
docker pull hyperledger/fabric-membersrvc
docker pull hyperledger/fabric-baseimage:x86_64-0.3.0
#修改Tag为latest
docker tag hyperledger/fabric-baseimage:x86_64-0.3.0 hyperledger/fabric-baseimage:latest
#查看pull下来的镜像
docker images
使用yeasy提供的很好的HyperLedger的模板
日志不断滚动,而且没有报error 或者 exit就表示成功跑起了,接下来是跑Fabric的example2
打开新的Putty,连接到pbft_vp0_1里面去
这个example演示两个账户a和b,a有余额100元,b有余额200元,并返回了ChainCode:
ee5b24a1f17c356dd5f6e37307922e39ddba12e5d2e203ed93401d7d05eb0dd194fb9070549c5dc31eb63f4e654dbd5a1d86cbb30c48e3ab1812590cd0f78539
下面我们把这个ID放入一个变量中,并查询一下a账户的余额,使用query命令:
我们让a给b转账10元,使用invoke命令:
查询a账户的余额
由于要用docker,docker在国内被墙得厉害,你们也懂的,建议到淘宝购买香港VPS,系统选择cent os 7.1。
使用Putty连上服务器后,执行以下命令,做好部署前的准备。
#centos 7.1安装docker
rpm -Uvh http://dl.Fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm yum -y install docker-io
service docker start
# 开机自动启动
chkconfig docker on
docker run hello-world
#安装docker-compose
yum -y install epel-release
yum install python-pip
pip install --upgrade pip
pip install docker-compose
docker-compose version
#安装nodejs:
yum install nodejs
node -v
npm -v
#搭建Go语言环境
#如果是mini版CentOS,还要先安装wget
yum install wget
wget http://www.golangtc.com/static/go/1.8/go1.8.linux-amd64.tar.gz #将软件安装在目录/usr/local下
tar -C /usr/local -xzf go1.8.linux-amd64.tar.gz
#在/opt下面新建gopath目录,其中有3个子目录src、pkg、bin
cd /opt;mkdir gopath;cd gopath
mkdir src;mkdir pkg;mkdir bin;
#修改环境变量配置文件
yum install vim
vim ~/.bashrc在.bashrc文件尾部添加以下命令:
export PATH=$PATH:/usr/local/go/bin;
export GOPATH=/opt/gopath;使用“:wq”退出vim并保存修改
#命令生效 运行
source ~/.bashrc
#测试go语言环境是否安装成功
go version准备工作已经搞定,接下来开始部署Fabric
0.6版比1.0简单些,我们这里用到peer,baseimage,membersrvc3个镜像。
docker pull hyperledger/fabric-peer
docker pull hyperledger/fabric-membersrvc
docker pull hyperledger/fabric-baseimage:x86_64-0.3.0
#修改Tag为latest
docker tag hyperledger/fabric-baseimage:x86_64-0.3.0 hyperledger/fabric-baseimage:latest
#查看pull下来的镜像
docker images
使用yeasy提供的很好的HyperLedger的模板
git clone https://github.com/yeasy/docker-compose-files #进入Git下载下来的Docker-compose目录 cd docker-compose-files/hyperledger/0.6/pbft/文件夹里提供了多种启动节点的方式4-peers.yml :非安全模式,没有权限认证,启动4个PBFT peer 节点4-peers-with-explorer.yml :启动 4 个 PBFT peer 节点 + 1 个 Blockchain-explorer,可以通过 Web 界面监控集群状态。4-peers-with-membersrvc.yml:安全模式,启动 4 个 PBFT peer 节点 + 1 个 CA 节点,并启用 CA 功能。4-peers-with-membersrvc-explorer.yml :启动 4 个 PBFT peer 节点 + 1 个 CA 节点 + 1 个 Blockchain-explorer,并启用 CA 功能。
#我们选择最简单的 docker-compose -f 4-peers.yml up系统开始打出日志
日志不断滚动,而且没有报error 或者 exit就表示成功跑起了,接下来是跑Fabric的example2
打开新的Putty,连接到pbft_vp0_1里面去
docker exec -it pbft_vp0_1 bash进入容器后,就可以部署Example02到Fabric上,也就是智能合约可以发布区块链里面了,使用deploy命名
peer chaincode deploy -p github.com/hyperledger/fabric/examples/chaincode/go/chaincode_example02 -c '{"Function":"init", "Args": ["a","100", "b", "200"]}'
这个example演示两个账户a和b,a有余额100元,b有余额200元,并返回了ChainCode:
ee5b24a1f17c356dd5f6e37307922e39ddba12e5d2e203ed93401d7d05eb0dd194fb9070549c5dc31eb63f4e654dbd5a1d86cbb30c48e3ab1812590cd0f78539
下面我们把这个ID放入一个变量中,并查询一下a账户的余额,使用query命令:
CC_ID="ee5b24a1f17c356dd5f6e37307922e39ddba12e5d2e203ed93401d7d05eb0dd194fb9070549c5dc31eb63f4e654dbd5a1d86cbb30c48e3ab1812590cd0f78539" peer chaincode query -n ${CC_ID} -c '{"Function": "query", "Args": ["a"]}'
我们让a给b转账10元,使用invoke命令:
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"]}'
相关文章推荐
- CentOS上搭建Hyperledger Fabric0.6
- 在Ubuntu中部署并测试HyperLedger Fabric 0.6
- 在Ubuntu中部署并测试HyperLedger Fabric 0.6
- hyperledger fabric0.6 结构分析(二)
- hyperledger fabric本地开发环境mac部署
- centos7环境下的安装与部署Hyperledger fablic 0.6 4000
- hyperledger fabric0.6简析之peer start
- hyperledger fabric0.6 结构分析(三)
- HyperLedger/fabric1.0.0正式版安装部署
- centos 7下 区块链 Hyperledger 的安装和部署
- 实战:区块链hyperledger fabric 初体验 - 1:安装部署
- 自己动手部署区块链-hyperledger/fabric-02
- 002-主流区块链技术特点及Hyperledger Fabric V0.6版本特点
- 区块链hyperledger fabric 环境搭建 centos7 docker环境
- 二、主流区块链技术特点及Hyperledger Fabric V0.6版本特点
- Hyperledger fabric0.6的链码接口整理
- Hyperledger Fabric 区块链多机部署
- Hyperledger Fabric 之部署v1.0.0网络