hyperledger fabric 1.4 智能合约api总结

智能合约开发以go语言为例,ChaincodeStubInterface为其智能合约的核心接口,本文主要讲解此接口的所有常用方法,如需视频学习,可以参考视频教程

  • 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) 私有数据富查询

遨游技术,享受生活

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 一. Java基础部分.................................................
    wy_sure阅读 4,072评论 0 11
  • width: 65%;border: 1px solid #ddd;outline: 1300px solid #...
    邵胜奥阅读 5,239评论 0 1
  • pyspark.sql模块 模块上下文 Spark SQL和DataFrames的重要类: pyspark.sql...
    mpro阅读 9,979评论 0 13
  • Swift1> Swift和OC的区别1.1> Swift没有地址/指针的概念1.2> 泛型1.3> 类型严谨 对...
    cosWriter阅读 11,782评论 1 32
  • 1.借鉴: hibernate配置多个数据源及事物(以两个数据源为例) Hibernate学习记录3...
    孙瑞锴阅读 3,030评论 0 2

友情链接更多精彩内容