====== 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 ==== https://golang.google.cn/doc/install https://mirrors.tuna.tsinghua.edu.cn/help/docker-ce https://www.runoob.com/docker/ubuntu-docker-install.html https://hlf.readthedocs.io/en/latest/prereqs.html