Ubuntu18.04配Hyperledger Fabric1.4环境

时间秒杀一切 提交于 2020-11-30 01:00:47

Ubuntu18.04配Hyperledger Fabric1.4环境

参照官方文档(比较容易失败)

  • 查看docker版本(是否安装)

具体安装步骤可以百度。

docker --version

docker-compose --version
  • 安装Go,并且配置环境变量。

环境变量在/etc/profile,末尾加上一点东西。

export GOPATH=$HOME/go
export PATH=$PATH:$GOPATH/bin
  • 安装nodejs(这一步不稳定)
npm install npm@5.6.0 -g
  • 安装python
sudo apt-get install python

下面的不好成功,需要稳定的VPN

  • 安装最新版的hyfa镜像(现在版本应该是2.0)
curl -sSL http://bit.ly/2ysbOFE | bash -s
  • 制定安装1.4.3版本的镜像
curl -sSL http://bit.ly/2ysbOFE | bash -s -- 1.4.3 1.4.3 0.4.15

自己整理(从此处开始)

  • 更新系统软件
sudo apt-get update

安装git和vim

  • 安装git
sudo apt install git
  • 安装vim
sudo apt-get install vim

更换国内源
参考链接1
参考链接2

安装docker

sudo apt install docker.io

设成非root用户也能执行docker,将普通用户组加入docker组

sudo usermod -aG docker 你的用户名 (重启生效)
  • 安装docker-compose
sudo apt install docker-compose

允许其他用户执行compose相关命令,重启生效。

sudo chmod +x /usr/share/doc/docker-compose

安装Go

官网地址

一般是自动下载到download文件夹,将其解压缩到/usr/local/

sudo tar  -zxvf ~/Downloads/go1.11.11.linux-amd64.tar.gz -C /usr/local/

修改环境变量

sudo vim /etc/profile

如果这一步修改后保存不了,就先sudo su进入root,再重新进入进行修改。

修改内容:

在文件的最后加上

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

保存修改:

source /etc/profile

检查版本:

go version

node和npm安装

查看自己的linux的版本,一般都是64位。

uname -a

进入nodejs官网进行下载。下完一般是在download文件夹下。

解压,并将其转移到指定的路径。(我这里是/usr/local)

sudo mv node-v12.17.0-linux-x64 /usr/local

查看node-v12.17.0-linux-x64目录下有没有node和npm文件,有的话执行软连接(两个地址中间的空格不能少)。

sudo ln -s /usr/local/node-v12.17.0-linux-x64/bin/node /usr/local/bin
sudo ln -s /usr/local/node-v12.17.0-linux-x64/bin/npm /usr/local/bin

如果因为版本问题软连接错误了只需要把 /usr/local/bin 中的构建了错误的软连接的文件删除,再重新装即可。

查看node和npm版本

node -v
npm -v

拉取fabric源码

  • 创建一个空目录
mkdir -p ~/go/src/github.com/hyperledger
  • 进入该目录
cd ~/go/src/github.com/hyperledger
  • 拉取源码(因为github上拉取有点慢,我转存到了码云上)
git clone https://gitee.com/tyzhu/fabric.git
  • 查看并切换当前分支(后面切换分支也是这样)
cd ./fabric

git branch -a

git checkout v1.4.0

拉取镜像

cd scripts

git clone https://gitee.com/tyzhu/fabric-samples.git

cd ./fabric-samples

切换分支

git branch -a

git checkout v1.4.0

下载可执行二进制文件

两个二进制文件

hyperledger-fabric-linux-amd64-1.4.0.tar
hyperledger-fabric-ca-linux-amd64-1.4.0.tar

下载的 hyperledger-fabric-linux-amd64-1.4.0.tar 压缩包内有 bin 和 config 两个文件夹,hyperledger-fabric-ca-linux-amd64-1.4.0.tar 压缩包内有 bin 文件夹,将两个 bin 文件夹内的二进制文件汇总在一个 bin 文件夹内。 最后将 bin 和 config 文件夹复制到 fabric-samples 文件夹内。

百度云链接(提取码:lw36)

下载Docker镜像(待实验)

sudo mkdir -p /etc/docker
sudo vim /etc/docker/daemon.json

将以下内容添加到json文件中

{
    "registry-mirrors": ["https://obou6wyb.mirror.aliyuncs.com"]
}

重新启动docker

sudo systemctl daemon-reload
sudo systemctl restart docker

打开bootstrap.sh脚本

go/src/github.com/hyperledger/fabric/scripts路径下

sudo vim bootstrap.sh

看到打开的文件结尾的内容为:

if [ "$SAMPLES" == "true" ]; then
  echo
  echo "Installing hyperledger/fabric-samples repo"
  echo
  samplesInstall
fi
if [ "$BINARIES" == "true" ]; then
  echo
  echo "Installing Hyperledger Fabric binaries"
  echo
  binariesInstall
fi
if [ "$DOCKER" == "true" ]; then
  echo
  echo "Installing Hyperledger Fabric docker images"
  echo
  dockerInstall
fi

我们将前面 sampleInstallbinariesInstall 的过程给注释掉,变为:

#  :if [ “$SAMPLES” == “true” ]; then
#  echo
#  echo "Installing hyperledger/fabric-samples repo"
#  echo
#  samplesInstall
#fi
#if [ "$BINARIES" == "true" ]; then
#  echo
#  echo "Installing Hyperledger Fabric binaries"
#  echo
#  binariesInstall
#fi
if [ "$DOCKER" == "true" ]; then
  echo
  echo "Installing Hyperledger Fabric docker images"
  echo
  dockerInstall
fi

然后执行该 bootstarp.sh 脚本

sudo  ./bootstrap.sh

测试环境是否能够安装成功

切换文件夹

cd ./fabric-samples/first-network/
./byfn.sh up

如果最后出现end就算成功。

看完以后务必记得关闭网络,不然后面可能会出现问题。

./byfn.sh down

几个链码例子的位置(Go)

cd go/src/github.com/hyperledger/fabric/examples/chaincode/go
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!