使用VirtualBox并在其中安装好Ubuntu
这一步其实没啥好说的,下载好最新版的VirtualBox,下载Ubuntu Server,我用的是Ubuntu16.04.2 X64 Server。在安装完Ubuntu后,需要保证apt source是国内的,不然如果是国外的话会很慢很慢的。具体做法是
sudo vi /etc/apt/sources.list
打开这个apt源列表,如果其中看到是http://us.xxxxxx之类的,那么就是外国的,如果看到是http://cn.xxxxx之类的,那么就不用换的。我的是美国的源,所以需要做一下批量的替换。在命令模式下,输入:
:%s/us./cn./g
就可以把所有的us.改为cn.了。然后输入:wq即可保存退出。
sudo apt-get update
更新一下源。
然后安装ssh,这样接下来就可以用putty或者SecureCRT之类的客户端远程连接Ubuntu了。
sudo apt-get install ssh
2. Go的安装
Ubuntu的apt-get虽然提供了Go的安装,但是版本比较旧,最好的方法还是参考官方网站 https://golang.org/dl/ ,下载最新版的Go。具体涉及到的命令包括:
wget https://storage.googleapis.com/golang/go1.10.linux-amd64.tar.gz sudo tar -C /usr/local -xzf go1.10.linux-amd64.tar.gz
接下来编辑当前用户的环境变量:
vi ~/.profile
添加以下内容:
export PATH=$PATH:/usr/local/go/bin export GOROOT=/usr/local/go export GOPATH=$HOME/go export PATH=$PATH:$HOME/go/bin
编辑保存并退出vi后,记得把这些环境载入:
source ~/.profile
我们把go的目录GOPATH设置为当前用户的文件夹下,所以记得创建go文件夹
cd ~ mkdir go
3. Docker-CE安装
由于docker镜像有时候不正常,请改成docker-ce
Docker CE镜像源站
使用官方安装脚本自动安装
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
手动安装帮助
Ubuntu 16.04(使用apt-get进行安装)
# step 1: 安装必要的一些系统工具 sudo apt-get update sudo apt-get -y install apt-transport-https ca-certificates curl software-properties-common # step 2: 安装GPG证书 curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add - # Step 3: 写入软件源信息 sudo add-apt-repository "deb [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable" # Step 4: 更新并安装 Docker-CE sudo apt-get -y update sudo apt-get -y install docker-ce
# 安装指定版本的Docker-CE: # Step 1: 查找Docker-CE的版本: # apt-cache madison docker-ce # docker-ce | 17.03.1~ce-0~ubuntu-xenial | http://mirrors.aliyun.com/docker-ce/linux/ubuntu xenial/stable amd64 Packages # docker-ce | 17.03.0~ce-0~ubuntu-xenial | http://mirrors.aliyun.com/docker-ce/linux/ubuntu xenial/stable amd64 Packages # Step 2: 安装指定版本的Docker-CE: (VERSION 例如上面的 17.03.1~ce-0~ubuntu-xenial) # sudo apt-get -y install docker-ce=[VERSION]
4. Docker-Compose的安装
这里注册下阿里云https://cr.console.aliyun.com/cn-hangzhou/mirrors,psv50kmi是我的账号
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF' { "registry-mirrors": ["https://psv50kmi.mirror.aliyuncs.com"] }
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
5. Fabric源码下载
我们可以使用Git命令下载源码,首先需要建立对应的目录,然后进入该目录,Git下载源码:
mkdir -p ~/go/src/github.com/hyperledger cd ~/go/src/github.com/hyperledger git clone https://github.com/hyperledger/fabric.git
由于Fabric一直在更新,所有我们并不需要最新最新的源码,需要切换到v1.0.0版本的源码即可:
cd ~/go/src/github.com/hyperledger/fabric git checkout v1.0.0
6. Fabric Docker镜像的下载
这个其实很简单,因为我们已经设置了Docker Hub镜像地址,所以下载也会很快。官方文件也提供了批量下载的脚本。我们直接运行:
cd ~/go/src/github.com/hyperledger/fabric/examples/e2e_cli/ source download-dockerimages.sh -c x86_64-1.0.0 -f x86_64-1.0.0
这样就可以下载所有需要的Fabric Docker镜像了。由于我们设置了国内的镜像,所以下载应该是比较快的。
下载完毕后,我们运行以下命令检查下载的镜像列表:
docker images
7.启动Fabric网络并完成ChainCode的测试
我们仍然停留在e2e_cli文件夹,这里提供了启动、关闭Fabric网络的自动化脚本。我们要启动Fabric网络,并自动运行Example02 ChainCode的测试,执行一个命令:
./network_setup.sh up
这个做了以下操作:
7.1编译生成Fabric公私钥、证书的程序,程序在目录:fabric/release/linux-amd64/bin
7.2基于configtx.yaml生成创世区块和通道相关信息,并保存在channel-artifacts文件夹。
7.3基于crypto-config.yaml生成公私钥和证书信息,并保存在crypto-config文件夹中。
7.4基于docker-compose-cli.yaml启动1Orderer+4Peer+1CLI的Fabric容器。
7.5在CLI启动的时候,会运行scripts/script.sh文件,这个脚本文件包含了创建Channel,加入Channel,安装Example02,运行Example02等功能。
8.手动测试一下Fabric网络
我们仍然是以现在安装好的Example02为例,在官方例子中,channel名字是mychannel,链码的名字是mycc。我们首先进入CLI,我们重新打开一个命令行窗口,输入:
docker exec -it cli bash
由于版本1.0有问题,请改一条
sudo vim peer_bash.yaml
e2ecli改成e2e_cli
转载:https://www.cnblogs.com/studyzy/p/7437157.html