这两天一直再配Hyperledger Fabric1.4的环境,找了很多资料,期间因为墙的原因找了很多博客的解决办法终于搭建成果,特此记录下来避免以后搭建出错。

文章目录

  • 环境
  • 步骤
    • 1. ubuntu 更改国内源:
    • 2.安装必要的软件
      • 2.1 安装 git、curl
      • 2.2 golang的安装和配置
      • 2.3 docker的安装
      • 2.4 docker-compose的安装
    • 3. 配置Fabric并配置
      • 3.1 下载fabric和fabric-sample
      • 3.2 下载 `hyperledger-fabric-linux-amd64-1.4.0.tar` `hyperledger-fabric-ca-linux-amd64-1.4.0.tar`
      • 3.3 执行bootstrap.sh脚本
      • 3.4 测试

环境

VMware 15

Ubuntu:18.04-desktop

Fabric: 1.4.0

步骤

1. ubuntu 更改国内源:

  1. 备份 /etc/apt/sources.list

    sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
    
  2. 用vim 打开sources.list文件 清空之前的所有的内容在写入阿里源

    # 打开sources.list文件
    sudo vim /etc/apt/sources.list
    # 若提示没有 下载vim科研ubuntu自带的编辑器打开
    sudo gedit /etc/apt/sources.list
    # 或者下载vim
    sudo apt install vim
    
    # 添加阿里源
    deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
    deb http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
    deb http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
    deb http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
    deb http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
    deb-src http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
    deb-src http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
    deb-src http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
    deb-src http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
    deb-src http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
    
  3. 更新源

    sudo apt-get update
    sudo apt-get upgrade
    

2.安装必要的软件

2.1 安装 git、curl

sudo apt install git
sudo apt install curl

2.2 golang的安装和配置

下载地址:https://studygolang.com/dl 可在这个网站看golang的最新版本 之后输入命令下载

cd /opt
sudo wegt https://studygolang.com/dl/golang/go1.14.linux-amd64.tar.gz# 下载过后解压
tar -zxvf go1.14.linux-amd64.tar.gz
  1. 配置golang环境

    用 vim 打开 /etc/profile 文件

    sudo vim /etc/profile
    

    在文件最下方写入

    export GOROOT=/opt/go
    export PATH=$PATH:$GOROOT/bin
    export GOPATH=$HOME/goproject
    

    注:若没有创建goproject文件夹需要创建

    cd ~
    mkdir goproject
    

    配置好之后 注销一下(重新登录)系统 在输入

    go version
    

    出现go的版本号 即证明golang配置成功

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jvtxnwTC-1584706471581)(C:\Users\JSM\AppData\Roaming\Typora\typora-user-images\image-20200320085703218.png)]

2.3 docker的安装

若安装过旧版本的需要卸载没有则跳过

sudo apt remove docker docker-engine docker.io

准备安装:sudo apt update

下载相关工具:

sudo apt-get install \apt-transport-https \ca-certificates \software-properties-common

添加官方密钥:

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

设立仓库:

sudo add-apt-repository \"deb [arch=amd64] https://download.docker.com/linux/ubuntu \$(lsb_release -cs) \stable"

安装docker-ce

sudo apt-get update
sudo apt-get install docker-ce

添加阿里云的Docker Hub镜像

sudo mkdir -p /etc/docker
sudo vim /etc/docker/daemon.json

将下列内容写入daemon.json文件中,并保存退出

{"registry-mirrors": ["https://obou6wyb.mirror.aliyuncs.com"]
}

执行:

sudo systemctl daemon-reload
sudo systemctl restart docker

添加当前用户权限

sudo usermod -aG docker XXX  (XXX为当前用户名)
sudo chmod -R 777 /var/run/docker.sock

输入:

docker version

出现:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7CLemH1c-1584706471583)(C:\Users\JSM\AppData\Roaming\Typora\typora-user-images\image-20200320090743690.png)]

安装完毕

2.4 docker-compose的安装

安装:

sudo apt-get install python-pip
sudo pip install docker-compose

测试:

docker-compose version

出现:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-FbKY9NRd-1584706471583)(C:\Users\JSM\AppData\Roaming\Typora\typora-user-images\image-20200320091028548.png)]

