Ошибка аргумента цепочки кодов: неожиданный конец ввода JSON - PullRequest
0 голосов
/ 24 марта 2020

Я создал тестовую сеть и могу установить код цепи, созданный в 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

Если я создаю код в своем собственном каталоге, он без проблем компилируется.

Я могу установить и создать экземпляр кода в другой сети разработки , но не в одном я создал с нуля.

Помощь будет оценена!

Спасибо!

Ответы [ 2 ]

0 голосов
/ 24 марта 2020

Используйте кавычки при обращении к переменной CC_CONSTRUCTOR. В противном случае bash отдает приоритет внутренним пробелам над внутренними кавычками:

peer chaincode instantiate -C $CC_CHANNEL_ID -n $CC_NAME -v $CC_VERSION -c "$CC_CONSTRUCTOR" -o $ORDERER_ADDRESS
0 голосов
/ 24 марта 2020

Спасибо. Я устанавливаю переменные env, затем вызываю экземпляр. Для установки установлены те же переменные, которые работают нормально.

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, я получу другое сообщение об ошибке, следовательно, с высокой вероятностью, которая является проблемой.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...