Linux下Hyperledger Fabric1.0环境搭建 (汇总)
1 安装虚拟机 VM
这个百度就有许多
2 装系统 ubuntu 16.04
阿里云
http://mirrors.aliyun.com/ubuntu-releases/16.04/
3 系统里的基本准备
在系统里 软件和更新 选择其他 然后选aliyun
打开终端更新数据源
sudo apt update
安装git
sudo apt install git
安装curl
sudo apt install curl
4 安装go 并配置环境变量
1 这里直接在ubu火狐浏览器 登录 https://studygolang.com/dl 下linux64的版本
2 先到/usr下 cd /usr
3 解放权限 sudo chmod 777 *
4 然后把go文件解压到usr/local 下
环境变量配置
在根目录下创建一个go文件夹
mkdir $HOME/go
修改环境配置
vi ~/.bashrc
最后面插入
export GOROOT=/usr/local/go
export GOPATH=$ HOME/go
export PATH=$PATH: $ GOROOT/bin:$GOPATH/bin
让配置文件生效
source ~/.bashrc
查看go的版本
go version
5 安装docker-ce
获取安装docker-ce的脚本
curl -fsSL get.docker.com -o get-docker.sh
查看当前目录是否获取到了脚本
ls get*
执行脚本(安装需要一些时间)
sudo sh get-docker.sh
安装成功后试着run一下测试镜像
sudo docker run hello-world
有 hello from docker ! 就成功
然后修改当前用户的权限
sudo usermod -aG docker 当前账号名 (例如 docker user)
注销并重新登录,然后添加阿里云的Docker Hub镜像:
建立docker文件
sudo mkdir -p /etc/docker
sudo gedit /etc/docker/daemon.json
{
“registry-mirrors”: [“https://obou6wyb.mirror.aliyuncs.com”]
}
保存并退出
然后
sudo systemctl daemon-reload
sudo systemctl restart docke
6 安装docker-compose
安装
sudo apt-get install python-pip
sudo apt install docker-compose
2 安装成功后查看版本
docker-compose --version
7 下载Fabric 到指定文件夹 并切换fabirc版本
这里为了后面运行fabric自带的案例
需要创建这个文件夹
mkdir ~/go/src/github.com/hyperledger
然后
cd ~/go/src/github.com/hyperledger/
2 下载
git clone https://gitee.com/arxin/fabric.git
3 到该文件下切换版本
cd ~/go/src/github.com/hyperledger/fabric
git checkout v1.0.0
8 下载Fabric相关镜像
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环境主要需要的镜像:
hyperledger/fabric-tools
hyperledger/fabric-orderer
hyperledger/fabric-peer
hyperledger/fabric-couchdb
hyperledger/fabric-kafka
hyperledger/fabric-ca
hyperledger/fabric-zookeeper
hyperledger/fabric-baseos
输入 docker images 可以查看
9 运行案例
启动docker
sudo systemctl start docker
到当前目录下
cd ~/go/src/github.com/hyperledger/fabric/examples/e2e_cli/
运行脚本
./network_setup.sh up
ctrl+c退出
到当前目录下
cd ~/go/src/github.com/hyperledger/fabric/examples/e2e_cli/
登录案例 官方例子中,channel名字是mychannel,链码的名字是mycc
docker exec -it cli bash
查询账户余额
peer chaincode query -C mychannel -n mycc -c '{"Args":["query","a"]}'
8 转账操作
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”]}’
10 关闭网络
1 退出容器cli
exit
2 到该目录下
cd ~/go/src/github.com/hyperledger/fabric/examples/e2e_cli
./network_setup.sh down