首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为链码数据编写helper API的建议方法是什么?

为链码数据编写helper API的建议方法是什么?
EN

Stack Overflow用户
提问于 2017-06-21 04:53:04
回答 2查看 127关注 0票数 1

我所理解的是,链码是智能合约并实现业务逻辑,rules.It还根据业务逻辑在共享账本中创建和操作实体/资产。但是在fabric示例中,像readMarble、getAllMarblesforOwner这样的辅助方法也是在链码中实现的。所以我的问题是,在保持链码只实现业务逻辑的同时,有没有其他建议的方法来与共享账本交互并编写助手方法?

EN

回答 2

Stack Overflow用户

发布于 2017-06-21 05:40:13

Chaincode是与分类帐交互的唯一接口,它必须实现Chaincode接口:

代码语言:javascript
复制
type mychaincode struct {
}

func (cc *mychaincode) Init(stub shim.ChaincodeStubInterface) pb.Response {
    panic("not implemented")
}

func (cc *mychaincode) Invoke(stub shim.ChaincodeStubInterface) pb.Response {
    panic("not implemented")
}

其中shim.ChaincodeStubInterface公开了一组与账本交互的应用程序接口,比如更改状态、读取状态等。当然,你可以让事情变得更清晰,更好地定义辅助函数:

代码语言:javascript
复制
type mychaincode struct {
}

func (cc *mychaincode) Init(stub shim.ChaincodeStubInterface) pb.Response {
    panic("not implemented")
}

func (cc *mychaincode) Invoke(stub shim.ChaincodeStubInterface) pb.Response {
    function, args := stub.GetFunctionAndParameters()

    if args['0'] == "aux" {
        // Call aux function
        cc.auxFunction(args)
    }
}

func (cc *mychaincode) auxFunction(someparameters interface{}) {
    // Do some very important logic here
}
票数 1
EN

Stack Overflow用户

发布于 2017-06-25 02:54:26

因此,链码决定谁可以读写它的数据,并提供适当的访问控制。

为了与分类帐结构交互,例如遍历区块和交易,有一个称为qscc (查询系统链码)的系统链码,它提供查询有关通道、区块和交易的信息的能力。

从信息建模的角度来看,您可以使用多个链码,每个链码可能负责管理某些部分,而一些链码将提供聚合。例如,要为汽车引擎建模(免责声明:我没有汽车机械方面的背景),您可能需要EngineChaincode、CylinderChaincode、SparkplugChaincode、OilSumpChaincode等。EngineChaincode将调用其他链代码来聚合查询信息。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44662805

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档