安装hyperledger fabric V1.0.1
安装文档位置:
https://github.com/hyperledger/fabric fabric代码托管地址
https://hyperledger-fabric.readthedocs.io/en/latest/ 在线文档地址
https://github.com/hyperledger/fabric/archive/v1.0.0.tar.gz fabric1.0.0源代码包地址
安装环境:
Vmware + CentOS7 64位 1611版本
安装前准备:
- 安装配置好虚拟机,需要保证curl命令可用
- 关闭centos自动升级,免得安装时提示yum被锁定
即将/etc/yum/pluginconf.d/langpacks.conf 中的 enable=1改为enable=0
sed -i 's/enabled=1/enabled=0/g' /etc/yum/pluginconf.d/langpacks.conf
yum update
- 使用yum install 安装tree(方便查看目录结构),git(用于下载代码)
- 安装docker和docker-compose
https://download.daocloud.io/ 找到docker和docker-compose的安装指导。我们选择在线安装根据指导执行命令即可。版本更新后指导也会更新,安装时最好去网站上获取最新的命令
安装docker
sudo yum install -y yum-utils
sudo yum-config-manager \
--add-repo \
https://download.daocloud.io/docker/linux/centos/docker-ce.repo
sudo yum install -y -q --setopt=obsoletes=0 docker-ce-17.03.1.ce*
sudo systemctl enable docker
sudo systemctl start docker
sudo service docker status
docker --version
输出:Docker version 17.03.1-ce, build c6d412e
安装docker-compose
curl -L https://get.daocloud.io/docker/compose/releases/download/1.12.0/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
docker-compose --version
输出:docker-compose version 1.12.0, build b31ff33
使用阿里云进行镜像加速(如果能翻墙就不用加速了)
https://dev.aliyun.com 注册一个帐号。然后查看Docker Hub 镜像站点。指导文档写的很清楚。拷贝其中的内容执行即可。内容如下:
https后面的应该是你自己的镜像地址
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://du8c1in9.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
- 安装nodejs和NPM(需要V6 LTS版本。不支持V7或者V8)
https://nodejs.org nodejs网站,可以下载安装包进行安装,这里下载了node-v6.11.4-linux-x64.tar.xz解压包
将这个包放到/opt/nodejs目录下,当作安装目录
进行解压:
cd /opt
mkdir nodejs
cd nodejs
curl -o node-v6.11.4-linux-x64.tar.xz https://nodejs.org/dist/v6.11.4/node-v6.11.4-linux-x64.tar.xz
xz -d node-v6.11.4-linux-x64.tar.xz
tar -xvf node-v6.11.4-linux-x64.tar
建立软连接,后续替换版本方便
ln -s /opt/nodejs/node-v6.11.4-linux-x64/bin/node /usr/local/bin/node
ln -s /opt/nodejs/node-v6.11.4-linux-x64/bin/npm /usr/local/bin/npm
也可以通过设置nodejs环境变量的方式,在/etc/profile文件的
export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE HISTCONTROL 一行的上面添加如下内容:
#set for nodejs
export NODE_HOME=/opt/nodejs/node-v6.11.0-linux-x64
export PATH=$NODE_HOME/bin:$PATH
升级NPM工具,刷新会很慢。但好像不执行也没有什么问题
npm install npm@latest -g
- 安装go语句环境
https://golang.org/dl/ go的主页下载地址,可以到这里寻找最新版本
cd /opt
mkdir golang
cd golang
curl -O https://storage.googleapis.com/golang/go1.8.3.linux-amd64.tar.gz
tar -zxvf go1.8.3.linux-amd64.tar.gz
cd /opt
mkdir gopath
在/etc/profile中配置go的环境变量
export GOROOT=/opt/golang/go
export PATH=$GOROOT/bin:$PATH
export GOPATH=/opt/gopath
修改完source /etc/profile 刷新一下,使用 go version查看版本,也可以使用go env查看环境变量信息
下载fabric1.0.1源代码:
将源代码下载gopath下,/opt/gopath/src/github.com/hyperledger/fabric目录下,若没有可手工创建
curl -O https://github.com/hyperledger/fabric/archive/v1.0.1.tar.gz
tar -zxvf v1.0.1.tar.gz
目录结构如下:
下载fabric-sample镜像并启动:
首先找一个目录做为临时安装目录,这里用的是/opt/fabricinstall.
从刚才的源代码目录拷贝安装脚本过来,并执行,运行脚本时,会下载一个bin目录,里边有后续部署时会用的工具
cp /opt/gopath/src/github.com/hyperledger/fabric/scripts/bootstrap-1.0.1.sh /opt/fabricinstall/
cd /opt/fabricinstall/
sh bootstrap-1.0.1.sh
执行后就要开始等待镜像下载了,下载完成后,可以用以下命令,查看下载的镜像
docker images | grep hyperledger*
用阿里镜像很快装完了,如果使用镜像需要加上版本号,这里自动转成了latest就不用输入版本号了。所以每个镜像都有两行。
准备运行e2e_cli的例子
例子的脚本放在源代码目录中,需要拷贝过来。而例子脚本的路径都是写死的,所以要按照脚本里边的相对路径,创建整个运行目录。
之前使用bootstrap-1.0.1.sh脚本下载的执行文件,也需要拷贝到例子目录中,例子的脚本会调用这些执行文件。
以下是生成目录结构的脚本:
mkdir /opt/fabricinstall/release
mkdir /opt/fabricinstall/release/e2ecli
mkdir /opt/fabricinstall/release/linux-amd64
cd /opt/fabricinstall/release/e2ecli/
cp -R /opt/gopath/src/github.com/hyperledger/fabric/examples/e2e_cli/* /opt/fabricinstall/release/e2ecli/
cp -R /opt/fabricinstall/bin/ /opt/fabricinstall/release/linux-amd64/
mkdir /opt/fabricinstall/release/chaincode
mkdir /opt/fabricinstall/release/chaincode/go
cp -R /opt/gopath/src/github.com/hyperledger/fabric/examples/chaincode/go/* /opt/fabricinstall/release/chaincode/go
./network_setup.sh up
注意:e2ecli目录是固定的,启动后会创建一个docker network以此为名字,如果修改该目录,要到//opt/fabricinstall/release/e2ecli/base/peer-base.yaml文件中修改以下配置选项
- CORE_VM_DOCKER_HOSTCONFIG_NETWORKMODE=e2ecli_default
如果容器已经生成了,可以使用如下命令清理后,在进行network_set.
docker stop $(docker ps -q) & docker rm $(docker ps -aq)
出现以下字样,没有报错。估计是成功了。
可以通过docker ps查询启动的容器,启动前是没有任何容器的。
这个过程中会创建一个例子,并将需要的容器都拉起来
可以看到看到启动了三个mycc(系统给出的例子) 一个cli(工具) 一个orderer(选举) 四个peer(客户端)
当然这个过程也可以手工进行,后续会专门写一个文档讲解。
关闭例子
开一个新窗口,然后在对应目录下,执行关闭指令就可以了。
./network_setup.sh down
启用couchdb
上面的例子中,我们无法看到存储内容,所以改用couchdb做为pee交易的存储 使用couchdb可以通过网页查看状态内容
所以先关闭掉之前的系统,使用以下命令进行重新进行启动
./network_setup.sh up mycc couchdb
一共四个参数 1.启动或停止 2.通道名称 3.cli等待时间 4.使用couchdb。 如果关闭的话,把up改成down就可以了。
启动后访问http://192.168.101.23:5984/_utils/ 就可以看到页面了。IP记得换成自己的
点进mycc看一下
安装hyperledger fabric V1.0.1的更多相关文章
- 安装hyperledger fabric V1.0.0-beta
安装文档位置: https://github.com/hyperledger/fabric fabric代码托管地址 https://hyperledger-fabric.readthedoc ...
- Ubuntu下搭建Hyperledger Fabric v1.0环境
多次尝试才正常启动了Fabric,如遇到各种莫名错误,请参考如下一步步严格安装,特别用户权限需要注意. 一.安装Ubuntu16 虚拟机或双系统,虚拟机有VirtualBox或者VMware,Ub ...
- 三、主流区块链技术特点及Hyperledger Fabric V1.0版本特点
一.Hyperledger fabric V1.0 架构 1.逻辑架构: 2.区块链网络 3.运行时架构 二.架构总结 1.架构要点 分拆Peer的功能,将Blockchain的数据维护和共识服务进行 ...
- 003-主流区块链技术特点及Hyperledger Fabric V1.0版本特点
一.Hyperledger fabric V1.0 架构 1.逻辑架构: 2.区块链网络 3.运行时架构 二.架构总结 1.架构要点 分拆Peer的功能,将Blockchain的数据维护和共识服务进行 ...
- 使用docker加载已有镜像安装Hyperledger Fabric v1.1.0
背景 每次在新的服务器上安装Hyperledger Fabric网络时,通过fabric官方提供的脚本安装时,需要从网络上down下近10G的fabric相关镜像,这个过程是漫长及痛苦的,有时因网络问 ...
- Ubuntu16.04下安装Hyperledger Fabric 1.0.0
系统环境 * Ubuntu: 16.04 * Go: 1.9.2 * NodeJS: v6.12.0 * Docker: 17.09.0-ce * HyperLedger Fabric: 1.0.0 ...
- 区块链 Hyperledger Fabric v1.0.0 环境搭建
前言:最近项目涉及到超级账本,在有些理论知识的基础上,需要整一套环境来. 这是一个特别要注意的事情,笔者之前按照网络上推荐,大部分都是推荐ubuntu系统的,于是下载Ubuntu系统(16.04.5和 ...
- Hyperledger Fabric(v1.2.0)代码分析1——channel创建
Hyperledger Fabric(v1.2.0)代码分析1--channel创建 0. e2e_cli Hyperledger Fabric提供了一个e2e的例子,该例中创建了一个基础的区块链网络 ...
- Hyperledger Fabric(v1.1.0)编译时遇到的问题
Hyperledger Fabric(v1.1.0)编译时遇到的问题 0. 编译过程的坑 编译时,按照如下顺序编译 make release,编译源码生成二进制文件 make docker,生成一系列 ...
随机推荐
- piwik优化之定时任务生成统计数据
piwik的ui界面,使用起来是无比的慢,让苏南大叔不得不对比wordpress的使用体验.当然了,如果你的服务器足够强大,这些都是小事儿.官方对此给出了一系列的优化建议,大家可以读一下:https: ...
- sublime text2+Ctags+Cscope替代Source Insight
说明:以Windows系统下查看C++代码为例.因为Source Insight(以下简称SI)是收费软件,且界面丑陋,所以考虑其替代方案,发现Sublime Text3(以下简称ST3) + Cta ...
- web前端性能调优(一)
最近2个月一直在做手机端和电视端开发,开发的过程遇到过各种坑.弄到快元旦了,终于把上线了.2个月干下来满满的的辛苦,没有那么忙了自己准备把前端的性能调优总结以下,以方便以后自己再次使用到的时候得于得心 ...
- 峰Redis学习(9)Redis 集群(概述)
第一节:Redis 集群概述 redis cluster是去中心化,去中间件的,也就是说,集群中的每个节点都是平等的关系,都是对等的,每个节点都保存各自的数据和整个集群的状态.每个节点都和其他所有节点 ...
- 廖雪峰Java1-3流程控制-5循环
while循环 while循环首先判断条件: 条件满足时循环:条件不满足时退出循环 如果一开始条件就不满足,一次都不循环.如while false int sum = 0; int n = 1; wh ...
- 刚刚研究了下ipv6,尝试配置内网VPS的IPv6地址
刚刚研究了下ipv6,尝试配置内网VPS的IPv6地址是3台设备,分别是客户机Windows系统.核心交换机.PPPoE拨号的路由器 第一步:在PPPoE拨号的路由器上面查看ppp0拨号的地址 ifc ...
- 解决Kubernetes 1.7.3 kube-apiserver频繁异常重启的问题(转)
原文的帖子无法访问,我只能粘贴内容 近期将之前的一个用Kubernetes 1.3.7的环境更换为最新发布的用kubeadm安装的Kubernetes 1.6.4 Dashboard无法访问的问题&g ...
- python面向对象:类空间,对象空间, 组合
一. 类空间,对象空间 1. 类空间,对象空间 创建一个类就会创建一个类的名称空间,用来存储类中定义的所有名字,这些名字称为类的属性 而类有两种属性:静态属性和动态属性 静态属性就是直接在类中定义的变 ...
- TF-IDF算法原理
原文:https://www.cnblogs.com/biyeymyhjob/archive/2012/07/17/2595249.html TF-IDF(term frequency–inverse ...
- Linux常用指令之二
1.用户权限 1).查看文件属性 ls -l file(ll别名) drwxr-x--- 2 root root 4096 Jan 20 19:39 mnt # ...