交易筛选方法、计算机设备和存储介质技术

技术编号:32546498 阅读:12 留言:0更新日期:2022-03-05 11:45
本发明专利技术提供一种交易筛选方法、计算机设备和存储介质,该方法包括:接收管理员的第一客户端生成的第一待修复交易;通过修复合约执行第一待修复交易,在执行成功时,通过修复合约将待修复合约名称添加到待修复合约列表中以更新待修复合约列表;获取第一交易;判断第一交易所调用的合约的第一合约名称是否在待修复合约列表中:是,则将第一交易从交易池中删除。本申请降低手续费损失,提高用户体验。提高用户体验。提高用户体验。

【技术实现步骤摘要】
交易筛选方法、计算机设备和存储介质


[0001]本申请涉及区块链
,具体涉及一种交易筛选方法、计算机设备和存储介质。

技术介绍

[0002]在现有技术中,如果区块链的合约中出现BUG,则在区块链升级版本修复该BUG前,调用该合约执行的交易将会执行失败,白白损失手续费,用户体验不良。

技术实现思路

[0003]鉴于现有技术中的上述缺陷或不足,期望提供一种降低手续费损失,提高用户体验的交易筛选方法、计算机设备和存储介质。
[0004]第一方面,本专利技术提供一种适用于区块链节点的交易筛选方法,区块链上配置有修复合约,上述方法包括:
[0005]接收管理员的第一客户端生成的第一待修复交易;其中,第一修复交易包括待修复合约的待修复合约名称;
[0006]通过修复合约执行第一待修复交易,在执行成功时,通过修复合约将待修复合约名称添加到待修复合约列表中以更新待修复合约列表;
[0007]获取第一交易;
[0008]判断第一交易所调用的合约的第一合约名称是否在待修复合约列表中:
[0009]是,则将第一交易从交易池中删除。
[0010]第二方面,本专利技术还提供一种设备,包括一个或多个处理器和存储器,其中存储器包含可由该一个或多个处理器执行的指令以使得该一个或多个处理器执行根据本专利技术各实施例提供的交易筛选方法。
[0011]第三方面,本专利技术还提供一种存储有计算机程序的存储介质,该计算机程序使计算机执行根据本专利技术各实施例提供的交易筛选方法。
[0012]本专利技术诸多实施例提供的交易筛选方法、计算机设备和存储介质通过接收管理员的第一客户端生成的第一待修复交易;通过修复合约执行第一待修复交易,在执行成功时,通过修复合约将待修复合约名称添加到待修复合约列表中以更新待修复合约列表;获取第一交易;判断第一交易所调用的合约的第一合约名称是否在待修复合约列表中:是,则将第一交易从交易池中删除的方法,降低手续费损失,提高用户体验。
附图说明
[0013]通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
[0014]图1为本专利技术一实施例提供的一种交易筛选方法的流程图。
[0015]图2为图1所示方法的一种优选实施方式中步骤S11的流程图。
[0016]图3为图1所示方法的一种优选实施方式的流程图。
[0017]图4为图3所示方法的一种优选实施方式的流程图。
[0018]图5为图4所示方法的一种优选实施方式的流程图。
[0019]图6为本专利技术一实施例提供的一种设备的结构示意图。
具体实施方式
[0020]下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关专利技术,而非对该专利技术的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与专利技术相关的部分。
[0021]需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
[0022]图1为本专利技术一实施例提供的一种交易筛选方法的流程图。
[0023]如图1所示,在本实施例中,本专利技术提供一种适用于区块链节点的交易筛选方法,区块链上配置有修复合约,上述方法包括:
[0024]S11:接收管理员的第一客户端生成的第一待修复交易;其中,第一修复交易包括待修复合约的待修复合约名称;
[0025]S12:通过修复合约执行第一待修复交易,在执行成功时,通过修复合约将待修复合约名称添加到待修复合约列表中以更新待修复合约列表;
[0026]S13:获取第一交易;
[0027]S141:判断第一交易所调用的合约的第一合约名称是否在待修复合约列表中:
[0028]是,则执行步骤S142:将第一交易从交易池中删除。
[0029]以第一修复交易包括待修复合约的待修复方法体的待修复方法体名,以及,S12包括“通过修复合约执行第一待修复交易,在执行成功时,通过修复合约将待修复方法体名添加到待修复合约列表中以更新待修复合约列表”,以及,S141包括“判断第一交易所调用的合约的方法的第一方法体名是否在待修复合约列表中”为例;
[0030]假设管理员发现autonomy合约的PropRule方法有BUG;
[0031]管理员的客户端生成待修复交易tx1,tx1包括autonomy

