Hyperledger fablic 1.0 在centos7环境下的安装与部署和动态增加节点
来源:互联网 发布:5c5c5c最新域名升级 编辑:程序博客网 时间:2024/06/03 17:33
Hyperledger fablic 1.0 在centos7环境下的安装与部署和动态增加节点
一、安装docker
- 执行代码如下:
curl -sSL https://get.daocloud.io/docker | sh
- 安装完成后,查看安装情况:
docker -v
二、安装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
- 2.为docker-compose添加执行权限:
chmod +x /usr/local/bin/docker-compose
- 3.查看安装情况:
下面配置一下docker镜像加速,目的是下载镜像速度更快:
curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://860eaa91.m.daocloud.io
最后重启一下docker服务:
sudo service docker restart
三、安装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 allsudo 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
四、下载镜像
- 下载镜像命令如下:
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
五、设置网络
创建2个docker网络,如下:
docker network create fabric_noops
docker network create fabric_pbft
六、启动集群
- 1.首先,下载 Compose 模板文件。
git clone https://github.com/yeasy/docker-compose-files
- 2.查看下载情况:
- 3.进入 hyperledger/1.0 目录,查看包括若干模板文件
- 4.快速 启动一个 MVE fabric 集群:
docker-compose up
- 5.查看 启动后的容器镜像:
docker ps -a
容器如下:
c10f128ab8f5 hyperledger/fabric-peer "peer node start" 16 hours ago Up 16 hours 7050/tcp, 7052-7059/tcp, 0.0.0.0:7051->7051/tcp fabric-vp0443083f3b2b9 hyperledger/fabric-orderer "orderer" 16 hours ago Up 16 hours 0.0.0.0:7050->7050/tcp fabric-orderer08330f858c6f hyperledger/fabric-cop "cop server start ..." 16 hours ago Up 16 hours 0.0.0.0:8888->8888/tcp fabric-cop
容器如图:
七、开始部署chaincode
- 集群启动后,进入 VP 节点,节点名称为 fabric-vp0
docker exec -it fabric-vp0 bash
- 部署example02
peer chaincode deploy -n test_cc -p github.com/hyperledger/fabric/examples/chaincode/go/chaincode_example02 -c '{"Args":["init","a","100","b","200"]}'
- 查询
peer chaincode invoke -n test_cc -c '{"Args":["query","a"]}'
a的值如下:
peer chaincode invoke -n test_cc -c '{"Args":["query","b"]}'
b的值如下:
- 这时查询容器,会生成一个新的链码的容器,除了原先的3个。
- 转账
交易,a向b转账10元,如下:
peer chaincode invoke -n test_cc -c '{"Args":["invoke","a","b","10"]}'
- 转账后,再次查询
查询a的值,结果如下:
peer chaincode invoke -n test_cc -c '{"Args":["query","a"]}'
这时“a”的值为:**90**![这里写图片描述](http://img.blog.csdn.net/20170124115510812?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvemhhb2xpYW5nMTEzMQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)再次查询b的值,结果如下:
peer chaincode invoke -n test_cc -c '{"Args":["query","b"]}'
这时“b”的值为:**210**![这里写图片描述](http://img.blog.csdn.net/20170124115633646?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvemhhb2xpYW5nMTEzMQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)已经完成超级账本的 转账的实例,每转一次,都会记录一个块。八、动态增加节点
- 新建一个增加节点的文件,文件名为:add-peer.yml
文件的内容如下:
# This compose file will start a cluster with 1 hyperledger peer nodes# vp1: validating node as peer# https://github.com/yeasy/docker-compose-filesversion: '2.0'services: vp1: extends: file: peer.yml service: peer container_name: fabric-vp1 hostname: vp1 environment: - CORE_PEER_ID=vp1 - CORE_PEER_DISCOVERY_ROOTNODE=172.17.0.2:7051 - CORE_PEER_COMMITTER_LEDGER_ORDERER=172.17.0.2:7050#networks:# default:# external:# name: fabric_pbft
- 执行动态增加节点
docker-compose -f add-peer.yml up
- 查询现在的容器
b67e34917f38 hyperledger/fabric-peer "peer node start" 4 hours ago Up 4 hours 7050-7059/tcp fabric-vp1b826ea7b9260 hyperledger/fabric-peer "peer node start" 4 hours ago Up 4 hours 7050/tcp, 7052-7059/tcp, 0.0.0.0:7051->7051/tcp fabric-vp0a35046f53af3 hyperledger/fabric-orderer "orderer" 4 hours ago Up 4 hours 0.0.0.0:7050->7050/tcp fabric-orderer78acca35125b hyperledger/fabric-ca "fabric-ca server ..." 4 hours ago Up 4 hours 7054/tcp, 0.0.0.0:8888->8888/tcp fabric-ca
说明动态创建已经成功。下面验证一下这些节点是否关联一块。
- 进入动态创建的”fabric-vp1”容器里
docker exec -it fabric-vp1 bash
- 执行查询
查询a的值为:
peer chaincode invoke -n test_cc -c '{"Args":["query","a"]}'
这时“a”的值为:90
查询b的值为:
peer chaincode invoke -n test_cc -c '{"Args":["query","b"]}'
这时“b”的值为:210
- 执行转账
在 fabric-vp1容器里 ,执行交易,a再向b转账10元,如下:
peer chaincode invoke -n test_cc -c '{"Args":["invoke","a","b","10"]}'
- 转账后,再次查询
在“fabric-vp1”容器里,查询a的值,结果如下:
peer chaincode invoke -n test_cc -c '{"Args":["query","a"]}'
这时“a”的值为:**80**![这里写图片描述](http://img.blog.csdn.net/20170206192205707?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvemhhb2xpYW5nMTEzMQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)再次查询b的值,结果如下:
peer chaincode invoke -n test_cc -c '{"Args":["query","b"]}'
这时“b”的值为:**220**![这里写图片描述](http://img.blog.csdn.net/20170206192328771?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvemhhb2xpYW5nMTEzMQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)我们进入 “fabric-vp0”执行查询看看数值是否变化,在vp0容器里查询a的值应该为“80”,b的值应该为“220”。下面我们来验证下:
- 进入”fabric-vp0”容器里
docker exec -it fabric-vp0 bash
- 执行查询
查询a的值为:
peer chaincode invoke -n test_cc -c '{"Args":["query","a"]}'
这时“a”的值为:80,说明已经关联在一起
查询b的值为:
peer chaincode invoke -n test_cc -c '{"Args":["query","b"]}'
这时“b”的值为:220,说明节点是关联在一起的。
- 最后查看下镜像和容器
查看镜像:
docker images
可以看到vp1也有一个镜像,说明vp1已经创建好容器
查看容器:
docker ps -a
可以看到vp1已经创建好容器
到此,整个Hyperledger Fabric1.0超级账本环境已经部署完成,动态增加节点也已经完成。
0 0
- Hyperledger fablic 1.0 在centos7环境下的安装与部署和动态增加节点
- Hyperledger fablic 1.0 在centos7环境下的安装与部署
- Hyperledger fablic 0.6 在centos7环境下的安装与部署
- 区块链 Hyperledger - 超级账本项目在centos7环境下的安装与部署
- centos 7下 区块链 Hyperledger 的安装和部署
- 在现有集群环境下动态增加(下架)新的节点
- CentOs7下redis的部署和安装
- centos7下 lamp环境部署及zabbix的安装
- centos7环境下ceph安装部署
- 生成环境下的Tomcat 8.0.36 在CentOS7下安装和配置apr
- 在Centos7下安装部署Zabbix3.2
- CentOS7.0下Redis的安装和部署
- CentOS7下TestLink环境的部署
- GitLab在CentOS7下LNMP环境的安装使用
- 在centos7的无外网环境下编译安装caffe
- 在CentOS 7.2下安装Hyperledger fabric 1.0.0 preview版本的solo模式
- Ubuntu下搭建Hyperledger Fabric四个共识节点环境
- 在CentOS7环境下安装Alfresco4.2
- 假期训练——Hangman Judge UVA - 489 模拟
- 熟练使用java的Enum、EnumSet、EnumMap
- 虚拟机运行时常量池与String的intern方法
- Android Studio 执行 lint task失败的问题
- Java基础学习总结(97)——合格的Java的架构师需要具备的技术知识
- Hyperledger fablic 1.0 在centos7环境下的安装与部署和动态增加节点
- php的CI框架的配置文件的方法
- HDU 1163 Eddy's digital Roots 【九余数定理 Or 规律(瞎搞)】
- CentOS升级Python2.7.12
- SSH项目spring版本和jdk的版本不匹配的问题
- Android Notes - 添加Copy to Clipboard的选项到分享列表中
- hdu--1060--Leftmost Digit
- MyBatis.2剖析
- Xcode版本太低引发的bug,xcode各种版本下载方式详解