Я попытался расширить сеть 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**
Изменения, которые я сделал:
- В crypto-config: изменено количество шаблонов до 2.
- В docker-compose добавлен еще один сервис для peer1 с базой данных как couchdb1. Без изменений в CLI.
- В файле 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)
Не удалось зарегистрировать администратора: ошибка: не удалось зарегистрировать администратора
Не могли бы вы помочь мне с этим