Hyperledger Fabric 部署
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
启动脚本的时候出现这个画面说明已经成功了,我们看启动过程的时候可以看到,脚本帮我走了一个完整的流程。

Hyperledger Fabric 部署的更多相关文章
- hyperledger fabric部署总结
之前在有道云笔记上分享过,但想想还是搬到这里来吧,以后统一方便整理自己的知识进入正题.... 之前在调研 hyperledger fabric,其实部署说明官网都有,只是东西都是国外的照着操作也会遇到 ...
- HyperLedger Fabric部署与链码解读
1.Fabric简介 Fabric是超级账本中的一个项目,用以推进区块链技术.和其他区块链类似,它也有一个账本,使用智能合约,且是一个参与者可以分别管理自身交易的系统.它是一个联盟链.Fabric与其 ...
- Hyperledger Fabric 部署在多个主机上
前言 在实验Hyperledger Fabric无排序组织以Raft协议启动多个Orderer服务.TLS组织运行维护Orderer服务中,我们已经完成了使用提供 TLS-CA 服务的 council ...
- HyperLedger Fabric 1.1 手动部署单机单节点
手动部署单机单节点 之前发布过官方的e2e部署方案,由于环境或是访问权限等各种问题,还是有相当一部分码友无法成功跑起来,故此,本章将来一次纯手动操作的集群部署. 主要需要的步骤如下: 1:环境整理 2 ...
- 用Java为Hyperledger Fabric(超级账本)开发区块链智能合约链代码之部署与运行示例代码
部署并运行 Java 链代码示例 您已经定义并启动了本地区块链网络,而且已构建 Java shim 客户端 JAR 并安装到本地 Maven 存储库中,现在已准备好在之前下载的 Hyperledger ...
- Centos7 HyperLedger Fabric 1.4 生产环境部署
Kafka生产环境部署案例采用三个排序(orderer)服务.四个kafka.三个zookeeper和四个节点(peer)组成,共准备八台服务器,每台服务器对应的服务如下所示: kafka案例网络拓扑 ...
- 在Ubuntu中部署并测试HyperLedger Fabric 0.6
最近开始研究区块链,对这个新兴的技术有了基本概念上的了解,所以打算基于一个开源项目做做实验.如果是做数字货币,那么比特币的源代码是最好的了,不过这算是区块链1.0吧,已经有很多改进的竞争币和山寨币出来 ...
- Hyperledger fabric 1.3版本的安装部署(原创多机多Orderer部署
首先,我们在安装前,要考虑一个问题 Hyperledger Fabric,通过指定的节点进行背书授权,才能完成交易的存储 延伸开来,就是为了实现容错.高并发.易扩展,需要zookeeper来选择排序引 ...
- HyperLedger/Fabric SDK使用Docker容器镜像快速部署上线
HyperLedger/Fabric SDK Docker Image 该项目在github上的地址是:https://github.com/aberic/fabric-sdk-container ( ...
随机推荐
- ajax配合art-template模板引擎的使用
最近才接触js的模板引擎听说相比以前使用的js foreach加载后台返回的json数据简便很多而且效率方面也很不错.今天自己玩了一下 后台使用的是.net mvc,数据库脚本就不提供了,返回的Jso ...
- 静态代理,动态代理和CGLIB代理模式
代理模式 一.概述 代理是一种模式,提供了对目标对象的间接访问方式,即通过代理访问目标对象.如此便于在目标实现的基础上增加额外的功能操作,前拦截,后拦截等,以满足自身的业务需求,同时代理模式便于扩展目 ...
- toad for oracle 小技巧
在SQL*LOADER 工具上(或者称为SQLLDR,读为:“sequel loader”),因为它仍然是装载数据的主要方法,SQLLDR 能够在极短的时间内装 载庞大数量的数据. 我也是初使用,理解 ...
- MYSQL JSON字段操作
create CREATE TABLE t_test ( salary_data json NULL COMMENT 'JSON类型字段' ); -- insert INSERT INTO t_tes ...
- 【软件安装】CentOS7安装Tengine_2_3_2(Nginx 1_17_0)
简单比较一下Tengine 和Nginx 背景 使用最新的软件,可以处理一些bug,文章对CentOS6不做介绍(不会用) 推荐使用Tengine,理由是淘宝再用,兼容 Nginx 可以随时切换 Te ...
- C++语法小记---友元
友元函数 延续C语言的结构体编程方式,直接访问类的私有成员,提高效率 友元分为函数友元和类友元 友元函数可以访问类的所有成员 友元类的所有成员函数都是友元函数 友元不具备传递性 友元函数和类的成员函数 ...
- 10种常见OOM分析——手把手教你写bug
点赞+收藏 就学会系列,文章收录在 GitHub JavaKeeper ,N线互联网开发必备技能兵器谱,笔记自取 在<Java虚拟机规范>的规定里,除了程序计数器外,虚拟机内存的其他几个运 ...
- 题解 CF938G 【Shortest Path Queries】
题目让我们维护一个连通无向图,边有边权,支持加边删边和询问从\(x\)到\(y\)的异或最短路. 考虑到有删边这样的撤销操作,那么用线段树分治来实现,用线段树来维护询问的时间轴. 将每一条边的出现时间 ...
- Nexus安装与迁移
Maven registry(maven私有仓库) 配置Java export JAVA_HOME=/software/jdk1.7.0_79 export JRE_HOME=${JAVA_HOME} ...
- bootstrap-treeview 研究一下
一直以来都是拿来主义,现在正好有空,也正好用到,准备好好研究下bootstrap-treeview. 实现目标:可搜索,可复选选中的权限控制菜单项. 研究失败 转 jstree