我关注 - http://hyperledger-fabric.readthedocs.io/en/release/build_network.html
通过手动配置,我在4个对等体中安装了链代码
1. peer0.org1.example.com(anchor peer)
2. peer1.org1.example.com
3. peer0.org2.example.com(anchor peer)
4. peer1.org2.example.com
在ID为“first”的频道中。
现在,当我尝试实例化链代码时,我收到错误:
所以,这是环境变量COMPOSE_PROJECT_NAME
的问题。我通过在我的项目文件夹中添加一个.env
文件解决了这个问题,环境变量COMPOSE_PROJECT_NAME
设置为net
。
如果这没有帮助,您还可以检查peer-base.yaml
文件中的变量CORE_VM_DOCKER_HOSTCONFIG_NETWORKMODE
,看看它是否设置正确。你的peer-base.yaml
文件应该有环境块看起来像这样:
- CORE_VM_ENDPOINT=unix:///host/var/run/docker.sock
# 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}_byfn
#- CORE_LOGGING_LEVEL=ERROR
- CORE_LOGGING_LEVEL=DEBUG
- CORE_PEER_TLS_ENABLED=true
- CORE_PEER_GOSSIP_USELEADERELECTION=true
- CORE_PEER_GOSSIP_ORGLEADER=false
- CORE_PEER_PROFILE_ENABLED=true
- CORE_PEER_TLS_CERT_FILE=/etc/hyperledger/fabric/tls/server.crt
- CORE_PEER_TLS_KEY_FILE=/etc/hyperledger/fabric/tls/server.key
- CORE_PEER_TLS_ROOTCERT_FILE=/etc/hyperledger/fabric/tls/ca.crt
你的COMPOSER_PROJECT_NAME
没有设定。启动docker容器时,请更新此命令
CHANNEL_NAME=$CHANNEL_NAME docker-compose -f docker-compose-cli.yaml up -d
使用以下命令:
CHANNEL_NAME=$CHANNEL_NAME IMAGE_TAG=latest COMPOSER_PROJECT_NAME=byfn docker-compose -f docker-compose-cli.yaml up -d