Hyperledger Fabric APIstub.PutState不会更新结构

问题描述 投票:0回答:1

我正在尝试在go中实现结构链代码,我想更新我的存根。我试图实现类似于fabcar chaincode的功能:

type DocRecord struct {
    owner   string
    time  string
}

func (s *SmartContract) changeOwnerDocRecord(APIstub shim.ChaincodeStubInterface, args []string) sc.Response {
    if len(args) != 2 {
        return shim.Error("Incorrect number of arguments. Expecting 2")
    }
    docrecordAsBytes, _ := APIstub.GetState(args[0])

    document := DocRecord{}

    json.Unmarshal(docrecordAsBytes, &document)
    document.owner = args[1]

    docrecordAsBytes, _ = json.Marshal(document)
    APIstub.PutState(args[0], docrecordAsBytes)

    return shim.Success(nill)
}

但是我总是看到老主人。这里缺少什么吗?

hyperledger-fabric blockchain hyperledger-chaincode chaincode
1个回答
0
投票

请注意,在满足交易背书策略且已落实冻结之前,状态不会真正持久。

仅在提交了块之后,您才能看到状态已更新。

© www.soinside.com 2019 - 2024. All rights reserved.