chaincode参数错误:JSON输入意外结束

问题描述 投票:0回答:2

我已经创建了一个测试网络,并且能够安装在golang中创建的链码。但是当实例化它时,我收到以下信息:

2020-03-24 08:00:00.843 UTC [chaincodeCmd] checkChaincodeCmdParams -> INFO 04a Using default escc
2020-03-24 08:00:00.844 UTC [chaincodeCmd] checkChaincodeCmdParams -> INFO 04b Using default vscc
Error: chaincode argument error: unexpected end of JSON input

如果我将代码构建在其自己的目录中,则可以毫无问题地进行编译。

我可以在另一个开发网络中安装和实例化代码,但不能在我从头创建的网络中安装和实例化代码。

将不胜感激!

谢谢!

bash hyperledger-fabric hyperledger
2个回答
0
投票

谢谢。我设置环境变量,然后调用实例化。为安装设置了相同的变量,效果很好。

export CC_CONSTRUCTOR='{ "Args" : [ "Message" , "Hello World - Init message" ] }'
export CC_NAME="testcc"
export CC_PATH="testcc"
export CC_VERSION="1.1"
export CC_CHANNEL_ID="testchannel"

peer chaincode instantiate -C $CC_CHANNEL_ID -n $CC_NAME  -v $CC_VERSION -c $CC_CONSTRUCTOR  -o $ORDERER_ADDRESS

我已经尝试将可能需要的某些功能转义,但这是行不通的。再次,相同的golang代码和JSON构造函数可在另一个测试环境中使用。

如果未设置CC_CONSTRUCTOR变量,则会收到另一条错误消息,因此很有可能是问题所在。


0
投票

引用CC_CONSTRUCTOR变量时,请使用引号。否则,bash会优先考虑内部空间而不是内部引号:

peer chaincode instantiate -C $CC_CHANNEL_ID -n $CC_NAME -v $CC_VERSION -c "$CC_CONSTRUCTOR" -o $ORDERER_ADDRESS
© www.soinside.com 2019 - 2024. All rights reserved.