【Fabric】fabric 1.4 环境搭建

fabric 1.4 环境搭建

这是我在学习时对照官方给出的安装方法总结出来的方法,本篇文章用于记录我的学习经验

使用系统为 Ubuntu16.04

更新源

sudo apt -y update

安装cURL

sudo apt -y install curl

安装docker 和 docker-compose

安装docker

sudo apt -y install docker.io

安装 docker-compose

sudo apt -y install docker-compose

安装Golang

由于接下来安装的fabric是 1.4 的版本,根据官方文档的要求需要安装 1.12 以上的 Golang 版本,所以这里就安装 1.13.4 的Golang(1.12也是可以的,我一开始是用1.12.9,但之后要用到 go mod 的时候会出问题,然后换成1.13.4就行了,所以还是用1.13以上吧)

wget https://golang.google.cn/dl/go1.13.4.linux-amd64.tar.gz

解压到 /user/local/

sudo tar -xzf go1.13.4.linux-amd64.tar.gz -C /usr/local/

配置环境变量

sudo gedit /etc/profile

这时候会打开一个文件
在文件的最后加入以下的内容

export GOROOT=/usr/local/go
export GOPATH=${HOME}/go
export PATH=$PATH:$GOROOT/bin:$GOPATH/bin

如下图
修改文件
然后保存并退出
然后重启系统

reboot # 这条命令是重启

安装fabric

在安装之前需要进行一些配置

创建docker用户组

sudo groupadd docker

将当前用户加入用户组

sudo gpasswd -a $USER docker

登录docker用户组

newgrp docker

创建目录并进入

mkdir -p ~/go/src/github.com/hyperledger
cd ~/go/src/github.com/hyperledger

由于国内网络原因,接下来的步骤会跟官方的不一样

拉取 fabric

git clone https://github.com/hyperledger/fabric

进入并切换分支到 1.4

cd ./fabric
git checkout release-1.4

执行脚本安装 docker 镜像

cd ./scripts
./bootstrap.sh -b

回到fabric目录下对fabric进行编译

cd ..
make release

将fabric-samples复制到hyperledger目录下

cd scripts/
cp -rf ./fabric-samples ../../

回到 fabric 目录下 并把 linux-amd64 下面的 bin 目录复制到 fabric 目录下和 fabric-samples 目录下

cd ..
cp -rf ./release/linux-amd64/bin ./
cp -rf ./release/linux-amd64/bin ../fabric-samples/

打开配置文件

sudo gedit /etc/profile

将最后一行的

export PATH=$PATH:$GOROOT/bin:$GOPATH/bin

改成以下内容

export PATH=$PATH:$GOROOT/bin:$GOPATH/bin:/home/$USER/go/src/github.com/hyperledger/fabric/bin:$GOPATH

如下图
修改文件

保存并退出然后重启

网络测试

重启完后进入到 fabric-samples/first-network 目录下准备测试网络

cd ~/go/src/github.com/hyperledger/fabric-samples/first-network

开启测试网络

./byfn.sh up

最后输出以下内容表示成功
网络开启成功

输入以下指令可以关闭测试网络

./byfn.sh down

我遇到过的报错

  • 在编译fabric时会编译失败,那有可能是go语言的问题,可以装回1.12的再试试,因为我装的时候用的就是1.12.9版本的,是后来写链码时go mod 用不了才换的 1.13.4

  • 启动网络的时候有可能启动不了,我遇到过的原因:

    • 镜像没有安装完整,可以用docker images这条命令查看docker images 命令的输出结果
    • 没在docker用户组内执行,用newgrp docker指令可以切换回docker用户组内
    • 没将 release/linux-amd64 中的 bin 目录复制到 fabric 或 fabric-samples 目录下,可以执行以下命令
    cd ~/go/src/github.com/hyperledger/fabric
    cp -rf ./release/linux-amd64/bin ./
    cp -rf ./release/linux-amd64/bin ../fabric-samples/
    
  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

JessPig

感谢您的支持

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值