Fabric設置錨節點的第二種辦法


之前我們已經講過通過更新應用通道區塊配置文件的方式設置錨節點信息,這中方式有個前提就是,在開始時我們沒有設置組織信息和生成相應的msp信息,如果我們在規划網絡的時候已經有確定的組織信息,我們可以通過在configtx文件中設置錨節點的信息來生成組織錨節點的交易文件,下面我們來看看如何通過這種方式來設置錨節點

編寫configtx.yaml文件

以下是我的文件:

Profiles: 

    #以下部分定義了整個系統配置信息

    # TestTwoOrgsOrdererGenesis是組織定義表示符,可以自定義,這個也是命令中的-profile參數對應參數
    TestTwoOrgsOrdererGenesis:
        #orderer配置屬性,這個標識不能自定義,屬於系統關鍵詞
        Orderer:
            #這個表示引用下面OrdererDefaults的屬性
            <<: *OrdererDefaults
            Organizations:
                    - *OrdererOrg
        #定義了系統中包含的組織
        Consortiums:
            SampleConsortium:
                #系統中包含的組織
                Organizations:
                        - *Org1  #引用下文定義的配置
                        - *Org2

  #通道配置信息

  #通道定義標識符,可以自定義
  TestTwoOrgsChannel:
      Consortium: SampleConsortium
      Application:
            <<: *ApplicationDefaults  #引用下文的Application定義
            Organizations:
                    - *Org1
                    - *Org2
#order節點相關的配置
Organizations:

    - &OrdererOrg   #order節點配置信息
        Name: OrdererOrg    #order節點名稱
        ID: OrdererMSP      #orderer節點編號,orderer.yaml的 LocalMSPID必須要和這個ID相同
        #MSP文件夾路徑
        MSPDir: /home/zym/fabric-ws/simple-demo/crypto-config/ordererOrganizations/simple-network.com/msp
        
    - &Org1
        Name: Org1MSP   #組織名稱
        ID: Org1MSP     #組織編號
        MSPDir: /home/zym/fabric-ws/simple-demo/crypto-config/peerOrganizations/org1.simple-network.com/msp #組織MSP文件名
        AnchorPeers: #組織的錨點信息 - Host: peer0.org1.simple-network.com - Port: 7051
    - &Org2
        Name: Org2MSP
        ID: Org2MSP
        MSPDir: /home/zym/fabric-ws/simple-demo/crypto-config/peerOrganizations/org2.simple-network.com/msp
        AnchorPeers: - Host: peer0.org2.simple-network.com - Port: 7051

#orderer節點的配置信息     
Orderer: &OrdererDefaults
    #orderer節點的共識方法
    OrdererType: solo
    
    #orderer的監聽地址
    Addresses:
        - orderer.simple-network.com:7050

    BatchTimeout: 2s

    BatchSize:

        MaxMessageCount: 10

        AbsoluteMaxBytes: 98 MB

        PreferredMaxBytes: 512 KB
    #kafka相關配置
    Kafka:
        Brokers:
            - 127.0.0.1:9092

    Organizations:

Application: &ApplicationDefaults

    Organizations:

文件中標紅的地方就是我們填加的組織錨節點信息,下面我們通過這個文件來生成創世區塊,通道交易文件,還有錨節點交易文件

下面我們來創建我們實驗用的configtx.yaml文件 order 和組織的生成msp信息的yaml文件

configtx文件內容:

Organizations:
  - &OrdererOrg
     Name: OrdererOrg
     ID: OrdererMSP
     MSPDir: crypto-config/ordererOrganizations/example.com/msp
  - &Org1
     Name: Org1MSP
     ID: Org1MSP
     MSPDir: crypto-config/peerOrganizations/org1.example.com/msp
     AnchorPeers:
       - Host: peer0.org1.example.com
         Port: 7051
  - &Org2
     Name: Org2MSP
     ID: Org2MSP
     MSPDir: crypto-config/peerOrganizations/org2.example.com/msp
     AnchorPeers:
       - Host: peer0.org2.example.com
         Port: 7051
Orderer: &OrdererDefaults
  OrdererType: solo
  Addresses:
    - orderer.example.com:7050
  BatchTimeout: 2s
  BatchSize:
    MaxMessageCount: 10
    AbsoluteMaxBytes: 98 MB
    PreferredMaxBytes: 512 KB
  Kafka:
    Brokers:
      - 127.0.0.1:9092
  Organizations:
Application: &ApplicationDefaults
  Organizations:
Profiles:
  TwoOrgsOrdererGenesis:
    Orderer:
        <<: *OrdererDefaults
        Organizations:
          - *OrdererOrg
    Consortiums:
        SampleConsortium:
            Organizations:
                - *Org1
                - *Org2
  TwoOrgsChannel:
    Consortium: SampleConsortium
    Application:
      <<: *ApplicationDefaults
      Organizations:
        - *Org1
        - *Org2

crypto-config-order.yaml文件內容

OrdererOrgs:
  - Name: Orderer
    Domain: example.com
    Specs:
      - Hostname: orderer

crypto-config-orgs.yaml文件內容

PeerOrgs:
  - Name: Org1
    Domain: org1.example.com
    Template:
      Count: 2
    Users:
      Count: 1
  - Name: Org2
    Domain: org2.example.com
    Template:
      Count: 2
    Users:
      Count: 1

下面我們來生成order和org的msp信息

執行下面的命令:

1 ./bin/cryptogen generate --config=./crypto-config-orgs.yaml
2 
3 ./bin/cryptogen generate --config=./crypto-config-order.yaml

完成后我們的結果是:

 

 

 

 

 下面我們來根據configtx文件生成創世區塊文件,通道交易文件,錨節點交易文件

執行以下命令:

生成創世區塊文件

./bin/configtxgen -profile TwoOrgsOrdererGenesis -outputBlock ./channel-artifacts/genesis.block

 

 

 

生成通道交易文件:

./bin/configtxgen -profile TwoOrgsChannel -outputCreateChannelTx ./channel-artifacts/mychannel.tx -channelID mychannel

 

 

 創建Org1MSP組織錨點更新文件

configtxgen -profile TwoOrgsChannel -outputAnchorPeersUpdate ./channel-artifacts/Org1MSPanchors.tx -channelID mychannel -asOrg Org1MSP

 

 創建org2MSP組織錨點更新文件

configtxgen -profile TwoOrgsChannel -outputAnchorPeersUpdate ./channel-artifacts/Org2MSPanchors.tx -channelID mychannel -asOrg Org2MSP

 

 生成完成:

 

 

后續 步驟就是,完成通道創建后需要更新錨節點使其加入到通道配置當中

使用命令:

1 docker exec -it cli bash
2 peer channel update -o orderer.example.com:7050 --tls --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 -f ./channel-artifacts/Org1MSPanchors.tx

 

org2的錨節點設置也參考上面的命令即可,但是首先必須將環境設置成org2的 

 

至此我們已經完成了錨節點的添加

 

參考文檔:

https://developer.aliyun.com/article/769612?spm=a2c6h.14164896.0.0.167a1219cOBn0T

https://www.cnblogs.com/show58/p/13180824.html

 

 

 

創建Org1MSP組織錨點更新文件


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM