智能合约开发以go语言为例,ChaincodeStubInterface为其智能合约的核心接口

智能合约开发以go语言为例,ChaincodeStubInterface为其智能合约的核心接口,

本文主要讲解此接口的所有常用方法,如需视频学习,可以参考https://study.163.com/course/introduction.htm?share=2&shareId=480000001940413

  • stub.PutState(args[0],[]byte(args[1])) 用于将数据进行存储,采用K-V格式进行存储,

  • stub.GetState(args[0]) 根据key获取value stub.DelState(key) 删除某一key的值

  • stub.GetHistoryForKey(key) 根据某一key获取他所有的历史记录

  • stub.GetQueryResult(query) 紧支持couchdb,通过富查询语句,对数据进行查询,当存储数据为json的时候,较为有用,如{“id”:“123”,“name”:“liwei",“age”:“18”},可以根据name属性来查询这条记录。

  • stub.GetQueryResultWithPagination(query string, pageSize int32, bookmark string) 分页查询根据query进行分页查询,pageSize是分页每页显示的个数,bookmark是输入你要查询开始的txId,一开始输入为空,会自动从头开始查询,会返回最后一条记录的txId,作为下次查询的输入参数。

  • stub.GetStateByRangeWithPagination(startKey, endKey string, pageSize int32, bookmark string)查询一定范围内的数据,参数依次为起始key,结束key,分页尺寸,txId,举个例子,比如查询key从a到z的数据,共有18条,分页尺寸为10,那么第一次查询txId为空,查询结果返回数据并返回下一次的txId,txId作为查询参数,在进行第二次查询。

私有数据的处理

  • stub.PutPrivateData(collection string, key string, value []byte) collection为私有数据集的名称
  • stub.GetPrivateData(collection, key string) 获取私有数据
  • stub.GetPrivateDataByRange(collection, startKey, endKey string) 分局key范围查询不分页
  • stub.GetPrivateDataQueryResult(collection, query string) 私有数据富查询
  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值