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 部署的更多相关文章

  1. hyperledger fabric部署总结

    之前在有道云笔记上分享过,但想想还是搬到这里来吧,以后统一方便整理自己的知识进入正题.... 之前在调研 hyperledger fabric,其实部署说明官网都有,只是东西都是国外的照着操作也会遇到 ...

  2. HyperLedger Fabric部署与链码解读

    1.Fabric简介 Fabric是超级账本中的一个项目,用以推进区块链技术.和其他区块链类似,它也有一个账本,使用智能合约,且是一个参与者可以分别管理自身交易的系统.它是一个联盟链.Fabric与其 ...

  3. Hyperledger Fabric 部署在多个主机上

    前言 在实验Hyperledger Fabric无排序组织以Raft协议启动多个Orderer服务.TLS组织运行维护Orderer服务中,我们已经完成了使用提供 TLS-CA 服务的 council ...

  4. HyperLedger Fabric 1.1 手动部署单机单节点

    手动部署单机单节点 之前发布过官方的e2e部署方案,由于环境或是访问权限等各种问题,还是有相当一部分码友无法成功跑起来,故此,本章将来一次纯手动操作的集群部署. 主要需要的步骤如下: 1:环境整理 2 ...

  5. 用Java为Hyperledger Fabric(超级账本)开发区块链智能合约链代码之部署与运行示例代码

    部署并运行 Java 链代码示例 您已经定义并启动了本地区块链网络,而且已构建 Java shim 客户端 JAR 并安装到本地 Maven 存储库中,现在已准备好在之前下载的 Hyperledger ...

  6. Centos7 HyperLedger Fabric 1.4 生产环境部署

    Kafka生产环境部署案例采用三个排序(orderer)服务.四个kafka.三个zookeeper和四个节点(peer)组成,共准备八台服务器,每台服务器对应的服务如下所示: kafka案例网络拓扑 ...

  7. 在Ubuntu中部署并测试HyperLedger Fabric 0.6

    最近开始研究区块链,对这个新兴的技术有了基本概念上的了解,所以打算基于一个开源项目做做实验.如果是做数字货币,那么比特币的源代码是最好的了,不过这算是区块链1.0吧,已经有很多改进的竞争币和山寨币出来 ...

  8. Hyperledger fabric 1.3版本的安装部署(原创多机多Orderer部署

    首先,我们在安装前,要考虑一个问题 Hyperledger Fabric,通过指定的节点进行背书授权,才能完成交易的存储 延伸开来,就是为了实现容错.高并发.易扩展,需要zookeeper来选择排序引 ...

  9. HyperLedger/Fabric SDK使用Docker容器镜像快速部署上线

    HyperLedger/Fabric SDK Docker Image 该项目在github上的地址是:https://github.com/aberic/fabric-sdk-container ( ...

随机推荐

  1. html2canvas 实现页面转图片并下载

    一 前言 最近做了一个周报,从不同的数据表抓取数据,然后展示到前端页面显示.这个过程不难,让我烦恼的是:要把周报的数据导出来,然后打印,打印也必须在一张纸上.想到这里,我整理了一下思绪,我要写几个存储 ...

  2. ATX学习(一)-atx-server

    今天无意中发现了ATX手机设备管理平台,瞬间勾引起了我极大的兴趣,这里对学习过程中的情况做个记录. 1.搭建环境 先按照作者步骤搭建环境出来吧,哇,突然发现ATX搭建环境很方便(一会就搭建好了)   ...

  3. split().reverse().join()代码解析

    split() 方法用于把一个字符串分割成字符串数组. reverse() 方法用于颠倒数组中元素的顺序. join() 方法用于把数组中的所有元素放入一个字符串.

  4. vue 应用 :关于 ElementUI 的 message 组件

    我们知道,这个东西的基本用法是这样的: this.$message({ message: '恭喜你,这是一条成功消息', type: 'success' }); 但是我觉得这样还是有点麻烦,所以我决定 ...

  5. 试一试 GraphQL

    GraphQL 简介 一种用于 API 的查询语言. GraphQL 既是一种用于 API 的查询语言也是一个满足你数据查询的运行时. GraphQL 对你的 API 中的数据提供了一套易于理解的完整 ...

  6. 47 张图带你 MySQL 进阶!!!

    我们在 MySQL 入门篇主要介绍了基本的 SQL 命令.数据类型和函数,在局部以上知识后,你就可以进行 MySQL 的开发工作了,但是如果要成为一个合格的开发人员,你还要具备一些更高级的技能,下面我 ...

  7. java 手机号码归属地查询

    下面是利用第三方接口实现手机号码归属地查询 (复制请标明出处或留言) package com.test.yyc; import java.io.BufferedReader; import java. ...

  8. .net core 使用 Serilog 作为日志提供者

    nuget引入 Serilog.AspNetCore Startup构造函数: public Startup(IConfiguration configuration) { Configuration ...

  9. C#串模板

    c# 6.0 的语言特性,功能类似string.formate,更方便的地方在于不要像format一样使用索引,可以直接使用变量. 使用方法如下: string name = "zhangs ...

  10. vue学习(七) v-model 双向数据绑定

    //html <div id="app"> <input type="text"v-model="msg" style=& ...