Fabric SDK測試網絡搭建(v1.x)

前期準備

 操作系統:centOS 7
 Fabric版本: 1.4.4(注:1.x版本均適用,2.x版本參考Fabric2.0 SDK測試網絡搭建)

  1. 已安裝go,git
  2. 已安裝docker,docker-compose
  3. 已安裝二進制工具(下載地址)

  下載fabric-samples源碼:

git clone -b master https://github.com/hyperledger/fabric-samples.git && cd fabric-samples && git checkout v1.4.4
mkdir bin  #建立二進制工具存放文件夾

  將下載好的二進制工具,放置在fabric-samples/bin路徑下,請確保所下載二進制工具版本爲v1.4.4

修改配置文件

    默認fabric-samples/first-network會啓動一個兩個組織四個節點(不含CA節點),爲了SDK測試方便,我們做如下修改:

vim byfn.sh

修改COMPOSE_FILE=docker-compose-e2e.yaml(默認docker-compose yaml),不用擔心first-network目錄下沒有這個文件,啓動腳本會根據目錄下docker-compose-e2e-template.yaml自動創建docker-compose-e2e.yaml
在這裏插入圖片描述
將下列代碼(拷貝自docker-compose-ca.yaml )添加到docker-compose-e2e-template.yaml

 ca0:
    image: hyperledger/fabric-ca:$IMAGE_TAG
    environment:
      - FABRIC_CA_HOME=/etc/hyperledger/fabric-ca-server
      - FABRIC_CA_SERVER_CA_NAME=ca-org1
      - FABRIC_CA_SERVER_TLS_ENABLED=false
      - FABRIC_CA_SERVER_TLS_CERTFILE=/etc/hyperledger/fabric-ca-server-config/ca.org1.example.com-cert.pem
      - FABRIC_CA_SERVER_TLS_KEYFILE=/etc/hyperledger/fabric-ca-server-config/CA1_PRIVATE_KEY
    ports:
      - "7054:7054"
    command: sh -c 'fabric-ca-server start --ca.certfile /etc/hyperledger/fabric-ca-server-config/ca.org1.example.com-cert.pem --ca.keyfile /etc/hyperledger/fabric-ca-server-config/CA1_PRIVATE_KEY -b admin:adminpw -d'
    volumes:
      - ./crypto-config/peerOrganizations/org1.example.com/ca/:/etc/hyperledger/fabric-ca-server-config
    container_name: ca_peerOrg1
    networks:
      - byfn

  ca1:
    image: hyperledger/fabric-ca:$IMAGE_TAG
    environment:
      - FABRIC_CA_HOME=/etc/hyperledger/fabric-ca-server
      - FABRIC_CA_SERVER_CA_NAME=ca-org2
      - FABRIC_CA_SERVER_TLS_ENABLED=false
      - FABRIC_CA_SERVER_TLS_CERTFILE=/etc/hyperledger/fabric-ca-server-config/ca.org2.example.com-cert.pem
      - FABRIC_CA_SERVER_TLS_KEYFILE=/etc/hyperledger/fabric-ca-server-config/CA2_PRIVATE_KEY
    ports:
      - "8054:7054"
    command: sh -c 'fabric-ca-server start --ca.certfile /etc/hyperledger/fabric-ca-server-config/ca.org2.example.com-cert.pem --ca.keyfile /etc/hyperledger/fabric-ca-server-config/CA2_PRIVATE_KEY -b admin:adminpw -d'
    volumes:
      - ./crypto-config/peerOrganizations/org2.example.com/ca/:/etc/hyperledger/fabric-ca-server-config
    container_name: ca_peerOrg2
    networks:
      - byfn

保存docker-compose-e2e-template.yaml

關於啓用/關閉 TLS

啓用/關閉 TLS 請修改fabric-samples/first-network/base/目錄下的peer-base.yaml

Orderer節點:

- ORDERER_GENERCORE_PEER_TLS_ENABLED=true

Peer節點:

- CORE_PEER_TLS_ENABLED=true

腳本修改

fabric-samples/first-network/scripts
默認情況下執行腳本,會在三個節點安裝鏈碼,做如下修改:

if [ "${NO_CHAINCODE}" != "true" ]; then

        ## Install chaincode on peer0.org1 and peer0.org2
        echo "Installing chaincode on peer0.org1..."
        installChaincode 0 1
        echo "Install chaincode on peer0.org2..."
        installChaincode 0 2

        # Instantiate chaincode on peer0.org2
        echo "Instantiating chaincode on peer0.org2..."
        instantiateChaincode 0 2

        # Query chaincode on peer0.org1
        #echo "Querying chaincode on peer0.org1..."
        #chaincodeQuery 0 1 100

        # Invoke chaincode on peer0.org1 and peer0.org2
        #echo "Sending invoke transaction on peer0.org1 peer0.org2..."
        #chaincodeInvoke 0 1 0 2

        ## Install chaincode on peer0.org1
        echo "Installing chaincode on peer1.org1.."
        installChaincode 1 1
        ## Install chaincode on peer1.org2
        echo "Installing chaincode on peer1.org2..."
        installChaincode 1 2

        # Query on chaincode on peer1.org2, check if the result is 90
        #echo "Querying chaincode on peer1.org2..."
        #chaincodeQuery 1 2 90

fi

在這裏插入圖片描述

運行腳本

./byfn.sh up

文件參考

docker-compose-e2e-template.yaml(已改好配置)
下載地址:https://pan.baidu.com/s/1qhXKi4iqIPtUj-bsDruUeA
提取碼:djrf


其它博客(持續更新):
1.Fabric hyperledger 1.4 first-network 測試及手動執行
2.Faric 1.4中的背書策略
3.Fabric Hyperledger如何確保數據隱私?
4.Fabric Hyperledger之隱私數據(Private data)
5.Fabric啓用CouchDB
6.Fabric共識機制

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章