说明
由于环境配置比较依赖版本问题,在这过程中一直会出现各种报错。在师兄的试坑指导下,总算是完成了环境的搭建。
首先要感谢师兄以及各位博主大佬的文章,才能最终完成。也希望能帮助到有需要的朋友。
参考文章
https://blog.csdn.net/qq_40169189/article/details/108821131
https://blog.csdn.net/weixin_44667935/article/details/105432097
https://blog.csdn.net/peraglobal/article/details/106870655
https://blog.csdn.net/qq_23832313/article/details/83615334
环境配置
本文环境是基于在 Ubuntu16.04 版本搭建
可以从设置中更换国内源
安装所需工具
#先更新apt-get
sudo apt-get update
#安装vim
sudo apt-get install vim
#安装git
sudo apt-get install git
#安装curl
sudo apt-get install curl
#安装wget
sudo apt-get install wget
安装GO
下载安装包
cd ~
# 这里下载的是1.14版本
wget https://studygolang.com/dl/golang/go1.14.linux-amd64.tar.gz
# 解压
tar -xzf go1.14.linux-amd64.tar.gz
# 移动
sudo mv go /usr/local
配置环境
编辑配置文件
sudo vim /etc/profile
将环境变量加入
#可执行文件存放
export PATH=$PATH:/usr/local/go/bin
#安装目录
export GOROOT=/usr/local/go
#工作目录
export GOPATH=$HOME/go
#添加PATH路径
export PATH=$PATH:$HOME/go/bin
保存配置文件
source /etc/profile
# 出现go的版本号就表示go成功安装
go version
请确认source执行成功
如果没有成功,就把上述环境变量也加入home目录下的.bashrc文件
打开新终端输入 go version 来查看是否配置成功
建议可以重启虚拟机
安装Docker
卸载旧版本的Docker
sudo apt-get remove docker docker-engine docker.io
下面来安装Docker
sudo apt-get 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 -
#加入apt仓库中
sudo add-apt-repository \
"deb [arch=amd64] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) \
stable"
#下载docker-ce
sudo apt-get update
#apt-get update是同步 /etc/apt/sources.list 和 /etc/apt/sources.list.d 中列出的源的索引,这样才能获取到最新的软件包。
sudo apt-get install docker-ce
完成上面操作之后输入
#查看版本信息
docker version
此时已经安装好Docker了
普通用户没有权限 ,我们需要添加权限
#创建docker组
sudo groupadd docker
#(XXX是当前用户名)
sudo usermod -aG docker XXX
下面添加阿里云的Docker镜像
sudo vim /etc/docker/daemon.json
#将以下内容写入daemon.json
{
"registry-mirrors": ["https://obou6wyb.mirror.aliyuncs.com"]
}
#接下来输入:
sudo systemctl daemon-reload
sudo systemctl restart docker
docker version
如果还出现权限不足的提示
输入
sudo chmod -R 777 /var/run/docker.sock
正确的结果:
Docker-compose安装
#运行以下命令下载最新版本的 docker-compose
sudo curl -L https://github.com/docker/compose/releases/download/1.18.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
#可能会因为网络的问题,下载出现错误,尝试多次运行此命令
#更改二进制文件的权限,使其能够运行
sudo chmod +x /usr/local/bin/docker-compose
#查看版本
docker-compose -version
#出现 docker-compose version 1.18.0, build 8dd22a9 就表示安装完成
fabric框架搭建
首先创建文件夹
cd ~
mkdir -p go/src/github.com/hyperledger/
#进入刚刚创建的文件夹内
cd go/src/github.com/hyperledger/
下载 fabric 源码
git clone https://github.com/hyperledger/fabric.git
将 fabric 切换至 1.4 版本
cd fabric
git branch -a
#这里选的1.4.2版本
git checkout v1.4.2
下载所需的镜像
#进入到指定目录
cd ~/go/src/github.com/hyperledger/fabric/scripts
#自动下载对应版本所需要的镜像
sudo ./bootstrap.sh #这里由于网络原因可能只下载了fabric-samples
如果没能把 fabric-samples 成功下载,可以去到官网下载
https://github.com/hyperledger/fabric-samples
将下载好的文件放在 “~/go/src/github.com/hyperledger” 目录下
我们把下载好的 fabric-samples 文件移动一下
sudo mv fabric-samples/ ~/go/src/github.com/hyperledger
下面手动下载 fabric 的二进制可执行文件和配置文件
wget https://github.com/hyperledger/fabric/releases/download/v1.4.2/hyperledger-fabric-linux-amd64-1.4.2.tar.gz
wget https://github.com/hyperledger/fabric-ca/releases/download/v1.4.2/hyperledger-fabric-ca-linux-amd64-1.4.2.tar.gz
#由于网络问题,命令可能会无法执行,可以在windows中访问上述两个链接先下载好,再传到Ubuntu中
#如果已经安装了Ubuntu tool就可以直接将windows中的文件复制到Ubuntu中
#解压
sudo tar xzvf hyperledger-fabric-linux-amd64-1.4.2.tar.gz -C $GOPATH/src/github.com/hyperledger/fabric-samples/
sudo tar xzvf hyperledger-fabric-ca-linux-amd64-1.4.2.tar.gz -C $GOPATH/src/github.com/hyperledger/fabric-samples/
#向/etc/profile中写入环境变量
export PATH=$GOPATH/src/github.com/hyperledger/fabric-samples/bin:$PATH
#使环境变量生效
source /etc/profile
下面下载Fabric的docker镜像
sudo ./bootstrap.sh -b -s
如果这里出现错误
在 “~/go/src/github.com/hyperledger/fabric-samples” 目录下,手动创建
sudo vim bootstrap.sh
将 https://github.com/hyperledger/fabric/blob/master/scripts/bootstrap.sh 中的内容复制、保存后退出
sudo chmod +x bootstrap.sh sudo ./bootstrap.sh 1.4.2 #由于网络的问题会出现报错,尝试多次,直至最终完成
输出结果:
到此,fabric 1.4的环境安装完成
启动第一个fabric网络
#进入first-network文件夹
cd ~/go/src/github.com/hyperledger/fabric-samples/first-network/
#创建第一个 channel
sudo ./byfn.sh -m generate -c mychannel
#执行命令启动
sudo ./byfn.sh up
如果最后输出内容为
说明我们成功搭建fabric网络
#最后执行以下命令关闭网络
sudo ./byfn.sh down
致谢
本文代码是参照https://blog.csdn.net/qq_40169189/article/details/108821131
感谢大佬!
其中有部分运行错误,所以加以修改,有些地方也给出了我的解决方案
最后再次感谢实验室的师兄以及实验室的同学!