iam*_*man 5 hyperledger hyperledger-fabric hyperledger-chaincode
我正在尝试将链码设置为官方文档中指定的外部服务
第一件事是设置externalBuilder变量
chaincode:
externalBuilders:
- name: my-golang-builder
path: /builders/golang
Run Code Online (Sandbox Code Playgroud)
在我的对等配置中,我添加了以下内容来覆盖它
- CORE_CHAINCODE_EXTERNALBUILDERS_PATH=/var/hyperledger/builderpath
- CORE_CHAINCODE_EXTERNALBUILDERS_NAME=externalbuilder
Run Code Online (Sandbox Code Playgroud)
但是当我运行时,peer install lifecycle我得到了
docker build failed: platform builder failed: Failed to generate a Dockerfile: Unknown chaincodeType: EXTERNAL
Run Code Online (Sandbox Code Playgroud)
尽管如此,它仍然尝试安装,因为旧的方式似乎没有检测到我的外部构建器路径
谁能知道解决办法
更新
对等体.yaml
peer1.base.right:
container_name: peer1.right.base
extends:
file: base.yaml
service: peer-base
environment:
- CORE_PEER_ID=peer1.right.base
- CORE_PEER_ADDRESS=peer1.right.base:9051
- CORE_PEER_LISTENADDRESS=0.0.0.0:9051
- CORE_PEER_CHAINCODEADDRESS=peer1.right.base:9052
- CORE_PEER_CHAINCODELISTENADDRESS=0.0.0.0:9052
- CORE_PEER_GOSSIP_BOOTSTRAP=peer1.right.base:10051
- CORE_PEER_GOSSIP_EXTERNALENDPOINT=peer1.right.base:9051
- CORE_PEER_LOCALMSPID=RightOrgMSP
volumes:
- /var/run/:/host/var/run/
- ./crypto-config/peerOrganizations/base.right/peers/peer1.base.right/msp:/etc/hyperledger/fabric/msp
- ./crypto-config/peerOrganizations/base.right/peers/peer1.base.right/tls:/etc/hyperledger/fabric/tls
- ./chaincode/external_builder:/builders/external
- ./fabric-config:/etc/hyperledger/fabric
- peer1.base.right:/var/hyperledger/production
ports:
- 9051:9051
networks:
Run Code Online (Sandbox Code Playgroud)
- ./fabric-config:/etc/hyperledger/fabric 是core.yaml的路径
核心文件
......
externalBuilders:
- name: external-builder
path: /builders/external
environmentWhitelist:
- GOPROXY
......
Run Code Online (Sandbox Code Playgroud)
解决了这个问题,我实际上为 core.yaml 文件设置了错误的路径
实际应该是这样的。编辑您的 docker 文件并根据此修改对等 docker 卷部分
- ./config/core.yaml:/etc/hyperledger/fabric/core.yaml
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
631 次 |
| 最近记录: |