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

遨游技术,享受生活

你可能感兴趣的:(hyperledger fabric 1.4 智能合约api总结)