How can I rectify from Error: flag needs an argument: 'c' in -c?

How can I rectify from Error: flag needs an argument: 'c' in -c?

在将链代码提交到 hyperledger fabric 测试网络后,我使用以下命令初始化链代码。

peer chaincode invoke -o localhost:7050 --ordererTLSHostnameOverride orderer.example.com --tls $CORE_PEER_TLS_ENABLED --cafile $ORDERER_CA -C testchannel -n property --peerAddresses localhost:7051 --tlsRootCertFiles $CORE_PEER_TLS_ROOTCERT_FILE_ORG1 --peerAddresses localhost:9051 --tlsRootCertFiles $CORE_PEER_TLS_ROOTCERT_FILE_ORG2 --isInit -c `{"Args":[]}`

然后我遇到了以下错误,

{Args:[]}: command not found
Error: flag needs an argument: 'c' in -c

Error Screenshot

我该如何纠正这个错误。 提前致谢!

我不确定这个,因为我通常不使用 --isInit 标志,但我相信如果使用它,你需要在你的合约中有一个 Init 函数来匹配这个期望标志,即它应该有一个方法签名来适应标志的预期用途。

我倾向于不使用标志,而是调用自己开发的 Init 函数,如下所示。

-c '{"function":"initLedger","Args":[]}'

看看这个 link 如果你还没有看过的话。