San*_*epR 2 hyperledger-fabric
我可以通过对等链代码调用来调用链代码功能:
`peer chaincode invoke -o localhost:7050 -C mychannel -n pmc -c '{"function":"initLedger","Args":["one", "two"]}`
Run Code Online (Sandbox Code Playgroud)
但我想将 javascript 对象作为参数传递,例如:
`peer chaincode invoke -o localhost:7050 -C mychannel -n pmc -c '{"function":"initLedger","Args":[ {property1:"one"}, {property2:"two"}]}`
Run Code Online (Sandbox Code Playgroud)
但这会因无效字符 'p' 寻找对象键字符串的开头而失败。我尝试了一些其他排列,但都没有成功。
该文档将 -c 描述为:
-c, --ctor string JSON 格式的链代码的构造函数消息(默认为“{}”)
可以来一告诉正确的语法来传递对象。
编辑 1:为了完整起见
peer chaincode invoke -o localhost:7050 -C mychannel -n pmc -c '{"function":"initLedger","Args": [{"property1":"one", "property2":"two"} ]}'
Run Code Online (Sandbox Code Playgroud)
返回错误:链码参数错误:json:无法将数组解组为字符串类型的 Go 结构字段 strArgs.Args
我认为您可能正在使用旧格式的 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 '{"function":"initLedger", "Args": ["{\"property1\":\"one\",\"property2\":\"two\"}"]}'
归档时间: |
|
查看次数: |
1695 次 |
最近记录: |