2017-09-12 2 views
1

J'ai développé un réseau Blockchain avec un composeur d'hyperliens sur un environnement de développement comme le montre la documentation. Je l'ai testé et fonctionne bien. Donc je veux construire un réseau de production. En ce moment, mon premier objectif est d'ajouter plus de pairs à l'environnement de développement sur le même serveur afin d'apprendre. J'ai regardé le startFabric.sh et j'ai édité le docker et ce sh mais cela ne fonctionne pas. J'ai joint deux fichiers que j'ai édités du code original. L'erreur qu'il me déclenche est que le conteneur de peer1 ne fonctionne pas. La base de données 2 fonctionne. J'ai cherché sur les forums comment je peux ajouter plus de pairs mais je ne trouve pas un bon guide pour comprendre étape par étape. Alors, ma question, qu'est-ce que j'ai fait de mal? Connaissez-vous un bon tutoriel pour apprendre comment ajouter plus de pairs à l'environnement de développement? MerciComment pourrais-je ajouter plus de pairs à la blockchain réseau qui ont été développés avec le compositeur hyperledge?

startFabric.sh

#!/bin/bash 

# Exit on first error, print all commands. 
set -ev 

#Detect architecture 
ARCH=`uname -m` 

# Grab the current directory 
DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" 

# 
cd "${DIR}"/composer 

ARCH=$ARCH docker-compose -f "${DIR}"/composer/docker-compose.yml down 
ARCH=$ARCH docker-compose -f "${DIR}"/composer/docker-compose.yml up -d 

# wait for Hyperledger Fabric to start 
# incase of errors when running later commands, issue export FABRIC_START_TIMEOUT=<larger number> 
echo ${FABRIC_START_TIMEOUT} 
sleep ${FABRIC_START_TIMEOUT} 

# Create the channel 
docker exec peer0.org1.example.com peer channel create -o orderer.example.com:7050 -c composerchannel -f /etc/hyperledger/configtx/composer-channel.tx 
docker exec peer1.org1.example.com peer channel create -o orderer.example.com:7050 -c composerchannel -f /etc/hyperledger/configtx/composer-channel1.tx 


# Join peer0.org1.example.com to the channel. 
docker exec -e "CORE_PEER_MSPCONFIGPATH=/etc/hyperledger/msp/users/[email protected]/msp" peer0.org1.example.com peer channel join -b composerchannel.block 
docker exec -e "CORE_PEER_MSPCONFIGPATH=/etc/hyperledger/msp/users/[email protected]/msp" peer1.org1.example.com peer channel join -b composerchannel.block 


cd ../.. 

docker-composer.yml

version: '2' 

services: 
    ca.org1.example.com: 
    image: hyperledger/fabric-ca:$ARCH-1.0.1 
    environment: 
     - FABRIC_CA_HOME=/etc/hyperledger/fabric-ca-server 
     - FABRIC_CA_SERVER_CA_NAME=ca.org1.example.com 
