首页 文章

将新对等方添加到超级分层结构组织需要哪些步骤?

提问于
浏览
2

我正在学习使用Hyperlegder Fabric构建网络,因为我已经开发了一个带有Hyperledger Composer的网络,下一步是构建 生产环境 网络 . 我已经开始构建第一个网络样本并且正常工作 . 我已经添加了Org3和2个对等样本,它可以正常工作 .

现在我想添加更多的对等体,例如peer2.org1.example.com,所以我编辑了文件以创建peer2并创建了它,但是当script.sh尝试加入channel时,它会启动一个错误:

错误:获取代言客户端通道时出错:PER:404 - 尝试连接到本地对等时出错引起:x509:证书对peer1.org1.example.com,peer1,而不是peer2.org1.example.com有效

那么,我做错了什么?谢谢

2 回答

  • 2

    您可以通过为新对等体生成加密材料(使用cryptogen extends),生成新对等体并使该对等体加入网络上的现有通道进行同步来实现此目的 .

    你可以在这里找到完整的指南

    Extending Hyperledger Fabric Network: Adding a new peer

  • 1

    当您向网络添加新对等体时,您需要确保正确设置该新对等体的所有相关加密材料 . 首先确保将有关新对等体的信息添加到 crypto-config.yaml 文件中,并使用 cryptogen 工具为新对等体生成密钥和证书 . 接下来,您需要在启动对等体之前设置配置,以指向相关的加密材料,例如org2的peer0的配置:

    peer0.org2.example.com:
        container_name: peer0.org2.example.com
        extends:
          file: peer-base.yaml
          service: peer-base
        environment:
          - CORE_PEER_ID=peer0.org2.example.com
          - CORE_PEER_ADDRESS=peer0.org2.example.com:7051
          - CORE_PEER_GOSSIP_EXTERNALENDPOINT=peer0.org2.example.com:7051
          - CORE_PEER_GOSSIP_BOOTSTRAP=peer0.org2.example.com:7051
    

    它从 base/peer-base.yaml 文件继承的地方:

    services:
      peer-base:
        image: hyperledger/fabric-peer
        environment:
          - CORE_VM_ENDPOINT=unix:///host/var/run/docker.sock
          # the following setting starts chaincode containers on the same
          # bridge network as the peers
          # https://docs.docker.com/compose/networking/
          - CORE_VM_DOCKER_HOSTCONFIG_NETWORKMODE=${COMPOSE_PROJECT_NAME}_byfn
          #- CORE_LOGGING_LEVEL=ERROR
          - CORE_LOGGING_LEVEL=DEBUG
          - CORE_PEER_TLS_ENABLED=true
          - CORE_PEER_GOSSIP_USELEADERELECTION=true
          - CORE_PEER_GOSSIP_ORGLEADER=false
          - CORE_PEER_PROFILE_ENABLED=true
          - CORE_PEER_TLS_CERT_FILE=/etc/hyperledger/fabric/tls/server.crt
          - CORE_PEER_TLS_KEY_FILE=/etc/hyperledger/fabric/tls/server.key
          - CORE_PEER_TLS_ROOTCERT_FILE=/etc/hyperledger/fabric/tls/ca.crt
        working_dir: /opt/gopath/src/github.com/hyperledger/fabric/peer
        command: peer node start
          - CORE_PEER_LOCALMSPID=Org2MSP
        volumes:
            - /var/run/:/host/var/run/
            - ../crypto-config/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/msp:/etc/hyperledger/fabric/msp
            - ../crypto-config/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/tls:/etc/hyperledger/fabric/tls
    
        ports:
          - 9051:7051
          - 9053:7053
    

    要将其包装起来,您需要确保配置适当的MSP ID和tls证书的路径 . 在您的情况下,您的新对等方只是尝试重用另一个对等方的加密材料 .

相关问题