Hyperledger Fabric 外部构建器无法生成 Dockerfile:未知链码类型:EXTERNAL

问题描述

peer lifecycle chaincode install ../asset-transfer-basic/chaincode-external/asset-transfer-basic-external.tgz

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

解决方法

修改bin(build,release,detect)目录下脚本的权限即可。

chmod 777 -R bin/
,

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

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

因此,请注意格式化 yaml 文件的方式。