#  - FABRIC_CA_SERVER_CA_CERTFILE=/etc/hyperledger/fabric-ca-server-config/org1.example.com-cert.pem 
#  - FABRIC_CA_SERVER_CA_KEYFILE=/etc/hyperledger/fabric-ca-server-config/a22daf356b2aab5792ea53e35f66fccef1d7f1aa2b3a2b92dbfbf96a448ea26a_sk 

    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/19ab65a$ 
    volumes: 
     - ./crypto-config/peerOrganizations/org1.example.com/ca/:/etc/hyperledger/fabric-ca-server-config 
    container_name: ca.org1.example.com 

    orderer.example.com: 
    container_name: orderer.example.com 
    image: hyperledger/fabric-orderer:$ARCH-1.0.1 
    environment: 
     - ORDERER_GENERAL_LOGLEVEL=debug 
     - ORDERER_GENERAL_LISTENADDRESS=0.0.0.0 
     - ORDERER_GENERAL_GENESISMETHOD=file 
     - ORDERER_GENERAL_GENESISFILE=/etc/hyperledger/configtx/composer-genesis.block 
     - ORDERER_GENERAL_LOCALMSPID=OrdererMSP 
     - ORDERER_GENERAL_LOCALMSPDIR=/etc/hyperledger/msp/orderer/msp 
    working_dir: /opt/gopath/src/github.com/hyperledger/fabric 
    command: orderer 
    ports: 
     - 7050:7050 
    volumes: 
     - ./:/etc/hyperledger/configtx 
     - ./crypto-config/ordererOrganizations/example.com/orderers/orderer.example.com/msp:/etc/hyperledger/msp/orderer/msp 

    peer0.org1.example.com: 
    container_name: peer0.org1.example.com 
    image: hyperledger/fabric-peer:$ARCH-1.0.1 
    environment: 
     - CORE_LOGGING_PEER=debug 
     - CORE_CHAINCODE_LOGGING_LEVEL=DEBUG 
     - CORE_VM_ENDPOINT=unix:///host/var/run/docker.sock 
     - CORE_PEER_ID=peer0.org1.example.com 
     - CORE_PEER_ADDRESS=peer0.org1.example.com:7051 
     - CORE_VM_DOCKER_HOSTCONFIG_NETWORKMODE=composer_default 
     - CORE_PEER_LOCALMSPID=Org1MSP 
     - CORE_PEER_MSPCONFIGPATH=/etc/hyperledger/peer/msp 
     - CORE_LEDGER_STATE_STATEDATABASE=CouchDB 
     - CORE_LEDGER_STATE_COUCHDBCONFIG_COUCHDBADDRESS=couchdb:5984 
    working_dir: /opt/gopath/src/github.com/hyperledger/fabric 
    command: peer node start --peer-defaultchain=false 
    ports: 
     - 7051:7051 
     - 7053:7053 
    volumes: 
     - /var/run/:/host/var/run/ 
     - ./:/etc/hyperledger/configtx 
     - ./crypto-config/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/msp:/etc/hyperledger/peer/msp 
     - ./crypto-config/peerOrganizations/org1.example.com/users:/etc/hyperledger/msp/users 
    depends_on: 
     - orderer.example.com 
     - couchdb 

    couchdb: 
    container_name: couchdb 
    image: hyperledger/fabric-couchdb:$ARCH-1.0.1 
    ports: 
     - 5984:5984 
    environment: 
     DB_URL: http://localhost:5984/member_db 


    peer1.org1.example.com: 
    container_name: peer1.org1.example.com 
    image: hyperledger/fabric-peer:$ARCH-1.0.1 
    environment: 
     - CORE_LOGGING_PEER=debug 
     - CORE_CHAINCODE_LOGGING_LEVEL=DEBUG 
     - CORE_VM_ENDPOINT=unix:///host/var/run/docker.sock 
     - CORE_PEER_ID=peer1.org1.example.com 
     - CORE_PEER_ADDRESS=peer1.org1.example.com:7051 
     - CORE_VM_DOCKER_HOSTCONFIG_NETWORKMODE=composer_default 
     - CORE_PEER_LOCALMSPID=Org1MSP 
     - CORE_PEER_MSPCONFIGPATH=/etc/hyperledger/peer/msp 
     - CORE_LEDGER_STATE_STATEDATABASE=CouchDB 
     - CORE_LEDGER_STATE_COUCHDBCONFIG_COUCHDBADDRESS=couchdb2:5985 
    working_dir: /opt/gopath/src/github.com/hyperledger/fabric 
    command: peer node start --peer-defaultchain=false 
    ports: 
     - 7061:7061 
     - 7063:7063 
    volumes: 
     - /var/run/:/host/var/run/ 
     - ./:/etc/hyperledger/configtx 
     - ./crypto-config/peerOrganizations/org1.example.com/peers/peer1.org1.example.com/msp:/etc/hyperledger/peer/msp 
     - ./crypto-config/peerOrganizations/org1.example.com/users:/etc/hyperledger/msp/users 
    depends_on: 
     - orderer.example.com 
     - couchdb2 


    couchdb2: 
    container_name: couchdb2 
    image: hyperledger/fabric-couchdb:$ARCH-1.0.1 
    ports: 
     - 5985:5985 
    environment: 
     DB_URL: http://localhost:5984/member_db 

Répondre

1

Nous fournissons un Hyperledger réseau de base de tissu à des fins de développement uniquement et ne doit pas être un exemple Démontrez comment en construire un. Hyperledger Composer fonctionne avec tout Hyperledger configuration tissu avec les profils de connexion droite anf Hyperledger Fabric fournir de la documentation et des exemples sur la façon de construire vos propres réseaux que je pense est ce que vous avez besoin Voir https://hyperledger-fabric.readthedocs.io/en/latest/build_network.html sur la façon de construire votre propre réseau et aussi voir https://hyperledger.github.io/composer/reference/connectionprofile.html pour plus d'informations sur les profils de connexion composer. également voir Does composer support endorsement policy? How? qui fournit quelques informations sur les réseaux multi-organisations et les profils de connexion

+0

Merci pour l'information. Je ne savais pas que cela fonctionne avec le tissu hyperledger. Je vais les lire et les essayer et je vous dirai si j'ai d'autres questions ou si j'ai résolu toutes mes questions. – cansado2930

+0

J'ai construit l'exemple appelé first-network et j'ai ajouté un pair à org1, donc il y a 3 peer sur org1 et 2 peer sur org2. Ensuite, j'ai édité des fichiers pour créer le nouveau pair et cela fonctionne, il est lancé. Ensuite, je suis passé à scripts/script.sh pour éditer, car l'homologue est créé mais il n'est pas joint au canal. Donc, j'ai édité cette fonction afin d'ajouter le nouveau pair, mais il me lance une erreur parce que le certificat est valide pour peer1.org1 mais pas pour peer2.org1. Alors, où n'ai-je pas défini correctement le nouveau pair afin d'échouer le processus de jointure? Je vous remercie – cansado2930