【区块链-HyperLedger】1 快速搭建一个Fabric1.0环境 运行测试e2e_cli项目

文章目录

      • 1 Ubuntu环境搭建(win7 64位 + VMWare14 + Ubuntu16.04)
        • 1.1 VMWave14下载
        • 1.2 Ubuntu镜像下载
        • 1.3 相关配置
        • 1.4 安装后检查
      • 2 Docker安装
        • 2.1 安装curl
        • 2.2 Docker的安装
        • 2.3 完成后,将自己的用户添加到docker组中
        • 2.4 运行以下命令,添加阿里云的Docker Hub镜像
        • 2.5 注销并重新登录
      • 3 Docker-compose 安装
        • 3.1 安装Python-pip
        • 3.2 安装docker-compose
        • 3.3 更改文件权限,使其能够运行
        • 3.4 测试安装是否成功
      • 4 Go安装
        • 4.1 Golang下载
        • 4.2 解压安装包到指定目录
        • 4.3 检查是否安装成功
        • 4.4 环境变量的设置
        • 4.5 验证安装成功
        • 4.6 创建go文件夹
      • 5 Fabric源码下载
      • 6 Fabric Docker镜像下载
      • 7 启动Fabric网络并完成ChainCode的测试

1 Ubuntu环境搭建(win7 64位 + VMWare14 + Ubuntu16.04)

1.1 VMWave14下载

链接:https://pan.baidu.com/s/18CxvujwZi8Sv8fSPD_EB0A
提取码:9blk

1.2 Ubuntu镜像下载

http://releases.ubuntu.com/16.04/
选择对应镜像并下载
在这里插入图片描述

1.3 相关配置

详见:https://blog.csdn.net/salmon_zhang/article/details/79468918
【注意】
要在虚拟机选项中,把连接CD/DVD 关掉,并重启。详见:https://blog.csdn.net/weixin_36429334/article/details/73231926
否则会出错:[sdb] assuming drive cache:write through

1.4 安装后检查

1)看启动的Ubuntu系统能否连接网络
2) 保证apt source是国内的,提高下载速度。
具体操作:
进入ubuntu桌面右上角按钮菜单中选择“系统设置”, 在弹出的窗口中选择 “软件和更新”。
切换到“Ubuntu软件”选项,在底部“下载自”中选择国内的镜像,然后点击关闭。
系统弹出对话框,选择“重新载入”即可。


以下主要参照优秀师兄的专栏:https://zhuanlan.zhihu.com/p/35063055

2 Docker安装

2.1 安装curl

输入sudo apt install curl

2.2 Docker的安装

使用阿里提供的镜像进行安装,输入curl -fsSL https://get.docker.com/ | sh,下载完成后显示
【区块链-HyperLedger】1 快速搭建一个Fabric1.0环境 运行测试e2e_cli项目_第1张图片

2.3 完成后,将自己的用户添加到docker组中

sudo usermod -aG docker yrr

2.4 运行以下命令,添加阿里云的Docker Hub镜像

sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://obou6wyb.mirror.aliyuncs.com"]
}
EOF

2.5 注销并重新登录

sudo systemctl daemon-reload
sudo systemctl restart docker

3 Docker-compose 安装

Docker-compose是支持通过模板脚本批量创建Docker容器的一个组件。

3.1 安装Python-pip

在安装Docker-Compose之前,需要安装Python-pip,运行脚本:

sudo apt-get install python-pip

3.2 安装docker-compose

我们从官方网站(https://github.com/docker/compose/releases )下载,运行脚本:

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

在这里插入图片描述

3.3 更改文件权限,使其能够运行

chmod +x /usr/local/bin/docker-compose

3.4 测试安装是否成功

docker-compose --version

在这里插入图片描述

4 Go安装

4.1 Golang下载

用终端下载半天没下载下来orz,于是直接到网站(http://www.golangtc.com/download)进行手动下载了,选择
在这里插入图片描述

4.2 解压安装包到指定目录

sudo tar -C /usr/local -xzf go1.9.2.linux-amd64.tar.gz

4.3 检查是否安装成功

/usr/local/go/bin/go version

在这里插入图片描述

4.4 环境变量的设置

1)多用户配置,终端输入:vim ~/.profile
2)在文件末尾插入以下内容
3)终端输入source ~/.profile 重新加载 profile 文件,加载环境变量到内存

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

