问题描述
因此,我有一个基于fabric-samples中fabcar示例的chaincode应用程序。昨天,我能够启动它并运行initLedger函数,但是在运行进一步的调用时发现链代码存在问题。但是,当我在调试后重新启动网络时(事实证明这是Go的噩梦),我无法再执行InitLedger,这只会给我以下错误:
-Dspring.output.ansi.enabled=always
据我所知,这是由于docker的问题引起的,但是我无法真正弄清楚如何解决我的情况。以前有人遇到过吗?
有关更多信息,fabcar链代码和我的fabcar之间的主要区别在于,我正在从JSON文件读取并将其映射到对象列表,然后将这些对象放在我的区块链上。至少那是我想要做的,因为有一次我设法运行InitLedger,我的QueryAll调用空了。
解决方法
检查chaincode
路径。我认为您的chaincode
路径错误。
让我们说您正在映射chaincode
目录,如下所示。
volumes:
../chaincode:/opt/gopath/src/github.com/chaincode
然后export CC_SRC_PATH=/opt/gopath/src/github.com/chaincode
在执行调用命令时使用上面的路径。您可以添加-p ${CC_SRC_PATH}
。
peer chaincode install -n mycc -v ${VERSION} -l ${LANGUAGE} -p ${CC_SRC_PATH} >&log.txt
注意:我假设您正在cli容器中运行所有这些命令