Hyperledger Fabric1.4超详细环境搭建 搭建不出来本博主倒立写代码

Posted 林中有神君

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Hyperledger Fabric1.4超详细环境搭建 搭建不出来本博主倒立写代码相关的知识,希望对你有一定的参考价值。

导语:在fabric环境配置过程中,出错是很正常的事情,我每踩过的一个坑,都是我们成功路上的垫脚石,当然,我希望我踩过的坑,你们能跨过去

1、手动配置阿里的下载源

vim /etc/apt/sources.list

2、输入以下内容,保存退出

deb http://mirrors.aliyun.com/ubuntu/ xenial main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ xenial main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse

3、更新下载源

sudo apt-get update

4、更新所有软件

sudo apt-get upgrade

5、切换到home目录下(这里有过大数据基础的应该都会,如果不会可以联系博主)

cd $HOME

下载最新版本的go1.14.6.linux-amd64.tar.gz到Ubuntu系统中,下载地址https://studygolang.com/dl

6、将压缩包解压到/usr/local目录下

tar -zxvf /home/wyg/go1.14.6.linux-amd64.tar.gz -C /usr/local

7、配置go的环境变量

vim /etc/profile

添加以下内容,保存退出

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

8、使环境变量生效

source /etc/profile

9、查看版本

go version

10、安装 curl工具:

sudo apt-get install -y curl

11、安装GPG证书

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

12、写入软件源信息

 sudo add-apt-repository "deb [arch=amd64]http://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"

13、再次更新下载源:(注意这里有个坑,如果报错,打开sources.list文件里倒数第二行中括号外面应该有个空格,加上空格保存退出)

sudo apt-get update

14、安装最新版本的Docker CE:

sudo apt-get -y install docker-ce

15、将当前用户加入docker用户组:

sudo gpasswd -a $USER docker

16、更新docker用户组:

newgrp docker

17、验证docker:

docker -v 
docker ps -a

18、docker设为开机自启动:

sudo systemctl enable docker

19、将docker镜像库更改为国内的地址,编辑/etc/docker/daemon.json文件:

vim /etc/docker/daemon.json

20、添加以下内容

{"registry-mirrors": [ "https://registry.docker-cn.com", "https://cr.console.aliyun.com", "http://hub-mirror.c.163.com" ]}

21、最后重启服务:

sudo systemctl daemon-reload 
sudo systemctl restart docker

22、安装docker-compose

sudo apt install docker-compose

23、检查

docker-compose -v

24、拉取fabric 源码,首先创建文件夹

cd $HOME 
mkdir -p go/src/github.com/hyperledger/ 
cd go/src/github.com/hyperledger/

25、从github上拉取fabric的源码:

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

26、切换到fabric 1.4 版本:

cd fabric/ 
git checkout release-1.4

27、下载docker 镜像 和 fabric-samples:(这里如果出错就把拉取fabric源码重新拉取)

cd scripts/ 
./bootstrap.sh -b

28、编译fabric源码得到相关的二进制组件(需有golang语言环境支持)

cd $GOPATH/src/github.com/hyperledger/fabric/ 
make release 
cd release/linux-amd64/bin 
ls

29、刚才执行./bootstrap.sh -b 命令时,会在scripts目录下生成fabric-samples,将fabric- samples放置到home目录下:

cd $HOME/go/src/github.com/hyperledger/fabric/scripts 
mv ./fabric-samples $HOME/

30、在fabric-smaples目录下新建bin目录:

cd $HOME/fabric-samples 
mkdir -p bin/

31、将fabric的二进制组件复制到fabric-samples的bin目录下:

mv $HOME/go/src/github.com/hyperledger/fabric/release/linux-amd64/bin/* $HOME/fabric-samples/bin/

32、将fabric二进制文件配置到环境变量中:

vim /etc/profile

33、文件中最后添加以下内容:

export PATH=$PATH:$HOME/fabric-samples/bin

34、更新文件

source /etc/profile

35、重启电脑

36、去到fabric-samples下的first-network目录下:

cd $HOME/fabric-samples/first-network

37、执行脚本:

./byfn.sh up

38、运行结果

这就是成功了。

39、如果最后一步出错。请输入以下命令

./byfn.sh -m restart -c mychannel

可能出现此类错误的原因是:由于在本机尝试过fabric的e2e_cli,fabric-samples的first-network启动部署测试,多个启动时未正常关闭,根源是由于有一个已经存在的channel,阻止进一步的执行而引起的(如果还是挂,就继续执行)

路漫漫其修远兮,吾将上下而求索

如果能帮助到各位,荣幸之至

以上是关于Hyperledger Fabric1.4超详细环境搭建 搭建不出来本博主倒立写代码的主要内容,如果未能解决你的问题,请参考以下文章

濡備綍鍦╳indows10涓婇潰杩愯HyperLedger Fabric1.4

kafka集群环境部署fabric1.4.6

Hyperledger Fabric - 如何在每次区块链网络测试后清除 DEV 环境?

Fabric1.4 编写链码下

Fabric1.4.1视频教程即将推出

Fabric1.4 beego-docker部署