Fabric SDK测试网络搭建(v1.4)

前期准备

 操作系统:centOS 7
 Fabric版本: 1.4.4

  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共识机制

发布了13 篇原创文章 · 获赞 0 · 访问量 2566

猜你喜欢

转载自blog.csdn.net/weixin_43839871/article/details/105351950