在CentOS7上搭建Hyperledger Fabric 1.0

一.環境配置

  1.1在windows上安裝VMware

    這個是下載VMware的安裝包下載完後安裝就能夠了html

http://sw.bos.baidu.com/sw-search-sp/software/aff3469fe5f99/VMware-workstation-full-12.5.7.20721.exe

  1.2下載CentOS7鏡像並安裝到VMware上

    下載CentOS7的鏡像linux

http://mirror.vilkam.ru/centos/7/isos/x86_64/CentOS-7-x86_64-Everything-1611.iso

    安裝centos7能夠參考一下這個https://jingyan.baidu.com/article/c910274be62c6bcd361d2d37.htmlgit

  1.3安裝docker

    在命令行裏面輸入如下命令執行安裝github

curl -sSL https://get.daocloud.io/docker | sh

    安裝完成後運行如下腳本將用戶添加到docker組中 (注:user是你的用戶)docker

sudo usermod -aG docker user

    修改docker的服務配置bootstrap

sudo vi /etc/default/docker

    添加如下內容windows

DOCKER_OPTS="$DOCKER_OPTS -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock --api-cors-header='*'"

    接下來就是設置一下國內docker鏡像地址,腳本是centos

curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://d4cc5789.m.daocloud.io

    執行完腳本後,把docker服務設置成開機啓動,並啓動docker服務api

systemctl enable docker.service
sudo service docker restart

  1.4安裝docker-compose

    Compose是定義和運行多個Docker容器的應用,能夠很方便的從管發拉下來一些鏡像。bash

curl -L https://get.daocloud.io/docker/compose/releases/download/1.10.1/docker-compose-`uname -s`-`uname -m` > ~/docker-compose 
sudo mv ~/docker-compose /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose

二.部署Fabric1.0

  2.1下載官方自動化部署腳本

    建一個文件夾,用於存放自動化部署腳本

mkdir fabric-sample
cd fabric-sample

    而後使用curl命令下載並運行自動化部署腳本,這個過程會比較漫長,這個會下載大量的x86_64-1.0.0的鏡像,下載完以後會標籤改成latest(注:這個腳本是下載的fabric 1.0.0的鏡像)

curl -sSL https://raw.githubusercontent.com/hyperledger/fabric/master/scripts/bootstrap-1.0.0-beta.sh | bash

    當下載完成後使用如下命令查看你下載的鏡像

docker images

  

  2.2啓動Fabric的實例

    在前面下載的官方自動化部署腳本中已經包含了Fabric的實例腳本,運行如下命令

cd ~/fabric-sample/release/linux-amd64
./network_setup.sh up

    當出現如下界面就說明啓動成功了

    系統會建立1個客戶端實例cli,1個orderer節點,還有4個peer節點,當前腳本包含了咱們接下來運行的mycc實例,因此還會看到三個鏈上代碼在運行,使用如下命令查看實例

docker ps

  

三.測試Fabric

  3.1在cli中測試Example02

    其實咱們在前面運行./network_setup.sh up的時候系統已經運行了一個Example02的ChainCode測試,部署上去的ChainCodeName是mycc,因此接下來咱們要測試的話不能再初始化並部署一樣名字的ChainCode了,咱們可使用本身另外命名的名字devincc

    咱們先進入到cli容器中

docker exec -it cli bash

    若是成功進入咱們會切換到該容器的root用戶下,獲得以下命令行目錄

    鏈上的代碼須要通過install和instatiate兩步,下面咱們先執行example02並指定一個名字devincc

peer chaincode install -n devincc -v 1.0 -p github.com/hyperledger/fabric/examples/chaincode/go/chaincode_example02

    運行後會提示運行成功,並返回200

   

     接下來是instatiate,初始化實例,設置a帳戶有100,b帳戶有200

peer chaincode instantiate -o orderer.example.com:7050 --tls $CORE_PEER_TLS_ENABLED --cafile /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/ordererOrganizations/example.com/orderers/orderer.example.com/msp/cacerts/ca.example.com-cert.pem -C mychannel -n devincc -v 1.0 -c '{"Args":["init","a", "100", "b","200"]}' -P "OR ('Org1MSP.member','Org2MSP.member')"

  

    運行成功後會顯示以下結果

    使用query來查看一下a的餘額

peer chaincode query -C mychannel -n devincc -c '{"Args":["query","a"]}'

    下面是顯示帳戶a的餘額

    從帳戶a轉10到帳戶b裏面,調用invoke

peer chaincode invoke -o orderer.example.com:7050  --tls $CORE_PEER_TLS_ENABLED --cafile /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/ordererOrganizations/example.com/orderers/orderer.example.com/msp/cacerts/ca.example.com-cert.pem  -C mychannel -n devincc -c '{"Args":["invoke","a","b","10"]}'

  

    轉帳成功的的提示

    

     再來查看一下帳戶a的餘額,如今變成90了

peer chaincode query -C mychannel -n devincc -c '{"Args":["query","a"]}'

  

 

到此爲止咱們的Fabric1.0部署成功,而且測試經過、

相關文章
相關標籤/搜索