登录
首页 >  Golang >  Go问答

区块链供应链 DApps 开发中的新功能:仅为所有者名称添加预算

来源:stackoverflow

时间:2024-02-07 10:36:14 458浏览 收藏

“纵有疾风来,人生不言弃”,这句话送给正在学习Golang的朋友们,也希望在阅读本文《区块链供应链 DApps 开发中的新功能:仅为所有者名称添加预算》后,能够真的帮助到大家。我也会在后续的文章中,陆续更新Golang相关的技术文章,有好的建议欢迎大家在评论留言,非常感谢!

问题内容

type Product struct {
    ID        string `json:"id"`
    Name      string `json:"name"`
    Area      string `json:"area"`
    OwnerName string `json:"ownerName"`
    Value     int    `json:"cost"`
    Budget    int    `json:"budget"`
}
func (pc *ProductTransferSmartContract) AddProduct(ctx contractapi.TransactionContextInterface, id string, name string, area string, ownerName string, cost int, budget int) error {

    productJSON, err := ctx.GetStub().GetState(id)
    if err != nil {
        return fmt.Errorf("Failed to read the data from world state", err)
    }

    if productJSON != nil {
        return fmt.Errorf("the product %s already exists", id)
    }

    prop := Product{
        ID:        id,
        Name:      name,
        Area:      area,
        OwnerName: ownerName,
        Value:     cost,
    }

    productBytes, err := json.Marshal(prop)
    if err != nil {
        return err
    }

    return ctx.GetStub().PutState(id, productBytes)
}

在这里,我只想附加预算与所有者姓名,这样如果所有者发生变化,我也可以更改预算。这里我用 golang 编写了链代码。


正确答案


如果要求仅限制所有者的预算访问权限,则可以使用私人数据收集。对应的API是getPrivateData和putPrivateData。

文中关于的知识介绍,希望对你的学习有所帮助!若是受益匪浅,那就动动鼠标收藏这篇《区块链供应链 DApps 开发中的新功能:仅为所有者名称添加预算》文章吧,也可关注golang学习网公众号了解相关技术文章。

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>