2017-10-09 1 views
0

J'apprends l'exemple de démo dans la démo d'exemple fabric/examples/e2e_cli. Il y a une configuration de pairs ancrage dans le fichier « configtx.yaml » comme ci-dessous:Dans la démo d'exemples/e2e_cli, tous les pairs sont des pairs Anchor par défaut? Peu importe comment il est configuré?

*- &Org1 
    # DefaultOrg defines the organization which is used in the sampleconfig 
    # of the fabric.git development environment 
    Name: Org1MSP 
    # ID to load the MSP definition as 
    ID: Org1MSP 
    MSPDir: crypto-config/peerOrganizations/org1.example.com/msp 
    AnchorPeers: 
     # AnchorPeers defines the location of peers which can be used 
     # for cross org gossip communication. Note, this value is only 
     # encoded in the genesis block in the Application section context 
     - Host: peer0.org1.example.com 
      Port: 7051 
- &Org2 
    # DefaultOrg defines the organization which is used in the sampleconfig 
    # of the fabric.git development environment 
    Name: Org2MSP 
    # ID to load the MSP definition as 
    ID: Org2MSP 
    MSPDir: crypto-config/peerOrganizations/org2.example.com/msp 
    AnchorPeers: 
     # AnchorPeers defines the location of peers which can be used 
     # for cross org gossip communication. Note, this value is only 
     # encoded in the genesis block in the Application section context 
     - Host: peer0.org2.example.com 
      Port: 7051* 

Et dans le fichier script/de script.sh, il y a une fonction « updateAnchorPeers » pour anchorPeers de changement et mettre à jour? Pendant que je l'utilise:

curl -X POST --data-binary @Org1MSPanchors.tx http://127.0.0.1:7059/protolator/decode/common.Envelope > ./Org1MSPanchors.json 

pour traduire le fichier tx à JSON. Il semble que tous les pairs sont AnchorPeers dans le fichier Org1MSPanchors.json. Y a-t-il quelque chose qui ne va pas? Toute aide serait appréciée.

"values": { 
             "AnchorPeers": { 
              "mod_policy": "Admins", 
              "value": { 
               "anchor_peers": [ 
                { 
                 "host": "peer0.org1.example.com", 
                 "port": 7051 
                }, 
                { 
                 "host": "peer1.org1.example.com", 
                 "port": 7051 
                } 
               ] 
              } 
             }, 
             "MSP": {} 
            }, 

Répondre

1

Quelle version de Hyperledger Fabric utilisez-vous? En supposant que le dernier du maître et en fonction des valeurs fournies dans le fichier configtx.yaml, par exemple:

- &Org1 
     Name: Org1MSP  
     ID: Org1MSP 

     MSPDir: crypto-config/peerOrganizations/org1.example.com/msp 

     AnchorPeers: 
      - Host: peer0.org1.example.com 
       Port: 7051 

Chaque org a exactement un point d'ancrage par les pairs:

  1. ./generateArtifacts mychannel
  2. curl -X POST --data-binary @Org1MSPanchors.tx http://127.0.0.1:7059/protolator/decode/common.Envelope -o anchors.json
  3. cat anchors.json | jq ".payload.data.config_update.write_set.groups.Application.groups.Org1MSP.values"

fournit la sortie attendue:Ce qui, comme prévu, n'indique qu'une seule paire d'ancres pour Org1, en faisant la même chose pour Org2 fournit un résultat symétrique. Par conséquent, je suppose que vous avez un problème local sur votre environnement. Ou probablement fichier Org1MSPanchors.tx est resté de certains essais précédents. Je suggère de tout nettoyer et d'essayer de générer des artefacts à partir de zéro pour voir quand vous pouvez le reproduire clairement.

+0

Merci. Après le nettoyage et la reproduction, les informations d'ancrage correspondent maintenant au fichier configtx.yaml. Mais lorsque vous faites 'updateAnchorPeers 1' dans les exemples/e2e_cli/scripts/script.sh, le fichier 'Org1MSPanchors.tx' doit être mis à jour? Et l'ancre de Org1 devrait être changé en peer1.org1.example.com? Mais je ne peux rien trouver de changé. Y a-t-il quelque chose qui ne va pas? Mon édition de tissu est V1.0.2. – yudizou

+0

Aucun fichier ne doit pas être mis à jour, ce fichier est essentiellement une transaction de mise à jour de configuration qui permet de mettre à jour les paramètres de configuration des canaux, en les soumettant au service de commande. –