$HOME是当前用户主目录。
export GOPATH=$HOME/go 表示我们把go的目录GOPATH设置为当前用户的文件夹。
PATH 表示环境变量。在Linux环境中,是区分大小写的。
其次,在Linux中,引用变量,要在前面加上一个$符号。
综上所述,$PATH 以及 $HOME均表示对变量的引用。
其中,PATH=$PATH:/usr/local/go/bin 表示将/usr/local/go/bin这个路径,加入到环境变量中!

4.5 验证安装成功

终端输入go version
在这里插入图片描述

4.6 创建go文件夹

由于我们把go的目录GOPATH设置为当前用户的文件夹下,所以记得创建go文件夹

cd ~
mkdir go

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

6 Fabric Docker镜像下载

1) 从docker hub下载镜像:

cd fabric/examples/e2e_cli/
chmod +x download-dockerimages.sh
sudo ./download-dockerimages.sh

【区块链-HyperLedger】1 快速搭建一个Fabric1.0环境 运行测试e2e_cli项目_第2张图片
【注意】
此处用sudo获取管理员权限,运行docker命令
否则报错:
”Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get http://%2Fvar%2Frun%2Fdocker.sock/v1.26/images/json: dial unix /var/run/docker.sock: connect: permission denied“

2) 下载完毕后,我们运行以下命令检查下载列表

sudo docker images

【区块链-HyperLedger】1 快速搭建一个Fabric1.0环境 运行测试e2e_cli项目_第3张图片

7 启动Fabric网络并完成ChainCode的测试

1) 终端切换到fabric路径中,并选择1.0.0的版本

cd ~/go/src/github.com/hyperledger/fabric
git checkout v1.0.0

2) 将当前路径的scripts文件夹中的bootstrap-1.0.0.sh拷贝到fabric目录下(此操作会生成bin目录)

chmod +x bootstrap-1.0.0.sh

3) 切换路径到e2e_cli

cd ~/go/src/github.com/hyperledger/fabric/examples/e2e_cli

4) 下载docker images

sudo ./download-dockerimages.sh -c x86_64-1.0.0 -f x86_64-1.0.0

5) 启动

sudo ./network_setup.sh up

最后显示如下,完美~
【区块链-HyperLedger】1 快速搭建一个Fabric1.0环境 运行测试e2e_cli项目_第4张图片
【注意】
Q1:ERROR: Couldn’t connect to Docker daemon at http+docker://localunixsocket - is it running?
A1:前面添加sudo进行启动
Q2:Error: Error endorsing query: rpc error: code = Unknown desc = could not find chaincode with name ‘mycc’ - make sure the chaincode mycc has been successfully instantiated and try again -
!!! Query result on peer0 is INVALID !!!
A2:按照7中的流程走没问题,之前没有按照流程走就出现了这个问题orz

6) 测试Fabric网络
a)打开新的终端,输入docker exec -it cli bash进入CLI,将显示:
在这里插入图片描述
b)查询账户余额
通过输入peer chaincode query -C mychannel -n mycc -c '{"Args":["query","a"]}'可查询a账户的余额(官方例子中,channel名为mychannel,链码名为mycc),将显示:
在这里插入图片描述
c)转账操作
将a账户的余额转20元给b账户:peer chaincode invoke -o orderer.example.com:7050 --tls true --cafile /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/ordererOrganizations/example.com/orderers/orderer.example.com/msp/tlscacerts/tlsca.example.com-cert.pem -C mychannel -n mycc -c '{"Args":["invoke","a","b","20"]}',将显示:
在这里插入图片描述
d)查看a账户余额,将显示:
在这里插入图片描述
e)查看b账户余额,显示:
在这里插入图片描述

7) 完成测试并退出
退出CLI输入exit
关闭Fabric网络,输入sudo ./network_setup.sh down

你可能感兴趣的:(区块链)