【技术实现步骤摘要】
一种检索链上交易数据的方法、装置和电子设备
本专利技术涉及区块链
,尤其涉及一种检索链上交易数据的方法、装置和电子设备。
技术介绍
在区块链技术中,通证能够作为虚拟货币进行流通,完成相关交易。资产类通证在交易的过程中,链上各用户会依据凭证对资产类通证交易进行认证。目前,一般采用遍历区块的方式查询某个特定的资产类通证交易的凭证。然而,资产类通证数量非常庞大,对应的凭证数量也非常庞大,这些凭证不仅涉及到基础资产,还涉及到交易合同和交易凭证等,项目繁杂。所以,采用遍历区块的方式查询资产类通证对应的凭证,性能非常低。
技术实现思路
为了解决现有技术中存在的问题,本专利技术提供了如下技术方案。本专利技术一方面提供了一种检索链上交易数据的方法,所述方法应用于预言机中,包括:在链下预先为交易数据建立索引并保存,所述索引中包括所述交易数据的链上地址;在链下根据输入的搜索请求检索所述索引,获取所述交易数据的链上地址;在链上根据所述链上地址获取所述交易数据。优选地,所述检索链上交易数据的方法还包括:在链下计算所述索引的哈希值,并将其保存在链下节点和链上合约中;在链下根据搜索请求检索所述索引包括:获取保存在链下节点和链上合约中的所述索引的哈希值并比较,如果二者一致,则所述索引有效,在链下根据搜索请求检索所述索引,否则退出。优选地,按照预设值更新所述索引及索引的哈希值。优选地,所述预设值包括预设时间和/或新增索引条目的数量。r>优选地,所述更新所述索引的哈希值包括:计算更新后的索引的哈希值;或将原哈希值与新增索引条目组合,计算该组合的哈希值。优选地,所述在链下计算所述索引的哈希值,并将其保存在链下节点和链上合约中包括:在链下计算所述索引的哈希值;所述链下节点请求将所述索引的哈希值写入链上合约中;链上的治理合约用户对所述索引的哈希值进行验证,验证成功后签名;将验证成功的所述索引的哈希值和所述治理合约用户的签名写入链上合约中。优选地,所述在链上根据所述链上地址获取所述交易数据之后还包括:计算所述交易数据的哈希值;比较计算得到的哈希值与区块链中保存的所述交易数据的哈希值是否一致,如果一致,则将获取到的所述交易数据返回给用户,否则,返回提示数据可能错误的信息。本专利技术另一方面提供了一种检索链上交易数据的装置,所述装置设置于预言机中,包括:索引建立模块,用于在链下预先为交易数据建立索引并保存,所述索引中包括所述交易数据的链上地址;索引检索模块,用于在链下根据输入的搜索请求检索所述索引,获取所述交易数据的链上地址;交易数据获取模块,用于在链上根据所述链上地址获取所述交易数据。本专利技术第三方面提供了一种存储器,存储有多条指令,所述指令用于实现上述的方法。本专利技术第四方面提供了一种电子设备,包括处理器和与所述处理器连接的存储器,所述存储器存储有多条指令,所述指令可被所述处理器加载并执行,以使所述处理器能够执行上述的方法。本专利技术的有益效果是:本专利技术提供了一种检索链上交易数据的方法、装置和电子设备。该方法应用于预言机中,首先在链下预先为交易数据建立索引并保存,所述索引中包括所述交易数据的链上地址;然后在链下根据输入的搜索请求检索所述索引,获取所述交易数据的链上地址;最后,在链上根据所述链上地址获取所述交易数据。通过在链下建立交易数据索引,并通过检索索引的方法获取交易数据的地址,从而根据地址直接获取到交易数据的方式,解决了在链上通过遍历区块的方式查询交易数据带来的性能低下的问题,尤其是对于数量庞大的资产类通证凭证,采用本专利技术提供的方案,可以极大地提高查询效率。附图说明图1为本专利技术所述检索链上交易数据的方法流程示意图;图2为本专利技术所述检索链上交易数据的装置示意图。具体实施方式为了更好地理解上述技术方案,下面将结合说明书附图以及具体的实施方式对上述技术方案做详细的说明。本专利技术提供的方法可以在如下的终端环境中实施,该终端可以包括一个或多个如下部件:处理器、存储器和显示屏。其中,存储器中存储有至少一条指令,所述指令由处理器加载并执行以实现下述实施例所述的方法。处理器可以包括一个或者多个处理核心。处理器利用各种接口和线路连接整个终端内的各个部分,通过运行或执行存储在存储器内的指令、程序、代码集或指令集,以及调用存储在存储器内的数据,执行终端的各种功能和处理数据。存储器可以包括随机存储器(RandomAccessMemory,RAM),也可以包括只读存储器(Read-OnlyMemory,ROM)。存储器可用于存储指令、程序、代码、代码集或指令。显示屏用于显示各个应用程序的用户界面。除此之外,本领域技术人员可以理解,上述终端的结构并不构成对终端的限定,终端可以包括更多或更少的部件,或者组合某些部件,或者不同的部件布置。比如,终端中还包括射频电路、输入单元、传感器、音频电路、电源等部件,在此不再赘述。实施例一如图1所示,本专利技术实施例提供了一种检索链上交易数据的方法,所述方法应用于预言机中,包括:S101,在链下预先为交易数据建立索引并保存,所述索引中包括所述交易数据的链上地址;S102,在链下根据输入的搜索请求检索所述索引,获取所述交易数据的链上地址;S103,在链上根据所述链上地址获取所述交易数据。随着区块链技术的发展,区块链上的交易领域和交易数据也越来越多。当用户需要查找某个特定的交易数据时,如果采用遍历区块的方式,会使得效率非常低。本专利技术中,为了解决这个问题,采用了建立索引,并基于索引进行检索查询的方式。而且,采用预言机技术。由于预言机是连接区块链和链下数据的桥梁,所以,通过预言机,可以实现链下和链上数据的连通,比如,本专利技术中,预先在链下建立交易数据的索引并进行保存,需要查询时,首先根据输入的搜索请求在链下检索索引,查询到对应的交易数据的链上地址,再到链上根据链上地址获取到交易数据。所以,采用本专利技术提供的方法,可以利用预言机技术,基于索引检索方法,快速准确的查询到某个特定的区块链上的交易数据,无需遍历区块数据,极大的提高了查询效率。在步骤S101中,为交易数据建立索引时,可以为每笔交易数据建立一个索引条目,将多个索引条目组合在一起形成索引。每个索引条目中均包括对应的交易数据的链上地址,以便后续根据搜索请求的特征值,比如关键词,检索到该索引条目时,能够获取到其中包括的链上地址,进一步的根据该地址在链上获取到对应的交易数据。可选地,为交易数据建立索引时,还可以为每批次的交易数据建立一个索引条目,将多个索引条目组合在一起形成索引。每个索引条目中可能包含多个链上地址,该多个链上地址分别对应该地址上的交易数据。在查询某个交易数据时,检索到索引条目后,可以得到多个地址,为了能够精确的检索到待查寻交易数据,可以输入多个本文档来自技高网...
【技术保护点】
1.一种检索链上交易数据的方法,其特征在于,所述方法应用于预言机中,包括:/n在链下预先为交易数据建立索引并保存,所述索引中包括所述交易数据的链上地址;/n在链下根据输入的搜索请求检索所述索引,获取所述交易数据的链上地址;/n在链上根据所述链上地址获取所述交易数据。/n
【技术特征摘要】
1.一种检索链上交易数据的方法,其特征在于,所述方法应用于预言机中,包括:
在链下预先为交易数据建立索引并保存,所述索引中包括所述交易数据的链上地址;
在链下根据输入的搜索请求检索所述索引,获取所述交易数据的链上地址;
在链上根据所述链上地址获取所述交易数据。
2.如权利要求1所述的检索链上交易数据的方法,其特征在于,还包括:在链下计算所述索引的哈希值,并将其保存在链下节点和链上合约中;
在链下根据搜索请求检索所述索引包括:
获取保存在链下节点和链上合约中的所述索引的哈希值并比较,如果二者一致,则所述索引有效,在链下根据搜索请求检索所述索引,否则退出。
3.如权利要求2所述的检索链上交易数据的方法,其特征在于,按照预设值更新所述索引及索引的哈希值。
4.如权利要求3所述的检索链上交易数据的方法,其特征在于,所述预设值包括预设时间和/或新增索引条目的数量。
5.如权利要求3所述的检索链上交易数据的方法,其特征在于,所述更新所述索引的哈希值包括:
计算更新后的索引的哈希值;
或
将原哈希值与新增索引条目组合,计算该组合的哈希值。
6.如权利要求2所述的检索链上交易数据的方法,其特征在于,所述在链下计算所述索引的哈希值,并将其保存在链下节点和链上合约中包括:
在链...
【专利技术属性】
技术研发人员:张诚,朱国君,张勇,
申请(专利权)人:北京瑞卓喜投科技发展有限公司,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。