區塊鏈單服務器多節點
系統環境
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