ubuntu18.04 快速搭建 Hyperledger Fabric超级账本框架
这两天一直再配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 更改国内源:
备份 /etc/apt/sources.list
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
用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
更新源
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
配置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超级账本框架相关推荐
- Hyperledger Fabric 超级账本的硬伤
2019独角兽企业重金招聘Python工程师标准>>> Hyperledger Fabric 超级账本的硬伤 Hyperledger Fabric 超级账本的硬伤 Netkiller ...
- Hyperledger Fabric 超级账本实战项目(一、二)
p1基础介绍 Fabric需要配置环境 hash概念:输入任何数据可以得到与其对应的hash值.发现不管data的长度是多少,它对应的hash长度是不变的:data也可以传空值,即空值也会对应一个ha ...
- Hyperledger Fabric 超级账本 Java 开发区块链环境构建
面向 Java 开发人员的链代码简介 您听说过区块链超级账本Hyperledger Fabric?对Java开发人员有何用.我将分步展示用 Hyperledger Fabric v0.6来搭建开发环境 ...
- Hyperledger Fabric 超级账本 区块链技术 概述 优点
超级账本概述 区块链的第一个也是最被广泛认可的应用是比特币,另一种加密货币以太坊采取了不同的方法,它集成了许多与比特币相同的特征,添加了智能合约来创建分布式应用程序的平台.比特币和以太坊属于区块链,我 ...
- HyperLedger Fabric - 超级账本(4)链码的概念与使用
概念: Chaincode: 链上代码, 简称链码, 一般是指用户编写的应用代码 链码被部署在Fabric网络节点上, Peer 节点 – 背书节点 – commit节点 – Lead ...
- HyperLedger Fabric - 超级账本(2.2)启动网络 - 手动
启动网络手动实现 实现步骤 生成组织关系和身份证书 确定是在 fabric-samples/first-network 路径下 $ cd hyfa/fabric-samples/first-netwo ...
- HyperLedger Fabric - 超级账本(6)转换配置添加组织到channel
configtxlator转换配置/添加Org组织到channel 设置环境 进入到fabric-samples/first-network目录中, 执行.byfn.sh -m down关闭网络,清理 ...
- Linux搭建Hyperledger Fabric区块链框架 - Hyperledger Fabric模型概念
企业选型的区块链底层技术 Hyperledger Fabric 概念 2015年,Linux基金会启动了Hyperledger项目,目标是发展跨行业的区块链技术. Hyperledger Fabric ...
- HyperLedger Fabric - 超级账本(8)Node测试
node测试 关闭网络 $ sudo ./byfn.sh -m down 进入到fabric-samples/fabcar目录中 $ cd ../fabcar/ $ ls 如果是完整的环境,目录中应该 ...
最新文章
- jquery判断页面是否滑动到最底部
- VTK:可视化之CursorShape
- Apache Flink 零基础入门(十四)Flink 分布式缓存
- 自定义类型: 结构体,枚举,联合
- lvs-健康检查方式
- C#使用HTML文件中的file文件上传,用C#代码接收上传文件
- Linux+屏蔽脚本,Linux之劫持rm命令实现安全删除和屏蔽删除/、/*脚本
- 剑指offer面试题38. 字符串的排列(回溯)
- PHP echo 即时输出
- Java中文姓名拆分
- 好用的开源内网穿透工具NPS
- 谷歌chrome xp_什么是Google Chrome?
- ipad 的android模拟器,苹果IPAD模拟器(iPadian)
- excel学习1:合并两个单元格,并把内容用符号隔开。
- 中国电信 smgp java_smgp.java~1~ 源代码在线查看 - 中国电信小灵通短信平台SP端程序 资源下载 虫虫电子下载站...
- 腹有诗书气自华,记2016年读过的好书
- QT绘制多边形-----五边形
- win10更新后任务栏卡死 的原因和解决办法
- lisp画弯箭头_在CAD中直接画箭头的命令的一个方法
- PHP数组排序函数 ksort() 、krsort