【问题标题】:Hyperledger Fabric External builder Failed to generate a Dockerfile: Unknown chaincodeType: EXTERNALHyperledger Fabric 外部构建器无法生成 Dockerfile:未知链代码类型:EXTERNAL
【发布时间】:2021-05-22 12:00:52
【问题描述】:
peer lifecycle chaincode install ../asset-transfer-basic/chaincode-external/asset-transfer-basic-external.tgz

错误:链代码安装失败,状态为:500 - 无法调用“InstallChaincode”的支持实现:无法构建链代码:docker build 失败:平台构建器失败:无法生成 Dockerfile:未知链代码类型:外部

【问题讨论】:

  • 你解决了这个错误吗?!

标签: hyperledger-fabric chaincode


【解决方案1】:

提供bin(build、release、detect)目录下脚本所需的权限。

chmod 777 -R bin/

还要确保正确映射链码目录

core.yaml

externalBuilders: 
    # This path has to be mapped to peer containers with a local chaincode directory
    - path: /opt/gopath/src/github.com/hyperledger/external-builder
      name: chaincode-external-builder
      propagateEnvironment:
         - CORE_PEER_TLS_ROOTCERT_FILE
         - CORE_PEER_TLS_CERT_FILE
         - CORE_PEER_TLS_KEY_FILE

docker-compose.yaml

....
  volumes:
    # external builder chaincode path (local/path:container/path)
    - ../chaincode:/opt/gopath/src/github.com/hyperledger/external-builder

【讨论】:

    【解决方案2】:

    这可能会发生,因为出于某种原因,您的外部构建器根本没有被执行,这导致对等方尝试以传统方式安装链代码。对于代码类型external 的那部分不支持,因此出现错误。

    在我的情况下,错误是我的core.yaml 格式错误,因为externalBuilders 定义缩进太多,因此不再在chaincode 定义下定义。而且因为实际上由于格式错误而根本没有定义外部构建器,所以它无法执行,然后我得到了完全相同的错误。

    因此,请注意如何格式化 yaml 文件。

    【讨论】:

      猜你喜欢
      • 2020-08-07
      • 1970-01-01
      • 2018-09-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-08-04
      • 1970-01-01
      相关资源
      最近更新 更多