一种链上交易数据索引生成的方法、装置和电子设备制造方法及图纸

技术编号:29133089 阅读:33 留言:0更新日期:2021-07-02 22:28
本发明专利技术公开了一种链上交易数据索引生成的方法、装置和电子设备。方法包括:在链下为交易数据建立索引并保存;在链下计算所述索引的哈希值,并将所述索引的哈希值保存在链下节点和链上合约中;在链下按照预设值更新所述索引及索引的哈希值并保存;将更新后的所述哈希值保存在链上合约中;并重复更新索引及哈希值的步骤,完成当前交易数据以及新增交易数据的索引生成。解决了资产型通证交易数据的不断增加,导致生成的索引不完整,无法完成索引检索的问题。另外,通过在预言机的链下节点生成和存储交易数据的索引,解决了链上的存储空间有限的问题。

【技术实现步骤摘要】
一种链上交易数据索引生成的方法、装置和电子设备
本专利技术涉及区块链
,尤其涉及一种链上交易数据索引生成的方法、装置和电子设备。
技术介绍
在区块链技术中,通证能够作为虚拟货币进行流通,完成相关交易。资产类通证在交易的过程中,链上各用户会依据凭证对资产类通证交易进行认证。由于资产型通证的交易不断发生,交易数据随之不断增加,所以,对资产型通证的交易数据不适宜采用遍历区块的方式进行查询。而如果采用索引检索方式进行查询,又会由于资产型通证交易数据的不断增加,导致生成的索引不完整,也无法完成索引检索。另外,由于链上的存储空间有限,无法存储过多的索引数据。
技术实现思路
为了解决现有技术中存在的问题,本专利技术提供了如下技术方案。本专利技术一方面提供了一种链上交易数据索引生成的方法,所述方法应用于预言机中,包括:S101,在链下为交易数据建立索引并保存;S102,在链下计算所述索引的哈希值,并将所述索引的哈希值保存在链下节点和链上合约中;S103,在链下按照预设值更新所述索引及索引的哈希值并保存;S104,将更新后的所述哈希值保存在链上合约中;重复步骤S103-S104。优选地,所述在链下为交易数据建立索引包括:链下节点读取交易数据;链下节点为所述交易数据建立索引。优选地,所述链下节点为所述交易数据建立索引包括:所述链下节点为每一笔交易数据生成对应的索引条目;将所有的所述索引条目按预设规则生成索引。优选地,所述链下节点为所述交易数据建立索引包括:所述链下节点为每一批次的交易数据生成对应的索引条目;将所有的所述索引条目按预设规则生成索引。优选地,所述预设值包括预设时间和/或新增索引条目的数量。优选地,所述更新索引的哈希值包括:计算更新后的索引的哈希值;或将原哈希值与新增索引条目组合,计算该组合的哈希值。优选地,所述链上合约中保存有阈值数量的最新的所述索引的哈希值。本专利技术第二方面提供了一种链上交易数据索引生成的装置,所述装置设置于预言机中,包括:索引建立模块,用于在链下为交易数据建立索引并保存;哈希值计算模块,用于在链下计算所述索引的哈希值,并将所述哈希值保存在链下节点及链上合约中;更新模块,用于在链下按照预设值更新所述索引及索引的哈希值并保存;哈希值链上保存模块,用于将更新后的所述哈希值保存在链上合约中。本专利技术第三方面提供了一种存储器,存储有多条指令,所述指令用于实现上述的方法。本专利技术第四方面提供了一种电子设备,包括处理器和与所述处理器连接的存储器,所述存储器存储有多条指令,所述指令可被所述处理器加载并执行,以使所述处理器能够执行上述的方法。本专利技术的有益效果是:本专利技术提供的链上交易数据索引生成的方法、装置和电子设备,通过在链下为交易数据建立索引并保存;在链下计算所述索引的哈希值,并将所述索引的哈希值保存在链下节点和链上合约中;在链下按照预设值更新所述索引及索引的哈希值并保存;将更新后的所述哈希值保存在链上合约中;并重复索引及哈希值更新的步骤,完成当前交易数据以及新增交易数据的索引生成。解决了资产型通证交易数据的不断增加,导致生成的索引不完整,无法完成索引检索的问题。另外,通过在预言机的链下节点生成和存储交易数据的索引,解决了链上的存储空间有限的问题。附图说明图1为本专利技术所述链上交易数据索引生成的方法的流程示意图;图2为本专利技术所述链上交易数据索引生成的装置示意图。具体实施方式为了更好的理解上述技术方案,下面将结合说明书附图以及具体的实施方式对上述技术方案做详细的说明。本专利技术提供的方法可以在如下的终端环境中实施,该终端可以包括一个或多个如下部件:处理器、存储器和显示屏。其中,存储器中存储有至少一条指令,所述指令由处理器加载并执行以实现下述实施例所述的方法。处理器可以包括一个或者多个处理核心。处理器利用各种接口和线路连接整个终端内的各个部分,通过运行或执行存储在存储器内的指令、程序、代码集或指令集,以及调用存储在存储器内的数据,执行终端的各种功能和处理数据。存储器可以包括随机存储器(RandomAccessMemory,RAM),也可以包括只读存储器(Read-OnlyMemory,ROM)。存储器可用于存储指令、程序、代码、代码集或指令。显示屏用于显示各个应用程序的用户界面。除此之外,本领域技术人员可以理解,上述终端的结构并不构成对终端的限定,终端可以包括更多或更少的部件,或者组合某些部件,或者不同的部件布置。比如,终端中还包括射频电路、输入单元、传感器、音频电路、电源等部件,在此不再赘述。实施例一如图1所示,本专利技术实施例提供了一种链上交易数据索引生成的方法,所述方法应用于预言机中,包括:S101,在链下为交易数据建立索引并保存;S102,在链下计算所述索引的哈希值,并将所述索引的哈希值保存在链下节点和链上合约中;S103,在链下按照预设值更新所述索引及索引的哈希值并保存;S104,将更新后的所述哈希值保存在链上合约中;重复步骤S103-S104。为了能够快速的查询到某个特定的交易,可以采用索引检索的方式。而索引检索的基础是交易数据的索引。采用本专利技术实施例提供的上述方法,可以生成链上交易数据的索引,为特定交易的索引检索方式奠定了数据基础。本专利技术实施例中,采用了预言机技术。由于预言机是连接区块链和链下数据的桥梁,所以,通过预言机,可以实现链下和链上数据的连通,比如,本专利技术中,链下节点读取链上的交易数据,并在链下为交易数据建立索引,将更新后的索引哈希值写入链上合约中,从而既能够通过链下节点具有的大的存储空间解决链上存储空间有限的问题,又能够利用链上合约中的数据不可篡改性解决链下节点上的数据容易篡改的问题。上述方法中,首先对当前获取到的交易数据建立初始的索引并计算其哈希值。随着交易的进行,交易数据的不断增加,每当达到预设值时,均执行步骤S103-S104,对上一索引及对应的哈希值进行更新并将更新的哈希值保存在链上合约中。比如,初始索引建立后,当达到预设值时,对初始索引及其对应的哈希值进行更新,得到第一索引及其对应的哈希值;第一索引生成后,当再次达到预设值时,对第一索引及其对应的哈希值进行更新,得到第二索引及其对应的哈希值;依次类推,上一索引及其对应的哈希值生成后,即开始监测,当达到预设值时,即执行步骤S103-S104,对上一索引及对应的哈希值进行更新并将更新的哈希值保存在链上合约中,从而对不断增加的交易数据完成其索引的动态生成,解决了比如资产型通证交易数据不断增加,无法一次性生成索引,造成交易数据的索引不完整,无法用于索引检索的问题。在步骤S101中,在链下为交易数据建立索引可以包括:链下节点读取交易数据;链下节点为所述交本文档来自技高网...

