AI摘要:本文介绍了在Ubuntu 18.04系统环境下搭建Hyperledger Fabric的方法。首先安装Go语言环境,然后安装Docker和Docker-compose。接着从GitHub上下载Fabric源码,并切换到v1.0.0版本。最后,拉取Fabric Docker镜像并启动示例网络。文章还提供了一些常见的bug fix,如修改配置文件、解决权限问题和重启网络。
Powered by AISummary and MoonShot KimiChat.
系统环境:ubuntu18.04
安装Go语言环境
首先到https://golang.google.cn/dl/下载安装包并解压
tar -xvf go1.10.linux-amd64.tar.gz
sudo mv go /usr/local
编辑环境变量:
vim ~/.profile
在环境变量中增加如下几行:
export PATH=$PATH:/usr/local/go/bin
export GOROOT=/usr/local/go
export GOPATH=$HOME/go
export PATH=$PATH:$HOME/go/bin
:wq保存并退出,回到命令行状态即刻应用更改
source ~/.profile
在Home目录下创建go文件夹
mkdir go
安装Docker
安装Docker的方法有多种,使用apt-get安装的版本较低。一些教程上的安装方法不适合国内环境
更新源:
sudo apt-get update
添加使用 HTTPS 传输的软件包以及 CA 证书:
sudo apt-get install apt-transport-https ca-certificates curl software-properties-common
添加软件源的GPG密钥(此处用中科大的源):
curl -fsSL https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
向 source.list 中添加 Docker 软件源:
sudo add-apt-repository "deb [arch=amd64] https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu \
$(lsb_release -cs) stable "
安装和启动docker-ce:
sudo apt-get update
sudo apt-get install docker-ce
sudo systemctl enable docker
sudo systemctl start docker
增加docker用户组:
sudo groupadd docker
sudo usermod -aG docker $USER
安装Docker-compose(需要安装好pip工具):
sudo pip install docker-compose
可以使用docker version命令查看版本
Tip:使用阿里云加速
拉取官方镜像时由于docker官网连接速度较慢,可以使用阿里云的镜像。
具体操作方法是到 https://cr.console.aliyun.com/#/accelerator 申请,需要阿里云账号(emmm...淘宝账号...)
之后会看到如下图所示:
复制加速地址并执行以下命令:
$sudo mkdir -p /etc/docker
$sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["加速地址"]
}
EOF
$sudo systemctl daemon-reload
$sudo systemctl restart docker
Fabric源码下载
需要安装git工具
mkdir -p ~/go/src/github.com/hyperledger
cd ~/go/src/github.com/hyperledger
git clone https://github.com/hyperledger/fabric.git
切换到v1.0.0版本:
cd ~/go/src/github.com/hyperledger/fabric
git checkout v1.0.0
拉取Fabric Docker镜像:
cd ~/go/src/github.com/hyperledger/fabric/examples/e2e_cli/
source download-dockerimages.sh -c x86_64-1.0.0 -f x86_64-1.0.0
启动示例网络:
./network_setup.sh up
当这个象征胜利的图案出现时:
恭喜我们跳入了这个巨坑!
如果没有...看看下面的bug fix吧qwq
Bug fix 1:
如果出现以下错误:
Error: Error endorsing chaincode: rpc error: code = Unknown dest = error starting container: API error (404): {"message": "network e2e2ecli_default not found"}
Chaincode instanttiation on PEER2 on channel 'mychannel' failed
是由于相应配置文件的bug导致,需要做的修改是打开当前目录下 base/peer-base.yaml
vim base/peer-base.yaml
将其中的
- CORE_VM_DOCKER_HOSTCONFIG_NETWORKMODE=e2ecli_default
改为
- CORE_VM_DOCKER_HOSTCONFIG_NETWORKMODE=e2e_cli_default
Bug fix 2:
如果出现以下问题:
WARNING: Error loading config file: .../.docker/config.json: permission denied
权限问题...第一次用sudo su跑起来吧,之后亲测非sudo也可以跑
Bug fix 3:
重启大法好...
./network_setup.sh down
./network_setup.sh up
没有评论 T^T