在超级分类账结构中运行安全资产转移时,我得到此错误,查询命令未通过
命令:-peer chaincode query -o localhost:7050——ordererTLSHostnameOverride orderer.example.com——tls——cafile "${PWD}/organizations/ordererOrganizations/example.com/orderers/orderer.example.com/msp/tlscacerts/tlsca.example.com-cert.pem"-C mychannel -n secured -C '{"function";GetAssetPrivateProperties"; "Args":["asset1"]}'
错误:-错误:查询时背书失败。Response: status:500 message:"asset private details不存在于客户端组织的集合中:asset1">
有谁能帮我吗?这个错误是从链码抛出的。在查询数据之前,请确保已使用密钥'asset1'将数据添加到私有数据集合中。此外,查询命令不需要orderer端点。
对等链码查询-C mychannel -n basic -C '{"function" GetAssetPrivateProperties"; "Args":["asset1"]}'
hyperledger/fabric-samples中的源代码似乎与hyperledger fabric文档中提供的命令不兼容。
更改
存储库中的代码服装/asset-transfer-secured-agreement/chaincode-go/asset_transfer.go
在函数头中添加参数asset_id string
。CreateAsset(ctx contractapi.TransactionContextInterface,asset_id string, publicDescription string)
在函数体中注释assetID := hex.EncodeToString(hash.Sum(nil))
复位assetID := asset_id
希望有帮助