区块链单服务器多节点
系统环境
centos 7.3python
须要的软件
docker
docker-compose
fabric
go
gitlinux
docker 安装
curl -fsSL get.docker.com -o get-docker.sh |sh
若是yum里有新的直接yum -y install docker
docker -vgit
docker-compose 安装
先安装pip
yum -y install python-devel gcc* python-pip
或者下载安装包安装
更新到最新版本
python -m pip install --upgrade pip
pip install docker-compose
docker-compose -v
go 安装
curl -O https://storage.googleapis.com/golang/go1.8.3.linux-amd64.tar.gz
tar -C /usr/local -xzf go1.8.3linux-adm64.tar.gz
vim /etc/bashrc
export PATH=$PATH:/usr/local/go/bin
export GOPATH=/opt/gopath
source /etc/bashrc后用go version可查看go的版本github
git 安装
yum -y install git
如若不行下载源码包安装golang
fabric 安装
由于fabric是基于go语言的,因此代码得放到gopath目录下
mkdir -p /opt/gopath/src/github.com/hyperledger/
cd /opt/gopath/src/github.com/hyperledger/
从github上下载Fabric源码:
git clone https://github.com/hyperledger/fabric.git
cd fabric
因为当前稳定版本是v1.0.0
因此git切换到稳定版
git checkout v1.0.0
cd examples/e2e_cli/
chmod +x download-dockerimages.sh
docker镜像源都是国外的下载很是慢,因此这里添加一个国内的源
centos/redhat 系统
vim /etc/sysconfig/docker
OPTIONS='--selinux-enabled --log-driver=journald --signature-verification=false --registry-mirror=http://860eaa91.m.daocloud.io'
其余Linux系统
vim /etc/docker/daemon.json
{"registry-mirrors": ["http://860eaa91.m.daocloud.io"]}
编辑错文件的话会一直报错没法启动
修改以后及得重启docker服务
service docker restart
开始下载fabric所须要的镜像,直接运行命令便可
当前目录下./download-dockerimages.sh -c x86_64-1.0.0 -f x86_64-1.0.0docker
镜像下载完成以后直接进行测试
当前目录./network_setup.sh up
出现以下图提示时表示测试成功(中间不能有任何文件找不到的现象)
进入容器验证:
docker exec -it cli bash
查询初始值
peer chaincode query -C mychannel -n mycc -c '{"Args":["query","a"]}'json
执行交易
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"]}'
查看初始值是否有变化
peer chaincode query -C mychannel -n mycc -c '{"Args":["query","a"]}'vim