Hyperledger fabric Hyperledger结构:对等链码调用:将JSON对象传递给链码函数?
我能够通过对等链码调用调用链码功能,如下所示:Hyperledger fabric Hyperledger结构:对等链码调用:将JSON对象传递给链码函数?,hyperledger-fabric,Hyperledger Fabric,我能够通过对等链码调用调用链码功能,如下所示: `peer chaincode invoke -o localhost:7050 -C mychannel -n pmc -c '{"function":"initLedger","Args":["one", "two"]}` 但我想将javascript对象作为参数传递,如下所示: `peer chaincode invoke -o localhost:7050 -C mychannel -n pmc -c '{"function":"init
`peer chaincode invoke -o localhost:7050 -C mychannel -n pmc -c '{"function":"initLedger","Args":["one", "two"]}`
但我想将javascript对象作为参数传递,如下所示:
`peer chaincode invoke -o localhost:7050 -C mychannel -n pmc -c '{"function":"initLedger","Args":[ {property1:"one"}, {property2:"two"}]}`
但此操作失败,因为查找对象键字符串开头的字符“p”无效。我尝试过其他几种排列,但都没有成功
文档中提到了-c as:-c、 --JSON格式的链码的ctor字符串构造函数消息(默认值“{}”) 可以告诉一个正确的语法来传递对象 编辑1: 为了完整起见,请遵循以下步骤
peer chaincode invoke -o localhost:7050 -C mychannel -n pmc -c '{"function":"initLedger","Args": [{"property1":"one", "property2":"two"} ]}'
返回错误:Chaincode参数错误:json:无法将数组解组到Go struct字段strArgs.Args中,类型为string我认为您可能使用了invoke命令的旧格式,因此我建议使用如下新格式,包括字符串化的json对象:
peer-chaincode-invoke-o localhost:7050-C mychannel-n pmc-C'{“Args”:[“initLedger”、“{\“property1\”:“one\”、““property2\”:“two\”}]}
但如果您需要使用您的格式,那么可能:
peer-chaincode-invoke-o localhost:7050-C mychannel-n pmc-C'{“函数”:“initLedger”,“Args”:[“{\”property1\”:“one\”,“property2\”:“two\”}]}