douyue8191 2019-07-11 00:08
浏览 294
已采纳

如何在Fabric SDK Go中添加集合配置?

I am working on adding private data into the Hyperledger using Fabric SDK Go but getting error while invoking the data.

Instantiate Chaincode

ccPolicy, err := cauthdsl.FromString("AND ('Org1MSP.member','Org2MSP.member')")

resMgmt.InstantiateCC(
    setup.Org.ChannelID,
    resmgmt.InstantiateCCRequest{
        Name:    chaincodeId,
        Path:    setup.Org.ChaincodePath,
        Version: chaincodeVersion,
        Args:    [][]byte{[]byte("init")},
        Policy:  ccPolicy,
    },resmgmt.WithRetry(retry.DefaultResMgmtOpts))

collections_config.json

[
   {
       "name": "collectionMedium",
       "policy": "AND ('Org1MSP.member', 'Org2MSP.member')",
       "requiredPeerCount": 0,
       "maxPeerCount": 3,
       "blockToLive":1000000
   },
   {
       "name": "collectionPrivate",
       "policy": "OR('Org2MSP.member')",
       "requiredPeerCount": 0,
       "maxPeerCount": 3,
       "blockToLive":5
   }
]

Invoke

product := &model.Product{id, name, color, length, width}
productBytes, err1 := json.Marshal(product)

if err1 != nil {
    return shim.Error(err1.Error())
}   

err2 := stub.PutPrivateData("collectionMedium", id, productBytes)

if err2 != nil {
    return shim.Error(err2.Error())
}

Error

Chaincode status Code: (500) UNKNOWN. Description: PUT_STATE failed: collection config not defined for chaincode [CC_ORG_V00], pass the collection configuration upon chaincode definition/instantiation

so, it says collection config is not defined during the instantiation of the chaincode. But, i don't know exactly how to add collection config in chaincode instantiation request.

please suggest me solution.

  • 写回答

2条回答 默认 最新

查看更多回答(1条)

报告相同问题?