美文网首页
fabric之chaincode方法GetStateByPart

fabric之chaincode方法GetStateByPart

作者: 时间里的小恶魔 | 来源:发表于2018-08-24 17:23 被阅读367次

    GetStateByPartialCompositeKey根据查询账中给定的部分复合键返回一个迭代器可用于遍历所有前缀匹配的复合键。 objectType和属性是预计只有有效的utf8字符串,不应该包含 U + 0000(零字节)和U + 10FFFF(最大和未分配的代码点)。请参阅相关函数SplitCompositeKey和CreateCompositeKey。(一般用于需要查询组合key中所有的信息)

    func (sc *SimpleChaincode) queryAllOwner(stub shim.ChaincodeStubInterface) pb.Response {
        coloredMarbleResultsIterator, err := stub.GetStateByPartialCompositeKey(INDEX, []string{})
        if err != nil {
            return shim.Error(err.Error())
        }
        defer coloredMarbleResultsIterator.Close()
    
        var buffer bytes.Buffer
        buffer.WriteString("[")
    
        bArrayMemberAlreadyWritten := false
    
        for coloredMarbleResultsIterator.HasNext() {
    
            responseRange, err := coloredMarbleResultsIterator.Next()
            if err != nil {
                return shim.Error(err.Error())
            }
            _, compositeKeyParts, err := stub.SplitCompositeKey(responseRange.Key)
            if err != nil {
                return shim.Error(err.Error())
            }
            // name := compositeKeyParts[0]
            // hashvalue := compositeKeyParts[1]
            owner := compositeKeyParts[2]
    
            // Add a comma before array members, suppress it for the first array member
            if bArrayMemberAlreadyWritten == true {
                buffer.WriteString(",")
            }
            buffer.WriteString("{\"owner\":")
            buffer.WriteString("\"")
            buffer.WriteString(owner)
            buffer.WriteString("\"")
    
            buffer.WriteString("}")
            bArrayMemberAlreadyWritten = true
    
        }
    
        buffer.WriteString("]")
    
        fmt.Printf("- getHistoryForMarble returning:\n%s\n", buffer.String())
    
        return shim.Success(buffer.Bytes())
    }
    
    
    

    运行结果:


    image.png

    相关文章

      网友评论

          本文标题:fabric之chaincode方法GetStateByPart

          本文链接:https://www.haomeiwen.com/subject/uuriiftx.html