用户工具

站点工具


development:fabric

Hyperledger Fabric

1 Go

1.1 下载安装

在Golang官网(https://golang.google.cn/dl/)下载linux版本的压缩文件,在终端切换目录至压缩文件所在目录(这里是Downloads),然后将压缩文件解压缩至usr/local目录下。命令如下:

cd Downloads
sudo tar -xzf go1.12.1.linux-amd64.tar.gz -C /usr/local

此时在usr/local下会生成一个go目录,可以通过ls命令查看:

cd /usr/local/go
ls

也可以用以下命令安装(ubuntu系统)

mkdir /usr/local/go
cd /usr/local/go
wget https://dl.google.com/go/go1.14.2.linux-amd64.tar.gz

1.2 配置环境变量

1.2.1 安装vim

在终端输入以下命令

sudo apt-get install vim
1.2.2 编辑home/.profile文件

先配置GOROOT,即go的安装目录,编辑$HOME/.profile文件。利用vim打开文件,按i进入编辑,加入如下命令,保存并退出。

export GOROOT="usr/local/go"

然后配置GOPAHT,GOPATH是go项目代码存放的地方,是我们自己定义的目录。对于Ubuntu系统,默认使用Home/go目录作为GOPATH。该目录下有三个子目录:src,pkg,bin。

export GOPATH=$HOME/go

配置GOBIN,并将GOBIN添加至环境变量中。

export GOBIN=$GOROOT/bin
export PATH=$PATH:$GOBIN

最后在终端中输入如下命令,使环境变量生效:

source .profile

2 docker

2.1 安装docker

2.1.1 下载安装

使用docker官网教程下载太慢,这里使用清华大学开源镜像,首先安装安装所需的依赖,在终端输入以下命令:

sudo apt-get install apt-transport-https ca-certificates curl gnupg2 software-properties-common

然后添加信任docker的GPG公钥:

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

然后添加软件仓库:

sudo add-apt-repository \
   "deb [arch=amd64] https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/ubuntu \
   $(lsb_release -cs) \
   stable"

最后安装最新版本的 Docker Engine-Community 和 containerd:

sudo apt-get install docker-ce docker-ce-cli containerd.io
2.1.2 配置用户组

添加$user到docker用户组,免除每次运行docker都需要使用sudo root权限,在终端输入以下命令:

sudo groupadd docker    
sudo usermod -aG docker ${USER}    
newgrp docker   
2.1.3 配置阿里云镜像加速服务

由于Docker镜像服务器在国外,所以下载速度非常缓慢甚至失败,因此我们需要配置阿里云镜像加速服务。进入阿里云官网注册登录,在搜索框中搜索容器镜像服务,选择镜像加速器,获取自己的加速器地址,根据提示,在终端输入以下命令:

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["你的加速器地址"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

使用以下命令测试docker是否安装成功:

docker run hello-world

2.2 安装docker-compose

在终端输入以下命令,安装1.25.4版本docker-compose:

sudo curl -L https://github.com/docker/compose/releases/download/1.25.4/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose

使用以下命令测试docker-compose是否安装成功:

docker-compose --version

3 fabric

首先下载fabric源码(fabirc v2.0),在终端输入以下命令:

cd /home/go/src/github.com/hyperledger/
git clone https://github.com/hyperledger/fabric.git	

然后切换目录至fabric/scripts下,运行bootstrap.sh脚本,此脚本有两个作用:

  • 克隆hyperledger/fabric-samples仓库
  • 下载一些必要的二进制文件(hyperledger-fabric-linux-amd64-2.0.0.tar.gz)

命令如下:

cd /home/go/src/github.com/hyperledger/fabric/scripts
./bootstrap.sh

由于墙的原因,可能导致如下报错,说明二进制文件下载失败(但一般fabric-samples可以下载成功)

==> There was an error downloading the binary file.
------> 2.0.0 platform specific fabric binary is not available to download <----

此时我们改为手动下载二进制文件,可以从我的百度云分享下载(https://pan.baidu.com/s/1ri8azrHUl1KNgxHon384jg,提取码:fhu2)。将hyperledger-fabric-linux-amd64-2.0.0.tar.gz(二进制文件)解压,将其中的config和bin文件夹拷贝至fabric根目录与fabric samples(在/fabric/scripts目录下)根目录下。切换到/fabric samples/first network目录,输入以下命令:

./byfn.sh up

当看到命令行如下显示时,表明fabric安装完成:

 ____    _____      _      ____    _____ 
/ ___|  |_   _|    / \    |  _ \  |_   _|
\___ \    | |     / _ \   | |_) |   | |  
 ___) |   | |    / ___ \  |  _ <    | |  
|____/    |_|   /_/   \_\ |_| \_\   |_|  

Build your first network (BYFN) end-to-end test

Channel name : mychannel
Creating channel...

注意,若运行byfn.sh脚本报错,错误信息如下:

ERROR! Fabric Docker image version of 1.4.4 does not match this newer version of BYFN and is unsupported. Either move to a later version of Fabric or checkout an earlier version of fabric-samples.

这表明fabric-samples版本与fabric docker镜像版本不匹配,可以将fabric-samples替换为1.4版本(百度云文件中有),再次运行byfn.sh脚本。

4 references

development/fabric.txt · 最后更改: 2023/11/10 12:13 由 127.0.0.1

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki