关于blockchain各种方法

state databese 检索方法介绍

1,根据key范围进行检索
GetStateByRange(startKey, endKey string) (StateQueryIteratorInterface, error)
例如
startKey:ob01
endKey :ob03
以下的结构会返回

[
{ "key":"ob01"
  "Record":{"name":"tom","old":"20"}
},
{
  "key":"ob02"
  "Record":{......}
},
{
  "key":"ob03"
  "Record":{......}
}
]


2,根据混合key检索

前提:在stateDB存的是下面这样的结构体,而不是example02那样简单的结构

其中name+old+sex最为复合key

参照:marbles_chaincode.go
GetStateByPartialCompositeKey("ob01",[]string{"li","男"})

取出两条记录

[
{
  "key":"ob01"
  "Record":{"name":"li","old":"10","sex":"男"}
},
{
  "key":"ob01"
  "Record":{"name":"li","old":"90","sex":"男"}
},
{
  "key":"ob01"
  "Record":{"name":"li","old":"10","sex":"女"}
}
]

------------------------------------------------------------------------------------------------------------------------

3,关于存储结构体

参照:marbles_chaincode.go

第一步(存储结构体):

PutState("结构体名称", json形式的bytes)

第二步(给结构体构建索引):

key = CreateCompositeKey("上面结构体对应的索引名称",复合key)

第三步(存储创建好的索引)

PutState(key, []byte{0x00})





  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值