(为了帮助没有linux基础的铁子们,我写的文章看起来可能会比较啰嗦)
阿里云服务器的Ubuntu自带Python2.7,而后续要用的docker-compose需要Python3的支持,所以这里要切换版本。
注意按照上文操作时,需要仔细留意作者所说的话,不要无脑复制粘贴指令。
https://blog.csdn.net/u014775723/article/details/85213793
Fabric的节点通过Docekr容器来运行,需要预装Docker、Docker-compose、Go语言。
安装docker,参考:
https://blog.csdn.net/weixin_44667935/article/details/105432097
安装docker-compose可以不用上面博客中的方法,直接:
apt install docker-compose
查看docker和docker-compose版本以验证是否安装成功
docker version
docker-compose version
(如果docker可以查到,而docker-compose明明下载了却查不到,则说明docker安装有问题,需要删掉重新安装)
首先使用wget+go版本url地址去下载go压缩包:
wget https://dl.google.com/go/go1.13.4.linux-amd64.tar.gz
下载完毕对压缩包解压,并移动到/usr/local目录下:
tar -xvf go1.13.4.linux-amd64.tar.gz
mv go /usr/local
其次修改根目录下.profile文件:
cd ~
vim .profile
#必须是在~目录下,否则会在当前目录下新建.profile,后续操作就没用了。
#复制以下内容,按i,粘贴到.profile文件末尾
export GOROOT=/usr/local/go
export GOPATH=/home/go
export PATH=$PATH:/usr/local/go/bin
#按esc 输入 :wq! 进行保存
#最后执行.profile
source .profile
最后要到/home目录下新建go文件夹,用来存放后续fabric源码。
cd /home
mkdir go
cd go
mkdir pkg src bin
#在go的src目录下执行
git clone https://github.com/hyperledger/fabric.git
如果git clone速度过慢可以参考这篇博客:
https://blog.csdn.net/zwkkkk1/article/details/94476963
源码下载完毕后,进入fabric目录将版本切换至fabric1.4.3:
#在fabric目录下执行
cd /home/go/src/fabric
git checkout v1.4.3
3.2.1
在 fabric/scripts 编辑bootstrap.sh 脚本(建议先把原本自带的bootstrap.sh用cp备份一下),删除bootstrap.sh 中的samplesInstall() 和 binariesInstall() 两个方法,保存退出后把bootstrap.sh移动到fabric同级目录。
vim bootstrap.sh
3.2.2
获取fabric镜像服务
wget https://github.com/hyperledger/fabric/releases/download/v1.4.4/hyperledger-fabric-linux-amd64-1.4.4.tar.gz
wget https://github.com/hyperledger/fabric-ca/releases/download/v1.4.4/hyperledger-fabric-ca-linux-amd64-1.4.4.tar.gz
如果特别慢得话可以用WinSCP,复制网址到浏览器,先下载到本机再用WinSCP直接拖拽到服务器上,然后通过命令移动到/home/go/src目录下,就可以了。
通过tar指令解压到/home/go/src目录后(和fabric同级目录),bin目录下会出现以下结果,config目录会出现下下结果
cd /home/go/src#在fabric的同级目录下获取fabric-samples,如果本来就在此目录下,可以跳过此步骤
git clone https://github.com/hyperledger/fabric-samples.git
cd fabric-samples
git checkout v1.4.3
#把这个版本也改成1.4.3
将bin和config复制到fabric-samples目录下
cd /home/go/src#如果本来就在此目录下,可以跳过此步骤
cp -r bin/ fabric-samples/
cp -r config/ fabric-samples/
使用 ./ 执行之前编辑过的bootstrap.sh
./bootstrap.sh 1.4.3 1.4.3 0.4.15
使用docker images查看镜像是否拉取成功
最后把fabric-samples的bin加入路径PATH
vim /etc/profile
#在profile最后加上
export PATH=$PATH:$GOROOT/bin:$GOPATH/bin:/home/go/src/fabric-samples/bin
#保存退出后执行
source /etc/profile
首先打开下面的网址,登录阿里云,获取加速器地址
https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors
将加速器地址写入到下面的代码中,并重新启动docker
mkdir -p /etc/docker
tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["上图红框中的加速器地址"]
}
EOF
systemctl daemon-reload
systemctl restart docker
cd /home/go/src/fabric-samples/first-network
#进入first-network目录后执行启动文件
./byfn.sh up
如果顺利执行到END,则代表fabric环境搭建完毕。
如果报错error getting endorser client for channel,先把上面的channel关闭,再编辑resolv.conf
./byfn.sh down
vim /etc/resolv.conf
把这一行注释掉,options timeout:2 attempts:3 rotate single-request-reopen前面加个 # 即可。
遇到其他问题可以参考:
https://blog.csdn.net/Doudou_Mylove/article/details/103903800
最后再试一次能否启动成功,最后channel一定要记得关!!!