Ubuntu18.04 下搭建Hyperledger Fabric v1.0环境
Posted tinghl
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Ubuntu18.04 下搭建Hyperledger Fabric v1.0环境相关的知识,希望对你有一定的参考价值。
参考链接:https://blog.csdn.net/flyinguy/article/details/79502559
系统:Ubuntu 18.04
注意操作用户是自建用户,不是root,特别一些命令涉及用户目录的地方要特别注意
一、安装基础工具
首先安装一些常用工具
sudo apt-get update sudo apt-get install ssh sudo apt-get install git sudo apt-get install python-pip
go 单独安装
wget https://storage.googleapis.com/golang/go1.9.linux-amd64.tar.gz sudo tar -C /usr/local -xzf go1.9.linux-amd64.tar.gz gedit /etc/profile
编辑全局变量环境,添加profile
export PATH=$PATH:/usr/local/go/bin export GOROOT=/usr/local/go export GOPATH=/home/用户名</span>/go export PATH=$PATH:/home/用户名/go/bin
生效profile,建立go 目录
source /etc/profile
mkdir /home/用户名/go
酌情重启系统
二、安装docker,基于aliyun
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后还需要添加用户到docker组
sudo usermod -aG docker XXX
sudo mkdir -p /etc/docker
sudo gedit /etc/docker/daemon.json
sudo systemctl daemon-reload
sudo systemctl restart docker
最后 docker version 看下安装结果
三、安装Docker-Compose 从DaoCloud
curl -L https://get.daocloud.io/docker/compose/releases/download/1.19.0/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose chmod +x /usr/local/bin/docker-compose docker-compose version
四、Fabric源码下载
首先建好存放源码的文件夹(也可手动建)路径如下:
mkdir –p ~/go/src/github.com/hyperledger cd ~/go/src/github.com/hyperledger git clone https://github.com/hyperledger/fabric.git
由于我们只是在搭建环境。不需要最新的代码,所以只需要切换到v1.0.0大版本就行。
cd ~/go/src/github.com/hyperledger/fabric 进入fabric目录 git checkout v1.0.0
五、Fabric Docker镜像下载
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 docker images
六、启动Fabric网络并完成ChainCode的测试
现在还停留在e2e_cli文件中(如果没有先进入),这里提供了启动、关闭Fabric网络的自动化脚本。我们要启动Fabric网络,并自动运行Example02 ChainCode的测试,执行一个命令:
./network_setup.sh up
- 编译生成Fabric公私钥、证书的程序,程序在目录:fabric/release/linux-amd64/bin
- 基于configtx.yaml生成创世区块和通道相关信息,并保存在channel-artifacts文件夹。
- 基于crypto-config.yaml生成公私钥和证书信息,并保存在crypto-config文件夹中。
- 基于docker-compose-cli.yaml启动1Orderer+4Peer+1CLI的Fabric容器。
- 在CLI启动的时候,会运行scripts/script.sh文件,这个脚本文件包含了创建Channel,加入Channel,安装Example02,运行Example02等功能。
出现则表示网络运行成功,ctrl+c退出
七、手动测试Fabric网络
这里有官方提供的小例子,在官方例子中,channel名字是mychannel,链码的名字是mycc。
首先进入CLI,然后重新打开一个命令行窗口,输入:
docker exec -it cli bash
这时用户为[email protected],在/opt/gopath/src/github.com/hyperledger/fabric/peer目录下,运行以下命令可以查询a账户的余额:
peer chaincode query -C mychannel -n mycc -c ‘{"Args":["query","a"]}‘
方框内可以看见余额为:90
下面我们可以进行转账操作,操作为invoke ,由a转b 50:
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","50"]}‘
现在转账完毕, 我们试一试再查询一下a账户的余额,重复之前的查询指令,结果为:
结果正确,a的余额只有40了。
最后,我们需要关闭Fabric,这里先使用exit命令退出cli容器。
exit
然后类似于启动指令:
cd ~/go/src/github.com/hyperledger/fabric/examples/e2e_cli
./network_setup.sh down
最后,我们整个Fabric的环境已经测试完毕!!
以上是关于Ubuntu18.04 下搭建Hyperledger Fabric v1.0环境的主要内容,如果未能解决你的问题,请参考以下文章
Ubuntu18.04 下搭建Hyperledger Fabric v1.0环境