- 进入清华大学源 (https://mirrors.tuna.tsinghua.edu.cn/help/ubuntu/)
- 选择20.04版本的源码
- 打开虚拟机终端,进入到配置目录
$ cd /etc/apt
4. 编辑源
$ sudo cp sources.list sources_backup.list #备份源,复制sources.list文件并命名为sources_back.list $ sudo gedit sources.list #在打开的文件里用新复制的源替换原有的(把原有的删掉,粘贴新复制的)
5. 更新源
sudo apt update二、Fabric环境搭建 1. 安装git
安装git工具使用如下命令:
$ sudo apt update $ sudo apt install git2. 安装cURL
使用如下命令安装cURL:
$ sudo apt install curl3. 安装Docker
查看系统中是否已经安装Docker:
$ docker --version
使用如下命令安装Docker的最新版本:
$ sudo apt update $ sudo apt install docker.io
查看Docker版本信息:
$ docker --version4. 安装Docker-compose
确定系统中是否已安装docker-compose工具:
$ docker-compose --version
如系统提示未安装,则使用如下命令安装docker-compose工具:
$ sudo apt install docker-compose
安装成功后,查看Docker-Compose版本信息:
$ docker-compose --version
输出: docker-compose version 1.25.0, build unknown
5. 安装Golang安装WGET命令:
yum install wget
使用wget工具下载Golang的最新版本压缩包文件 go1.14.4.linux-amd64.tar.gz
$ wget https://dl.google.com/go/go1.14.4.linux-amd64.tar.gz
下载完成后,文件会保存在当前目录下。可以使用 ll 命令查看
使用 tar 命令将下载后的压缩包文件解压到指定的 /usr/local/ 路径下
$ sudo tar -zxvf go1.14.4.linux-amd64.tar.gz -C /usr/local/
配置环境变量:解压后,Golang可以让系统的所有用户正常使用, 所以我们使用 vim 文件编辑工具打开系统的 profile 文件进行编辑:
$ sudo vim /etc/profile
在profile文件最后添加如下内容:
export GOPATH=$HOME/go export GOROOT=/usr/local/go export PATH=$GOROOT/bin:$PATH
使用 source 命令,使刚刚添加的配置信息生效:
$ source /etc/profile
通过 go version命令验证是否成功:
$ go version6. 安装make
$ sudo apt install make7. 安装g++
$ sudo apt install g++8. 安装libltdl-dev 库
$ sudo apt-get install libltdl-dev三、以源码方式编译安装fabric1.4.0 1. 下载fabric组件版本 1.4.0
$ mkdir -p $GOPATH/src/github.com/hyperledger/ $ cd $GOPATH/src/github.com/hyperledger/ #从码云上克隆,基于1.4.0 来操作(注意:下面给的克隆地址可能会失效,如果失效,可以换为码云上的其他地址或者GitHub上的地址:https://github.com/hyperledger/fabric-samples.git) $ git clone -b v1.4.0 https://gitee.com/Hospital-Ledger/fabric-samples.git
注意:如果无法访问github网站,则应在在(/etc/)中的hosts文件修改github.com的动态ip
2. 下载fabric 1.4.0源码
$ cd $GOPATH/src/github.com/hyperledger/ #使用-b v1.4.0指定克隆版本,用国内镜像网站,可加快下载速度(注意:码云上的地址可能会失效,如果不能克隆,可以换为码云上的其他地址或者直接从GitHub上克隆:https://github.com/hyperledger/fabric.git) $ git clone -b v1.4.0 https://gitee.com/mirrors/hyperledger-fabric.git #把hyperledger-fabric改为fabric $ sudo mv hyperledger-fabric fabric3. 编译fabric 1.4.0
编译
$ cd fabric $ make release
查看是否编译成功
$ ll release/linux-amd64/bin/
应该可以查看到以下8个文件
configtxgen configtxlator cryptogen discover get-docker-images.sh idemixgen orderer peer4.下载fabric-ca 1.4.0源码
$ cd $GOPATH/src/github.com/hyperledger #使用-b v1.4.0指定克隆版本,用国内镜像网站,可加快下载速度(注意:码云上的地址可能会失效,如果不能克隆,可以换为码云上的其他地址或者直接从GitHub上克隆:https://github.com/hyperledger/fabric-ca.git) $ git clone -b v1.4.0 https://gitee.com/zhangsen999/fabric-ca.git5. 编译fabric-ca源码
$ cd fabric-ca $ make fabric-ca-server $ make fabric-ca-client6. 查看是否编译成功
$ ll bin/
应该可以看到以下2个文件:
fabric-ca-client
fabric-ca-server
7. 复制编译所得文件(否则网络不能启动)#在fabric-samples目录创建bin目录 $ cd $GOPATH/src/github.com/hyperledger/fabric-samples/ $ mkdir bin #复制编译fabric所得文件 $ cp $GOPATH/src/github.com/hyperledger/fabric/release/linux-amd64/bin/* $GOPATH/src/github.com/hyperledger/fabric-samples/bin/ #复制编译fabric-ca所得文件 $ cp $GOPATH/src/github.com/hyperledger/fabric-ca/bin/* $GOPATH/src/github.com/hyperledger/fabric-samples/bin/ #查看复制结果 $ ll bin/8.拉取 docker 镜像
- 登录阿里云容器服务:https://account.aliyun.com/login/login.htm?oauth_callback=https%3A%2F%2Fcr.console.aliyun.com%2Fcn-hangzhou%2Finstances%2Fmirrors
- 找到“镜像加速器”项
- 复制代码到终端执行即可
4. 执行以下命令拉取镜像:
$ export FABRIC_TAG=1.4.0 $ export CA_TAG=1.4.0 $ export THIRDPARTY_IMAGE_VERSION=0.4.14 $ docker pull hyperledger/fabric-peer:$FABRIC_TAG && docker pull hyperledger/fabric-orderer:$FABRIC_TAG && docker pull hyperledger/fabric-ca:$CA_TAG && docker pull hyperledger/fabric-tools:$FABRIC_TAG && docker pull hyperledger/fabric-ccenv:$FABRIC_TAG && docker pull hyperledger/fabric-baseimage:$THIRDPARTY_IMAGE_VERSION && docker pull hyperledger/fabric-baseos:$THIRDPARTY_IMAGE_VERSION && docker pull hyperledger/fabric-couchdb:$THIRDPARTY_IMAGE_VERSION && docker pull hyperledger/fabric-kafka:$THIRDPARTY_IMAGE_VERSION && docker pull hyperledger/fabric-zookeeper:$THIRDPARTY_IMAGE_VERSION
5. 将已下载的镜像标记为最新
$ docker tag hyperledger/fabric-peer:$FABRIC_TAG hyperledger/fabric-peer && docker tag hyperledger/fabric-orderer:$FABRIC_TAG hyperledger/fabric-orderer && docker tag hyperledger/fabric-ca:$CA_TAG hyperledger/fabric-ca && docker tag hyperledger/fabric-tools:$FABRIC_TAG hyperledger/fabric-tools && docker tag hyperledger/fabric-ccenv:$FABRIC_TAG hyperledger/fabric-ccenv && docker tag hyperledger/fabric-baseimage:$THIRDPARTY_IMAGE_VERSION hyperledger/fabric-baseimage && docker tag hyperledger/fabric-baseos:$THIRDPARTY_IMAGE_VERSION hyperledger/fabric-baseos && docker tag hyperledger/fabric-couchdb:$THIRDPARTY_IMAGE_VERSION hyperledger/fabric-couchdb && docker tag hyperledger/fabric-kafka:$THIRDPARTY_IMAGE_VERSION hyperledger/fabric-kafka && docker tag hyperledger/fabric-zookeeper:$THIRDPARTY_IMAGE_VERSION hyperledger/fabric-zookeeper
6. 之后使用 docker images 命令查看相关的镜像信息:
$ docker images四、测试网络 1. 进入相应目录
$ cd ~/go/src/github.com/hyperledger/fabric-samples/first-network2. 生成证书和密钥:
$ sudo ./byfn.sh -m generate
命令成功执行后会生成1个orderer + 4个peer + 1个CLI的网络结构,4个peer包含在2个org中
3.启动网络:$ sudo ./byfn.sh -m up
出现以下内容,说明网络测试成功:
4.网络使用完毕后需关闭网络,以防止后期启动网络时出现错误:$ sudo ./byfn.sh -m down



