我试图在我的笔记本电脑上安装Hyperledger阻止链,方法是遵循Windows安装程序,能够启动并运行对接器映像,但是当我试图部署提供的示例时,它总是会将JSON输入中的错误抛回如下所示。
peer chaincode deploy -p github.com/hyperledger/fabric/examples/chaincode/go/chaincode_example02 -c '{"Function":"init", "Args": ["a","100", "b", "200"]}'答复:
sug@sri-ub:~/go/$ docker exec -it aa413f4c4289 bash
root@aa413f4c4289:/opt/gopath/src/github.com/hyperledger/fabric# peer chaincode deploy -p github.com/hyperledger/fabric/examples/chaincode/go/chaincode_example02 -c '{"Function":"init", "Args": ["a","100", "b", "200"]}'
04:30:55.822 [logging] LoggingInit -> DEBU 001 Setting default logging level to DEBUG for command 'chaincode' Error: Non-empty JSON chaincode parameters must contain exactly 1 key: 'Args'我试过在主机上找邮递员:
{"jsonrpc":"2.0","method":"deploy","params":{"type":1,"chaincodeID":{"path":"github.com/hyperledger/fabric/examples/chaincode/go/chaincode_example02"},"ctorMsg":{"function":"init","args":["a", "1000", "b", "2000"]}},"id":1}得到的回应是
{"jsonrpc":"2.0","error":{"code":-32700,"message":"Parse error","data":"Error unmarshalling chaincode request payload: illegal base64 data at input byte 0"},"这是类似于错误信息,我无法解决这仍然,创建一个新的帖子建议,请帮助我解决这个问题。
发布于 2016-08-20 08:11:16
在最新的fabric版本中,请求的格式发生了更改。函数名应该在Args中,所有参数都应该是base64编码的。
而不是:
{"function":"init","args":["a", "1000", "b", "2000"]}}
部署命令的参数如下所示:
{"args":['aW5pdA==', 'YQ==', 'MTAwMA==', 'Yg==', 'MjAwMA==']}
更新:格式再次更改。不再需要Base64编码。最新面料中正确的有效载荷是:
{“args”:['init', 'a', '100', 'b', '100']}
https://stackoverflow.com/questions/39050494
复制相似问题