Hyperledger Fabric 链码(2) 接口
2021/5/15 22:56:35
本文主要是介绍Hyperledger Fabric 链码(2) 接口,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
1.Chaincode interface:每个链码程序必须实现链码接口,用以响应接收的事务。
1.1 go语言的“shim ”包中,接口规范如下:
- Init:在链码实例化或者升级的时候被调用,完成数据初始化
- Invoke:客户端调用Invoke方法来提交交易提案,在更新或查询提案事务中分类帐本数据状态的时候被调用
type Chaincode interface { // Init is called during Instantiate transaction after the chaincode container // has been established for the first time, allowing the chaincode to // initialize its internal data Init(stub ChaincodeStubInterface) pb.Response // Invoke is called to update or query the ledger in a proposal transaction. // Updated state variables are not committed to the ledger until the // transaction is committed. Invoke(stub ChaincodeStubInterface) pb.Response }
2. ChaincodeStubinterface:shim中的另一个重要接口,用于访问和修改帐本,以及实现链间调用
共定义了36个成员方法
eg.
- GetFunctionAndParameters()(function string,params []string)返回被调用函数的名称以及参数列表
- GetStringArgs()[]string 直接返回参数列表
- GetState(key string)([]byte,error) 根据指定的key值查询数据状态
- PutState(key string,value []byte)error 根据指定的key,将对应的value保存到帐本中
- DelState(key) 删除账本中的一对键值。
这篇关于Hyperledger Fabric 链码(2) 接口的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-23增量更新怎么做?-icode9专业技术文章分享
- 2024-11-23压缩包加密方案有哪些?-icode9专业技术文章分享
- 2024-11-23用shell怎么写一个开机时自动同步远程仓库的代码?-icode9专业技术文章分享
- 2024-11-23webman可以同步自己的仓库吗?-icode9专业技术文章分享
- 2024-11-23在 Webman 中怎么判断是否有某命令进程正在运行?-icode9专业技术文章分享
- 2024-11-23如何重置new Swiper?-icode9专业技术文章分享
- 2024-11-23oss直传有什么好处?-icode9专业技术文章分享
- 2024-11-23如何将oss直传封装成一个组件在其他页面调用时都可以使用?-icode9专业技术文章分享
- 2024-11-23怎么使用laravel 11在代码里获取路由列表?-icode9专业技术文章分享
- 2024-11-22怎么实现ansible playbook 备份代码中命名包含时间戳功能?-icode9专业技术文章分享