【技术保护点】
1.一种链上交易数据索引生成的方法,其特征在于,所述方法应用于预言机中,包括:/nS101,在链下为交易数据建立索引并保存;/nS102,在链下计算所述索引的哈希值,并将所述索引的哈希值保存在链下节点和链上合约中;/nS103,在链下按照预设值更新所述索引及索引的哈希值并保存;/nS104,将更新后的所述哈希值保存在链上合约中;/n重复步骤S103-S104。/n

【技术特征摘要】
1.一种链上交易数据索引生成的方法,其特征在于,所述方法应用于预言机中,包括:
S101,在链下为交易数据建立索引并保存;
S102,在链下计算所述索引的哈希值,并将所述索引的哈希值保存在链下节点和链上合约中;
S103,在链下按照预设值更新所述索引及索引的哈希值并保存;
S104,将更新后的所述哈希值保存在链上合约中;
重复步骤S103-S104。


2.如权利要求1所述的链上交易数据索引生成的方法,其特征在于,所述在链下为交易数据建立索引包括:
链下节点读取交易数据;
链下节点为所述交易数据建立索引。


3.如权利要求2所述的链上交易数据索引生成的方法,其特征在于,所述链下节点为所述交易数据建立索引包括:
所述链下节点为每一笔交易数据生成对应的索引条目;
将所有的所述索引条目按预设规则生成索引。


4.如权利要求2所述的链上交易数据索引生成的方法,其特征在于,所述链下节点为所述交易数据建立索引包括:
所述链下节点为每一批次的交易数据生成对应的索引条目;
将所有的所述索引条目按预设规则生成索引。


5.如权利要求1所述的链上交易数据索引生成的方法,其特征在于,所述...

【专利技术属性】
技术研发人员:张诚朱国君张勇
申请(专利权)人:北京瑞卓喜投科技发展有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1