安装完毕

3. 配置Fabric并配置

3.1 下载fabric和fabric-sample

创建项目目录:

mkdir -p $GOPATH/src/github.com/hyperledger/
cd $GOPATH/src/github.com/hyperledger/

克隆Fabric源码 这里直接下载github上的源码非常慢所以要用到码云做中转

具体细节请看:https://www.bilibili.com/video/av94251133?from=search&seid=1298070344372674231

这里默认已经下载好fabric的源码

进入到 fabric的目录 并改变版本

cd fabric
git checkout v1.4.0

重点:目前很多教程会 直接运行 bootstrap.sh脚本,但是现在这样做90%会失败,所以我们要更改bootstrap.sh中的内容把容易失败的部分去掉 然后手动安装

首先 用克隆 fabric的方法克隆 fabric-samples 将fabric-samples克隆到与fabric同级的目录

到这一步默认已经克隆完成 fabric-samples项目

进入到 fabric-samples的目录 并改变版本

cd fabric-samples
git checkout v1.4.0

3.2 下载 hyperledger-fabric-linux-amd64-1.4.0.tar hyperledger-fabric-ca-linux-amd64-1.4.0.tar

下载两个可执行文件

hyperledger-fabric-linux-amd64-1.4.0.tar hyperledger-fabric-ca-linux-amd64-1.4.0.tar

下载的 hyperledger-fabric-linux-amd64-1.4.0.tar 压缩包内有 bin 和 config 两个文件夹,hyperledger-fabric-ca-linux-amd64-1.4.0.tar 压缩包内有 bin 文件夹,将两个 bin 文件夹内的二进制文件汇总在一个 bin 文件夹内。 最后将 bin 和 config 文件夹复制到 fabric-samples 文件夹内。

注:这两个文件可以根据fabric版本的不同下载不同的文件,至于怎么知道下载上述两个文件的版本需要看 bootstrap.sh这个文件

在fabric-samples/bin 和 fabric-samples/config文件下会有如下文件

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-lcrfAXGl-1584706471584)(C:\Users\JSM\AppData\Roaming\Typora\typora-user-images\image-20200320194429099.png)]

最后进入到fabric/scripts文件下,先备份bootstrap.sh脚本,之后更改 bootstrap.sh脚本

# 备份
cp bootstrap.sh bootstrap.sh.bak
vim bootstrap.sh

翻到最后会看到

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jfNnjm8b-1584706471585)(C:\Users\JSM\AppData\Roaming\Typora\typora-user-images\image-20200320193718506.png)]

删除下载fabric-sample和fabric二进制工具的代码,更改后的代码如图

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-PJ5mXApu-1584706471587)(C:\Users\JSM\AppData\Roaming\Typora\typora-user-images\image-20200320193433537.png)]

3.3 执行bootstrap.sh脚本

./bootstrap.sh

执行完成之后查看docker镜像

docker images

若出现下列镜像证明执行成功

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-gzmN5FmT-1584706471587)(C:\Users\JSM\AppData\Roaming\Typora\typora-user-images\image-20200320194056626.png)]

到这里Fabric的环境配置已经完成,接下来测试一下

3.4 测试

测试fabric是否配置成功

进入到 fabric-samples/first-network/中,然后运行启动脚本 byfn.sh

./byfn.sh up

看到如下界面:

输入 Y回车

等待一段时间会看到

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-C6extYzR-1584706471588)(C:\Users\JSM\AppData\Roaming\Typora\typora-user-images\image-20200320195448964.png)]

这证明fabric网络已经运行成功

接着关闭网络

./byfn.sh down

​ 最后如果你觉得我写的还可以的话,请鼓励一下下吧!!!

支付宝 微信

