Добавление пиров в сеть Fabcar - Hyperledger Fabric - PullRequest
0 голосов
/ 27 июня 2018

Я попытался расширить сеть fabcar до двух пиров, работающих в одной системе. Я столкнулся с некоторыми ошибками.

Я внес следующие изменения в составной файл Docker.

  peer1.org1.example.com:
  container_name: peer1.org1.example.com
  image: hyperledger/fabric-peer
  environment:
    - CORE_VM_ENDPOINT=unix:///host/var/run/docker.sock
    - CORE_PEER_ID=peer1.org1.example.com
    - CORE_LOGGING_PEER=debug
    - CORE_CHAINCODE_LOGGING_LEVEL=DEBUG
    - CORE_PEER_LOCALMSPID=Org1MSP
    - CORE_PEER_MSPCONFIGPATH=/etc/hyperledger/msp/peer/
    - CORE_PEER_ADDRESS=peer1.org1.example.com:7051
    # # 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}_basic
    - CORE_LEDGER_STATE_STATEDATABASE=CouchDB
    - CORE_LEDGER_STATE_COUCHDBCONFIG_COUCHDBADDRESS=couchdb1:5984
    # The CORE_LEDGER_STATE_COUCHDBCONFIG_USERNAME and CORE_LEDGER_STATE_COUCHDBCONFIG_PASSWORD
    # provide the credentials for ledger to connect to CouchDB.  The username and password must
    # match the username and password set for the associated CouchDB.
    - CORE_LEDGER_STATE_COUCHDBCONFIG_USERNAME=
    - CORE_LEDGER_STATE_COUCHDBCONFIG_PASSWORD=
  working_dir: /opt/gopath/src/github.com/hyperledger/fabric
  command: peer node start
  # command: peer node start --peer-chaincodedev=true
  ports:
    - 8051:7051
    - 8053:7053
  volumes:
      - /var/run/:/host/var/run/
      - ./crypto-config/peerOrganizations/org1.example.com/peers/peer1.org1.example.com/msp:/etc/hyperledger/msp/peer
      - ./crypto-config/peerOrganizations/org1.example.com/users:/etc/hyperledger/msp/users
      - ./config:/etc/hyperledger/configtx
  depends_on:
    - orderer.example.com
    - couchdb1
  networks:
    - basic

couchdb1:
container_name: couchdb1
image: hyperledger/fabric-couchdb
# Populate the COUCHDB_USER and COUCHDB_PASSWORD to set an admin user and password
# for CouchDB.  This will prevent CouchDB from operating in an "Admin Party" mode.
environment:
  - COUCHDB_USER=
  - COUCHDB_PASSWORD=
ports:
  - 6984:5984
networks:
  - basic

В файле start.sh я добавил строку кода, чтобы присоединить узел 1 к каналу.

Когда я выполняю узел ./startFabric.sh, я получаю следующую ошибку:

Ошибка ответа от демона, контейнер не запущен.

Журналы, как показано ниже:

CONTAINER ID        IMAGE                        COMMAND                  CREATED             STATUS                     PORTS                                            NAMES

b602e1898831        hyperledger/fabric-peer      "peer node start"        3 minutes ago       Exited (1) 3 minutes ago                                                    peer1.org1.example.com
780acf5be420        hyperledger/fabric-couchdb   "tini -- /docker-ent…"   3 minutes ago       Up 3 minutes               4369/tcp, 9100/tcp, 0.0.0.0:6984->5984/tcp       couchdb1

d93c8d14e07d        hyperledger/fabric-peer      "peer node start"        3 minutes ago       Up 3 minutes               0.0.0.0:7051->7051/tcp, 0.0.0.0:7053->7053/tcp   peer0.org1.example.com

f8d5a07e0c14        hyperledger/fabric-couchdb   "tini -- /docker-ent…"   3 minutes ago       Up 3 minutes               4369/tcp, 9100/tcp, 0.0.0.0:5984->5984/tcp       couchdb

0c8be993aaad        hyperledger/fabric-orderer   "orderer"                3 minutes ago       Up 3 minutes               0.0.0.0:7050->7050/tcp                           orderer.example.com

29484423ee69        hyperledger/fabric-ca        "sh -c 'fabric-ca-se…"   3 minutes ago       Exited (1) 3 minutes ago                                                    ca.example.com

Digitals-MacBook-Air-3:fabcar digital3$ docker logs b602e1898831  
2018-06-28 08:12:18.923 UTC [main] main -> ERRO 001 **Cannot run peer because error when setting up MSP of type bccsp from directory /etc/hyperledger/msp/peer/: could not load a valid signer certificate from directory /etc/hyperledger/msp/peer/signcerts: stat /etc/hyperledger/msp/peer/signcerts: no such file or directory**

Изменения, которые я сделал:

  1. В crypto-config: изменено количество шаблонов до 2.
  2. В docker-compose добавлен еще один сервис для peer1 с базой данных как couchdb1. Без изменений в CLI.
  3. В файле start.sh я написал строку кода, чтобы добавить peer 1 в канал.

Когда я запускаю узел ./startFabric.sh в каталоге fabcar, я получаю вышеупомянутые ошибки.

Я делаю правки в базовой сети, а не в первой.

Я только что проверил каталог сертификатов: он выглядит так, как показано ниже

CRYPTOCONFIG - PeerOrganisations - Peers - peer0, peer1

Peer0 имеет все сертификаты

Peer1 имеет только папку msp, а не папку tls. В папке msp есть только admincerts и хранилище ключей

Обновление

Мне удалось сгенерировать сертификаты для обоих пиров, и я успешно выполнил команду узла ./startFabric.sh из каталога fabcar. Однако я столкнулся с проблемой при выполнении команды enrollAdmin.

Ошибка: вызов конечной точки регистрации завершился с ошибкой [Ошибка: подключение ECONNREFUSED 10.228.27.101:7054] по требованию клиента. (/Users/digital3/fabric-samples/fabcar/node_modules/fabric-ca-client/lib/FabricCAClientImpl.js:883:12) в emitOne (events.js: 116: 13) на ClientRequest.emit (events.js: 211: 7) в Socket.socketErrorListener (_http_client.js: 387: 9) в emitOne (events.js: 116: 13) на Socket.emit (events.js: 211: 7) в emitErrorNT (внутренний / streams / destroy.js: 64: 8) в _combinedTickCallback (внутренняя / process / next_tick.js: 138: 11) at process._tickCallback (internal / process / next_tick.js: 180: 9) Не удалось зарегистрировать администратора: ошибка: не удалось зарегистрировать администратора

Не могли бы вы помочь мне с этим

1 Ответ

0 голосов
/ 28 июня 2018

Если вы хотите добавить дополнительные одноранговые узлы, вам также потребуется сгенерировать соответствующий криптографический материал.

В строке 63 файла crypto-config.yaml в каталоге basic-network установите значение Count в '2', например ::

# "Template"
# ---------------------------------------------------------------------------
# Allows for the definition of 1 or more hosts that are created sequentially
# from a template. By default, this looks like "peer%d" from 0 to Count-1.
# You may override the number of nodes (Count), the starting index (Start)
# or the template used to construct the name (Hostname).
#
# Note: Template and Specs are not mutually exclusive.  You may define both
# sections and the aggregate nodes will be created for you.  Take care with
# name collisions
# ---------------------------------------------------------------------------
Template:
  Count: 2
  # Start: 5
  # Hostname: {{.Prefix}}{{.Index}} # default

Это даст шагу криптогена генерацию ключевого материала для двух одноранговых узлов для организации: Org1.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...