PropRul e;
[0032]区块链节点执行步骤S11,接收tx1;
[0033]区块链节点执行步骤S12,通过修复合约执行tx1,在执行成功时,通过修复合约将autonomy

PropRule添加到待修复合约列表中以更新待修复合约列表;
[0034]假设此时待修复合约列表中有autonomy

PropRule、execr

actionN ame1、execr

actionName2;
[0035]区块链节点执行步骤S13,获取交易tx2,tx2调用合约autonomy的autonomy方法;
[0036]区块链节点执行步骤S141,判断autonomy

PropRule是否在待修复合约列表中:
[0037]由于autonomy

PropRule在待修复合约列表中,则区块链节点执行步骤S142,将tx2从交易池中删除。
[0038]本领域技术人员应当理解,上述管理员可以为初始化设置的管理员,或,由票选出来的管理员;
[0039]上述实施例可以降低调用产生BUG的合约的交易的手续费损失,提高用户体验;同
时,区块链节点不必执行上述调用产生BUG的合约的交易,而可以将更多的算力分配给执行其它交易、广播交易等其它任务。
[0040]如果产生的BUG为需要紧急处理的BUG(以下称为紧急BUG),一般来说,会针对紧急BUG进行紧急修复而紧急升级版本,而升级一次版本需要花费较长的时间;在极端情况下,若接二连三的发现紧急BUG,则会导致区块链一直处于升级中;通过上述实施例的方法,可延缓紧急BUG的修复,将多个紧急BUG放在一起升级,这样区块链节点只需要升级一次,减少节点升级次数。将多个紧急BUG放在一起升级的方法可以根据实际需求进行配置,例如,在发现第一个紧急BUG后,观察100个区块中是否还有其它紧急BUG,如果有,则将所有紧急BUG一起修复以一次性升级区块链。
[0041]图2为图1所示方法的一种优选实施方式中步骤S11的流程图。
[0042]如图2所示,在一优选实施例中,步骤S11包括:
[0043]S111:接收管理员的第一客户端生成的第一待修复交易;
[0044]S112:在判断出第一待修复交易为需要触发修复合约执行的第一类交易时,将第一待本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种交易筛选方法,其特征在于,区块链上配置有修复合约,所述方法适用于区块链节点,所述方法包括:接收管理员的第一客户端生成的第一待修复交易;其中,所述第一修复交易包括待修复合约的待修复合约名称;通过所述修复合约执行所述第一待修复交易,在执行成功时,通过所述修复合约将所述待修复合约名称添加到待修复合约列表中以更新所述待修复合约列表;获取第一交易;判断所述第一交易所调用的合约的第一合约名称是否在所述待修复合约列表中:是,则将所述第一交易从交易池中删除。2.根据权利要求1所述的方法,其特征在于,所述接收管理员的第一客户端生成的第一待修复交易包括:接收管理员的第一客户端生成的第一待修复交易;在判断出所述第一待修复交易为需要触发所述修复合约执行的第一类交易时,将所述第一待修复交易置于交易优先打包队列;其中,所述交易优先打包队列中的交易将被优先打包。3.根据权利要求1所述的方法,其特征在于,还包括:接收所述第一客户端生成的第一已修复交易;其中,所述第一已修复交易包括已修复合约的已修复合约名称;在判断出所述第一已修复交易为需要触发所述修复合约执行的第一类交易时,将所述第一已修复交易置于交易优先打包队列;其中,所述交易优先打包队列中的交易将被优先打包;通过所述修复合约执行所述第一已修复交易,在执行成功时,通过所述修复合约将所述已修复合约名称从所述待修复合约列表中删除以更新所述待修复合约列表。4.根据权利要求3所述的方法,其特征在于,所述将所述第一交易从交易池中删除包括:将所述第一交易存储于本地;将所述第一交易从交易池中删除;所述方法还包括:在监测到所述第一合约名称从所述待修复合约列表中删除时,将所述第一交易重新存入交易池。5.根据权利要求4所述的方法,其特征在于,还包括:在所述第一交易存储于本地的时长到达第一超时时长时,若所述第一合约名称还未从所述待修复合约列表中删除,则将所述第一交易从本地删除。6.根据权利要求3所述的方法,其特征在于,所述将所述第一交易从交易池中删除包括:将所述第一交易的第一交易哈希缓存至待修复合约未执行交易列表;将所述第一交易从交易池中删除;所述方法还包括:接收第一用户的第二客户端生成的第二交易;其中,所述第二交易包括第三交易哈希,
...

【专利技术属性】
技术研发人员:应秋敏郑基玲王志文吴思进
申请(专利权)人:杭州复杂美科技有限公司
类型:发明
国别省市:

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

1