ubuntu18.04 快速搭建 Hyperledger Fabric超级账本框架相关推荐

  1. Hyperledger Fabric 超级账本的硬伤

    2019独角兽企业重金招聘Python工程师标准>>> Hyperledger Fabric 超级账本的硬伤 Hyperledger Fabric 超级账本的硬伤 Netkiller ...

  2. Hyperledger Fabric 超级账本实战项目(一、二)

    p1基础介绍 Fabric需要配置环境 hash概念:输入任何数据可以得到与其对应的hash值.发现不管data的长度是多少,它对应的hash长度是不变的:data也可以传空值,即空值也会对应一个ha ...

  3. Hyperledger Fabric 超级账本 Java 开发区块链环境构建

    面向 Java 开发人员的链代码简介 您听说过区块链超级账本Hyperledger Fabric?对Java开发人员有何用.我将分步展示用 Hyperledger Fabric v0.6来搭建开发环境 ...

  4. Hyperledger Fabric 超级账本 区块链技术 概述 优点

    超级账本概述 区块链的第一个也是最被广泛认可的应用是比特币,另一种加密货币以太坊采取了不同的方法,它集成了许多与比特币相同的特征,添加了智能合约来创建分布式应用程序的平台.比特币和以太坊属于区块链,我 ...

  5. HyperLedger Fabric - 超级账本(4)链码的概念与使用

    概念: Chaincode: 链上代码, 简称链码, 一般是指用户编写的应用代码 链码被部署在Fabric网络节点上, ​ Peer 节点 ​ – 背书节点 ​ – commit节点 ​ – Lead ...

  6. HyperLedger Fabric - 超级账本(2.2)启动网络 - 手动

    启动网络手动实现 实现步骤 生成组织关系和身份证书 确定是在 fabric-samples/first-network 路径下 $ cd hyfa/fabric-samples/first-netwo ...

  7. HyperLedger Fabric - 超级账本(6)转换配置添加组织到channel

    configtxlator转换配置/添加Org组织到channel 设置环境 进入到fabric-samples/first-network目录中, 执行.byfn.sh -m down关闭网络,清理 ...

  8. Linux搭建Hyperledger Fabric区块链框架 - Hyperledger Fabric模型概念

    企业选型的区块链底层技术 Hyperledger Fabric 概念 2015年,Linux基金会启动了Hyperledger项目,目标是发展跨行业的区块链技术. Hyperledger Fabric ...

  9. HyperLedger Fabric - 超级账本(8)Node测试

    node测试 关闭网络 $ sudo ./byfn.sh -m down 进入到fabric-samples/fabcar目录中 $ cd ../fabcar/ $ ls 如果是完整的环境,目录中应该 ...

最新文章

  1. jquery判断页面是否滑动到最底部
  2. VTK:可视化之CursorShape
  3. Apache Flink 零基础入门(十四)Flink 分布式缓存
  4. 自定义类型: 结构体,枚举,联合
  5. lvs-健康检查方式
  6. C#使用HTML文件中的file文件上传,用C#代码接收上传文件
  7. Linux+屏蔽脚本,Linux之劫持rm命令实现安全删除和屏蔽删除/、/*脚本
  8. 剑指offer面试题38. 字符串的排列(回溯)
  9. PHP echo 即时输出
  10. Java中文姓名拆分
  11. 好用的开源内网穿透工具NPS
  12. 谷歌chrome xp_什么是Google Chrome?
  13. ipad 的android模拟器,苹果IPAD模拟器(iPadian)
  14. excel学习1:合并两个单元格,并把内容用符号隔开。
  15. 中国电信 smgp java_smgp.java~1~ 源代码在线查看 - 中国电信小灵通短信平台SP端程序 资源下载 虫虫电子下载站...
  16. 腹有诗书气自华,记2016年读过的好书
  17. QT绘制多边形-----五边形
  18. win10更新后任务栏卡死 的原因和解决办法
  19. lisp画弯箭头_在CAD中直接画箭头的命令的一个方法
  20. PHP数组排序函数 ksort() 、krsort

热门文章

  1. vue-动态加载图片
  2. 对8086的存储器扩展
  3. 王峰 阜阳师范学院计算机,《阜阳师范学院学报》投稿_学报投稿网
  4. python 期货交易接口_期货数据接口(期货数据接口 python)
  5. Python获取股票机构调研数据
  6. Windows进不去系统(蓝屏、黑屏、BIOS更新等无法开机的情况),试试这几种解决办法
  7. google爬取搜索结果
  8. 入侵oracle数据库时常用的操作命令整理
  9. Adobe软件老是出现要求输入密码的弹窗怎么解决?
  10. Java 之 Serializable 序列化和反序列化的概念,作用的通俗易懂的解释【转】