Hyperledger Fabric 部署

Hyperledger Fabric需要使用Docker、Go环境。

Docker环境安装

Docker环境安装 直接查看这一篇,安装好之后将当前用户非root添加到Docker用户组中

#创建docker用户组
sudo groupadd docker #将当前用户添加到docker用户组
sudo usermod -aG docker cigod

Go环境安装

我们直接在GO官网下载安装包上传到服务器中,然后解压文件配置一下环境变量。

# 解压go文件
tar zxvf go*.tar.gz # 移动go文件目录
mv go/ /usr/local/

配置环境变量

# 编辑环境配置
vim /etc/profile #GOROOT 路径是软件安装路径
export GOROOT=/usr/local/go #GOPATH 路径是平时我们的工作路径,go项目放置在这个目录下
export GOPATH=$HOME/go #添加到环境变量
export PATH=$PATH:$GOPATH/bin #退出编辑之后重启一下配置文件
. /etc/profile #查看go版本
go version

Fabric的环境搭建

我们可以使用git拉取代码或者直接在Github下载文件

# 进入当前用户文件夹
cd $HOME #创建文件夹
mkdir -p go/src/github.com/hyperledger/ #进入创建的文件夹
cd go/src/github.com/hyperledger/ #Github拉取代码
git clone "https://github.com/hyperledger/fabric.git" #进入项目
cd fabric/ #因为Fabric有很多版本这里我们使用2.0版本,切换一下版本
git checkout release-2.0 #进入scripts下载必备的文件
cd scripts/ #执行这个脚本之后就会自动下载我们需要的文件和Docker镜像
#但是会很慢我的服务器下了一天还失败了
sudo ./bootstrap.sh

补救措施

因为自己一直失败硬着头皮上,我先下载了这个脚本文件看里面具体是做什么东西的,就是下载对应版本的文件和Docker镜像。卡主要就是卡在了下载文件。

#该命令会下载所需的 docker 镜像
./bootstrap.sh -s -b

然后我们直接翻墙下载其他两个文件注意:根据自己查看bootstrap.sh文件得到相应版本号,从而修改地址其中的版本号

https://github.com/hyperledger/fabric-samples/archive/v2.0.0.zip

上面fabric-samples下载之后放入/root/go/src/github.com/hyperledger/fabric/scripts中

#修改fabric-samples文件名
mv fabric-samples-2.0.0 fabric-samples

当下面两个文件下载完之后放入上面fabric-samples目录中进行解压,会生成bin目录下面存放的都是一些生成fabric网络所需的工具

https://github.com/hyperledger/fabric/releases/download/v2.2.0/hyperledger-fabric-linux-amd64-2.0.0.tar.gz

https://github.com/hyperledger/fabric-ca/releases/download/v1.4.7/hyperledger-fabric-ca-linux-amd64-1.4.4.tar.gz

运行Fabric环境

#进入first-network文件夹
cd ~/go/src/github.com/hyperledger/fabric/scripts/fabric-samples/first-network/ #执行命令 这个脚本主要是启动Docker容器镜像,部署通道、节点、证书、链码
./byfn.sh up #执行命令 网络全部关闭
./byfn.sh down

这里启动的时候可能会遇到一个错误,主要是因为Go依赖包下载不了的问题

部署Hyperledger Fabric报错Error: error getting chaincode bytes: failed to calculate dependencies: incomplete package: github.com/hyperledger/fabric-chaincode-go/shim

#go env



换成国内的就可以了

#替换依赖包下载地址
go env -w GOPROXY=https://goproxy.cn
export GOPROXY=https://goproxy.cn

启动脚本的时候出现这个画面说明已经成功了,我们看启动过程的时候可以看到,脚本帮我走了一个完整的流程。

最新文章

  1. aaaaaaaaaaaaaa
  2. 交互式报表和工作报表控件Stimulsoft Reports.Fx for Java
  3. 程序员是怎么炼成的---OC题集--练习答案与题目(2)
  4. Google Guava学习笔记——基础工具类Preconditions类的使用
  5. 如何理解 MySQL 中的 <=> 操作符?
  6. asp.net 常用的几种调用存储过程的方法
  7. python还不能作为主要编程语言的原因:
  8. CMDB机柜平台结合zabbix告警展示
  9. Nothing
  10. springboot +spring security4 +thymeleaf 后台管理系统
  11. 解决nginx session共享的问题
  12. BigPipe设计原理
  13. Two Sum 2015年6月8日
  14. php使用ZipArchive压缩文件的心得
  15. [ Java学习基础 ] Java的封装性与访问控制
  16. 利用微信支付的订单查询接口可以在APP 中提高支付的可靠性
  17. c# 获取文件本身的哈希值
  18. linux下Ftp服务安装
  19. windows系统利用任务管理器-资源监视器了解程序的磁盘读写量
  20. bundle install 安装的 gem 提示 cannot load such file

热门文章

  1. C++11多线程编程--线程创建
  2. Crystal Reports --报表设计
  3. 【Python学习笔记六】获取百度搜索结果以及百度返回“百度安全验证”问题解决
  4. 网课神器之obs-studio的安装使用
  5. Captura - 免费好用还开源的录屏软件
  6. Spring Boot+MyBatis+MySQL读写分离
  7. 使用expect在script中切换到root用户(精华)
  8. Java SE基础知识
  9. ken桑带你读源码 之scrapy scrapy\extensions
  10. manual for emacs markdown-mode(English)