DAPP的链上数据检索系统、方法及介质.pdf
![DAPP的链上数据检索系统、方法及介质.pdf_第1页](https://img.zhuanlichaxun.net/fileroot4/2021-6/3/3a9da427-8400-47fc-88e6-f86c0c1b2fce/3a9da427-8400-47fc-88e6-f86c0c1b2fce1.gif)
![DAPP的链上数据检索系统、方法及介质.pdf_第2页](https://img.zhuanlichaxun.net/fileroot4/2021-6/3/3a9da427-8400-47fc-88e6-f86c0c1b2fce/3a9da427-8400-47fc-88e6-f86c0c1b2fce2.gif)
![DAPP的链上数据检索系统、方法及介质.pdf_第3页](https://img.zhuanlichaxun.net/fileroot4/2021-6/3/3a9da427-8400-47fc-88e6-f86c0c1b2fce/3a9da427-8400-47fc-88e6-f86c0c1b2fce3.gif)
《DAPP的链上数据检索系统、方法及介质.pdf》由会员分享,可在线阅读,更多相关《DAPP的链上数据检索系统、方法及介质.pdf(17页完成版)》请在专利查询网上搜索。
1、(19)中华人民共和国国家知识产权局 (12)发明专利申请 (10)申请公布号 (43)申请公布日 (21)申请号 202010504965.X (22)申请日 2020.06.05 (71)申请人 广东科学技术职业学院 地址 519090 广东省珠海市金湾区珠海大 道南侧 (72)发明人 刘昌平唐懿芳刘海苑占江 李威 (74)专利代理机构 广州嘉权专利商标事务所有 限公司 44205 代理人 叶琦炜 (51)Int.Cl. G06F 16/27(2019.01) (54)发明名称 DAPP的链上数据检索系统、 方法及介质 (57)摘要 本发明公开了一种DAPP的链上数据检索系 统、 方法及介。
2、质, 其中系统包括: DAPP区块伺服 器, 设置在区块链客户端, 包括DAPP应用管理模 块、 新区块模块、 数据检索模块、 信息单元索引、 DAPP区块索引以及已注册DAPP信息单元索引; DAPP信息单元区块, 包括用于唯一地确定一个 DAPP的DAPP信息单元。 本发明针对DAPP智能合约 的函数调用与合约数据, 提出了一种快速检索与 查询方法, 提高链上合约数据的检索与查询效 率, 提供再现DAPP使用过程的功能。 权利要求书2页 说明书7页 附图7页 CN 111831744 A 2020.10.27 CN 111831744 A 1.一种DAPP的链上数据检索系统, 其特征在于,。
3、 包括: DAPP区块伺服器, 设置在区块链客户端, 包括DAPP应用管理模块、 新区块模块、 数据检 索模块、 信息单元索引、 DAPP区块索引以及已注册DAPP信息单元索引; DAPP信息单元区块, 包括用于唯一地确定一个DAPP的DAPP信息单元; 所述DAPP应用管理模块, 用于从所述已注册DAPP信息单元索引添加或删除DAPP信息单 元索引项, 以及进行DAPP区块索引同步; 所述新区块模块, 用于在区块链同步到新区块后, 将DAPP信息单元添加到所述信息单 元索引, 或更新所述DAPP区块索引; 所述数据检索模块, 用于基于DAPP信息单元索引项检索出与指定的DAPP及智能合约有 。
4、关的区块。 2.根据权利要求1所述的DAPP的链上数据检索系统, 其特征在于, 所述DAPP信息单元, 至少包括有数据项: DAPP名称、 DAPP作者、 发布时间、 访问地址、 智能合约数量、 合约地址列 表、 区块号列表以及ABI列表。 3.根据权利要求1所述的DAPP的链上数据检索系统, 其特征在于, 所述新区块模块用于 区块链同步到新区块, 判断该区块是否具有DAPP信息单元特征, 如果有, 将该区块添加到信 息单元索引, 否则启动DAPP区块索引更新过程。 4.根据权利要求1所述的DAPP的链上数据检索系统, 其特征在于, 所述数据检索模块还 用于获取信息单元索引进而从链上获取DAP。
5、P信息单元, 将获取的DAPP信息单元作为链上可 用的DAPP信息返回给用户。 5.一种DAPP的链上数据检索方法, 其特征在于, 包括以下步骤: 确认智能合约上链并提交新区块后, 获取合约地址及区块号并写入DAPP的信息单元, 将DAPP信息单元生成区块并上链; 添加DAPP信息单元索引项到已注册DAPP信息单元索引并进行DAPP区块索引同步; 区块链同步到新区块后, 将DAPP信息单元添加到信息单元索引或更新DAPP区块索引; 基于DAPP信息单元索引项检索出与指定的DAPP及智能合约有关的区块。 6.根据权利要求5所述的DAPP的链上数据检索方法, 其特征在于, 所述将DAPP信息单元 。
6、添加到信息单元索引或更新DAPP区块索引步骤包括: 区块链同步到新区块, 判断该区块是否具有DAPP信息单元特征, 如果有, 将该区块添加 到信息单元索引, 否则启动DAPP区块索引更新过程; 所述DAPP区块索引更新过程包括以下步骤: 根据已注册信息单元索引, 获取所有已注册使用DAPP的所有智能合约地址, 构成1个合 约地址集合A; 确定新区块m包含交易数据, 从区块m的交易数据中提取to字段值; 确定to字段值属于集合A, 将区块m添加到DAPP区块索引, 同时更新集合A。 7.根据权利要求5所述的DAPP的链上数据检索方法, 其特征在于, 所述方法还包括: 获取DAPP信息单元索引项;。
7、 获取该DAPP的智能合约地址集合; 依据所述地址集合删除DAPP区块索引项; 在已注册DAPP信息单元索引中删除对应信息单元索引。 权利要求书 1/2 页 2 CN 111831744 A 2 8.根据权利要求5所述的DAPP的链上数据检索方法, 其特征在于, 所述基于DAPP信息单 元索引项检索出与指定的DAPP及智能合约有关的区块步骤包括: 获取DAPP信息单元索引项; 获取该DAPP的智能合约地址集合; 依据所述地址集合获得所有与该DAPP有关的区块索引; 依据所述与该DAPP有关的区块索引获取所有与DAPP有关的区块; 返回检索结果。 9.根据权利要求5所述的DAPP的链上数据检索方。
8、法, 其特征在于, 所述方法还包括: 获取与DAPP有关的所有区块, 展现区块数据; 对于调用合约函数而产生的区块数据, 在区块链虚拟机中执行智能合约函数, 然后展 现区块数据。 10.一种计算机可读存储介质, 其上储存有程序指令, 所述程序指令被处理器执行时实 施如权利要求5至9中任一项所述的方法。 权利要求书 2/2 页 3 CN 111831744 A 3 DAPP的链上数据检索系统、 方法及介质 技术领域 0001 本发明属于计算机、 网络与分布式计算领域, 涉及区块链、 去中心化软件应用领 域, 尤其涉及一种DAPP的链上数据检索系统、 方法及介质。 背景技术 0002 区块链是一种。
9、分布式账本, 也是一种新型应用模式; 区块链技术覆盖了分布式存 储、 网络、 信息安全、 数据容错等计算机技术; 区块链应用具有去中心、 开放、 自治等特点。 DAPP(Decentralized Application)是以区块链技术为应用环境的新型软件应用模式, 是 构建并且能够运行在区块链环境上的应用软件, DAPP的使用者共同维护与管理DAPP的生命 周期。 智能合约(Smart Contract)是一种能够在区块链环境中进行可信交易的数字合同, 具有可追踪且不可逆转的特征。 DAPP以智能合约为基础, 得以在区块链环境上应用。 0003 DAPP可以调用智能合约的公开型函数获取合约数。
10、据, 也可以直接访问公开型合约 数据。 如果合约函数需要修改合约数据, 则DAPP必须新增1个区块, 以交易的形式提交到区 块链并等待确认, 数据的修改存储在新区块中。 DAPP多次修改合约数据, 则必然产生多个区 块, 这些区块在区块链的位置可能较集中, 也可能很分散, 更甚者, 这些区块之间存在很多 与智能合约无关的区块。 对于采用状态数据库(StateDB)的以太坊, 状态树保留交易提交之 后最新的状态值。 如果DAPP用户(包括发布者、 使用者或者旁观者)需要再现DAPP的使用全 过程(例如检索充值历史、 账户余额变更历史、 功能模块使用频度等), 则需要检索出所有与 DAPP有关的区。
11、块。 发明内容 0004 本发明旨在至少解决现有技术中存在的技术问题之一。 为此, 本发明提供一种 DAPP的链上数据检索系统, 能够检索DAPP的链上数据, 关键是检索出与DAPP智能合约相关 的区块, 即与DAPP有关的数据区块以及调用智能合约函数而产生的新区块。 0005 本发明还提出一种DAPP的链上数据检索方法。 0006 本发明还提出一种实施上述DAPP的链上数据检索方法的介质。 0007 本发明的DAPP的链上数据检索系统, 将DAPP的应用场景设置为1个用户终端容纳 多个DAPP应用实例, 这些DAPP共用1个区块链客户端, 通过区块链客户端发布智能合约、 链 上交易等事务。 。
12、区块链客户端通过网络同步区块链的新区块到本地区块数据库, 访问本地 区块数据库。 0008 根据本发明的第一方面实施例的一种DAPP的链上数据检索系统, 包括: DAPP区块 伺服器, 设置在区块链客户端, 包括DAPP应用管理模块、 新区块模块、 数据检索模块、 信息单 元索引、 DAPP区块索引以及已注册DAPP信息单元索引; DAPP信息单元区块, 包括用于唯一地 确定一个DAPP的DAPP信息单元; 所述DAPP应用管理模块, 用于提供区块链上可用DAPP的信 息, 从所述已注册DAPP信息单元索引添加或删除DAPP信息单元索引项, 以及进行DAPP区块 索引同步; 所述新区块模块, 。
13、用于在区块链同步到新区块后, 将DAPP信息单元添加到所述信 说明书 1/7 页 4 CN 111831744 A 4 息单元索引, 或更新所述DAPP区块索引; 所述数据检索模块, 用于获取信息单元索引进而从 链上获取DAPP信息单元, 基于DAPP信息单元索引项检索出与指定的DAPP及智能合约有关的 区块。 0009 根据本发明实施例的DAPP的链上数据检索系统, 至少具有如下有益效果: 0010 本发明实施例针对DAPP智能合约的函数调用与合约数据, 能够快速检索与查询, 提高链上合约数据的检索与查询效率。 0011 根据本发明的一些实施例, 所述DAPP信息单元, 至少包括有数据项: 。
14、DAPP名称、 DAPP作者、 发布时间、 访问地址、 智能合约数量、 合约地址列表、 区块号列表以及ABI列表。 0012 根据本发明的一些实施例, 所述DAPP管理模块还用于进行DAPP区块索引同步, 当 用户注册DAPP应用时, 将DAPP对应的信息单元索引项添加到已注册DAPP信息单元索引, 然 后启动DAPP区块索引同步过程。 0013 根据本发明的一些实施例, 所述新区块模块用于区块链同步到新区块, 判断该区 块是否具有DAPP信息单元特征, 如果有, 将该区块添加到信息单元索引, 否则启动DAPP区块 索引更新过程。 0014 根据本发明的一些实施例, 所述数据检索模块还用于获取。
15、信息单元索引进而从链 上获取DAPP信息单元, 将获取的DAPP信息单元作为链上可用的DAPP信息返回给用户。 0015 根据本发明的第二方面实施例的一种DAPP的链上数据检索方法, 包括以下步骤: 确认智能合约上链并提交新区块后, 获取合约地址及区块号并写入DAPP的信息单元, 将 DAPP信息单元生成区块并上链; 添加DAPP信息单元索引项到已注册DAPP信息单元索引并进 行DAPP区块索引同步; 区块链同步到新区块后, 将DAPP信息单元添加到信息单元索引或更 新DAPP区块索引; 基于DAPP信息单元索引项检索出与指定的DAPP及智能合约有关的区块。 0016 根据本发明实施例的DAP。
16、P的链上数据检索方法, 至少具有如下有益效果: 本发明 实施例针对DAPP智能合约的函数调用与合约数据, 能够快速检索与查询, 提高链上合约数 据的检索与查询效率。 0017 根据本发明的一些实施例, 所述将DAPP信息单元添加到信息单元索引或更新DAPP 区块索引步骤包括: 区块链同步到新区块, 判断该区块是否具有DAPP信息单元特征, 如果 有, 将该区块添加到信息单元索引, 否则启动DAPP区块索引更新过程; 所述DAPP区块索引更 新过程包括以下步骤: 根据已注册信息单元索引, 获取所有已注册使用DAPP的所有智能合 约地址, 构成1个合约地址集合A; 确定新区块m包含交易数据, 从区。
17、块m的交易数据中提取to 字段值; 确定to字段值属于集合A, 将区块m添加到DAPP区块索引, 同时更新集合A。 0018 根据本发明的一些实施例, 所述方法还包括: 获取DAPP信息单元索引项; 获取该 DAPP的智能合约地址集合; 依据所述地址集合删除DAPP区块索引项; 在已注册DAPP信息单 元索引中删除对应信息单元索引。 0019 根据本发明的一些实施例, 所述基于DAPP信息单元索引项检索出与指定的DAPP及 智能合约有关的区块步骤包括: 获取DAPP信息单元索引项; 获取该DAPP的智能合约地址集 合; 依据所述地址集合获得所有与该DAPP有关的区块索引; 依据所述与该DAPP。
18、有关的区块 索引获取所有与DAPP有关的区块; 返回检索结果。 0020 根据本发明的一些实施例, 所述方法还包括: 获取信息单元索引进而从链上获取 DAPP信息单元, 将获取的DAPP信息单元作为链上可用的DAPP信息返回给用户。 说明书 2/7 页 5 CN 111831744 A 5 0021 根据本发明的一些实施例, 所述方法还包括: 获取与DAPP有关的所有区块, 展现区 块数据; 对于调用合约函数而产生的区块数据, 在区块链虚拟机中执行智能合约函数, 然后 展现区块数据。 本实施例提供再现DAPP使用过程的功能, 即对于智能合约函数产生的区块, 在区块链虚拟机中执行合约函数, 展现。
19、执行结果给用户, 也就是再现DAPP的使用全过程。 0022 根据本发明的第三方面实施例的一种计算机可读存储介质, 其上储存有程序指 令, 所述程序指令被处理器执行时实施如本发明的第二方面实施例中任一项所述的方法。 0023 由于本发明实施例的计算机可读存储介质上存储有用于执行如本发明第二方面 中任一项所述的DAPP的链上数据检索方法的计算机可执行指令, 因此具有本发明第二方面 的所有有益效果。 0024 本发明的附加方面和优点将在下面的描述中部分给出, 部分将从下面的描述中变 得明显, 或通过本发明的实践了解到。 附图说明 0025 图1是本发明实施例的DAPP的链上检索系统的应用场景示意图。
20、; 0026 图2是本发明实施例的DAPP信息单元数据格式; 0027 图3是在区块链上发布DAPP的流程图; 0028 图4是本发明实施例的DAPP区块伺服器结构图; 0029 图5是本发明实施例的DAPP链上数据检索方法流程图; 0030 图6是本发明实施例的DAPP区块索引同步算法流程图; 0031 图7是本发明实施例的同步DAPP区块索引时区块遍历示意图; 0032 图8是本发明实施例的新区块处理流程图; 0033 图9是本发明实施例的注销DAPP的流程图; 0034 图10是本发明实施例的DAPP链上数据检索流程图; 0035 图11是本发明实施例的再现DAPP使用全过程的流程图。 。
21、具体实施方式 0036 以下将结合实施例和附图对本发明的构思、 具体结构及产生的技术效果进行清 楚、 完整的描述, 以充分地理解本发明的目的、 方案和效果。 0037 参照图1, 图1为本发明实施例的应用场景, 将DAPP的应用场景设置为1个用户终端 容纳多个DAPP应用实例, 这些DAPP共用1个区块链客户端, 通过区块链客户端发布智能合 约、 链上交易等事务。 区块链客户端通过网络同步区块链的新区块到本地区块数据库, 访问 本地区块数据库。 0038 本发明实施例的技术方案是, 设置一个DAPP信息单元。 DAPP发布者将智能合约的 地址及其区块号这些属性数据写入DAPP信息单元, 同时将。
22、信息单元打包成1个新区块并上 链。 其中, DAPP应用管理模块用于提供区块链上可用DAPP的信息, 从已注册DAPP信息单元索 引添加或删除DAPP信息单元索引项, 以及进行DAPP区块索引同步; 新区块模块用于在区块 链同步到新区块后, 将DAPP信息单元添加到信息单元索引, 或更新所述DAPP区块索引; 数据 检索模块, 用于获取信息单元索引进而从链上获取DAPP信息单元, 检索出与指定的DAPP及 智能合约有关的区块。 说明书 3/7 页 6 CN 111831744 A 6 0039 参照图2, 图2是本发明实施例的DAPP信息单元数据格式。 本实施例中, DAPP信息单 元, 至少。
23、包括有数据项: DAPP名称、 DAPP作者、 发布时间、 访问地址、 智能合约数量、 合约地址 列表、 区块号列表以及ABI列表。 其中: 0040 DAPP名称: 即DAPP的简称, 简要说明DAPP的作用与功能; 0041 DAPP作者: 即DAPP的创作者、 所有者等; 0042 发布时间: DAPP上链的时间; 0043 访问地址: 访问该DAPP的地址, 含端口; 0044 智能合约数量: DAPP需要上链的智能合约数量; 0045 合约地址列表: 列出每个智能合约上链并得到确认后的地址; 0046 区块号列表: 列出每个智能合约上链并得到确认后的区块号; ABI列表: 列出每个 。
24、智能合约的访问接口。 0047 进一步参照图3, 图3是在区块链上发布DAPP的流程图; 在区块链上发布DAPP及其 智能合约, 将产生并上链1个或多个待确认的区块。 这些区块被确认后, DAPP发布者将获得 智能合约的地址及其区块号, DAPP发布者将这些属性数据写入DAPP信息单元, 同时将信息 单元打包成1个新区块并上链。 0048 参照图4, 图4是本发明实施例的DAPP区块伺服器结构图。 本发明实施例在区块链 客户端设置一个DAPP区块伺服器, 该DAPP区块伺服器包括3个功能模块, 分别为DAPP应用管 理模块、 新区块模块及数据检索模块; 该DAPP区块伺服器还包括3个存储模块,。
25、 分别为信息 单元索引、 DAPP区块索引及已注册DAPP信息单元索引。 其中, DAPP应用管理模块, 用于提供 区块链上可用DAPP的信息, 从已注册DAPP信息单元索引添加或删除DAPP信息单元索引项, 以及进行DAPP区块索引同步; 新区块模块, 用于在区块链同步到新区块后, 将DAPP信息单元 添加到信息单元索引, 或更新DAPP区块索引; 所述数据检索模块, 用于获取信息单元索引进 而从链上获取DAPP信息单元, 检索出与指定的DAPP及智能合约有关的区块。 0049 在一些实施例中, 新区块模块用于在区块链同步到新区块后, 检查该区块是否具 备DAPP信息单元的特征, 将具备DA。
26、PP信息单元的特征的区块对应的DAPP信息单元添加到信 息单元索引模块。 0050 在一些实施例中, 新区块模块用于在区块链同步到新区块后, 检查该区块是否符 合条件: 包括交易数据且交易数据的to字段值出现在已注册DAPP信息单元索引模块的智能 合约地址集合, 将符合上述条件的区块添加到DAPP区块索引。 0051 在一些实施例中, 在区块链客户端同步到新区块之后, 新区块模块检查新区块是 否是DAPP的信息单元区块。 如果不是, 则启动DAPP区块索引更新过程。 0052 在一些实施例中, 当用户提出检索链上可用DAPP的访问请求时, 数据检索模块获 取信息单元索引进而从链上获取DAPP信。
27、息单元, 返回给用户。 该信息单元来自区块链, 而不 是DAPP发布者。 0053 在一些实施例中, 当用户提出检索指定DAPP的链上操作(例如统计游戏充值次数、 统计转账次数等)及链上数据(例如当前账户余额、 核实用户身份或版权等)时, 数据检索模 块根据DAPP信息单元索引项获得DAPP全部智能合约地址集合, 根据地址集合在DAPP区块索 引中获得所有与该DAPP有关的区块索引, 根据区块索引的数据(例如区块号、 交易Hash值和 区块Hash值)找到所有与DAPP有关的区块, 最后将检索结果返回给用户, 说明书 4/7 页 7 CN 111831744 A 7 0054 在一些实施例中,。
28、 数据检索模块检索出指定DAPP所有相关的区块(包括智能合约 区块、 信息单元区块、 调用智能合约函数而产生的区块)之后, DAPP应用管理模块逐一获取 区块, 提取区块数据展现给用户, 如果是智能合约函数产生的区块, 则在区块链虚拟机中执 行合约函数, 展现执行结果给用户。 该功能也就是再现DAPP的使用全过程。 0055 在一些实施例中, 当用户注销DAPP应用时, DAPP应用管理模块首先根据信息单元 索引项, 获取该DAPP的智能合约地址集合, 然后依据智能合约地址集合在DAPP区块索引中 删除对应的索引项, 最后在已注册DAPP信息单元索引中删除对应的DAPP信息单元索引。 0056。
29、 在一些实施例中, 采用Geth作为以太坊区块链的客户端, 在Geth中新增1个工具包 dappblkservice, 实现上述的DAPP区块伺服器的功能模块和存储模块。 0057 Geth启动时, 将dappblkservice以后台线程形式加以启动, 并且在Geth的区块同 步模块与dappblkservice之间建立1个通道(channel)。 当Geth的区块同步模块同步到1个 新区块时, DAPP区块伺服器dappblkservice能够捕获到新区块, 并由dappblkservice的新 区块模块加以处理。 0058 以Truffle作为DAPP发布工具, 在Truffle完成DA。
30、PP的链上部署之后, 获取DAPP智 能合约所在的区块号、 智能合约地址, 按DAPP信息单元格式填写DAPP信息单元, 然后将DAPP 信息单元生成1个区块并发布到以太坊。 0059 在DAPP区块伺服器dappblkservice中以Web Service方式实施DAPP应用管理模 块、 数据检索模拟的功能。 用户通过Web Service接口访问区块链上可用的DAPP、 检索指定 DAPP的链上操作(即调用智能合约函数)和链上数据、 注册或注销DAPP应用。 0060 在DAPP区块伺服器dappblkservice中, 采用LevelDB数据库存储信息单元索引、 DAPP区块索引、 已。
31、注册DAPP信息单元索引。 DAPP信息单元、 已注册DAPP信息单元采用区块 Hash值+区块号作为键, 采用DAPP信息单元的描述性数据(例如DAPP名称、 作者等)作为值。 DAPP区块索引采用智能合约地址+区块号作为键, 采用区块Hash(或者交易Hash)作为值。 0061 检索到DAPP所有的区块之后, DAPP区块伺服器dappblkservice的DAPP应用管理模 块新建1个以太坊虚拟机EVM, 如果区块中包含有智能合约的函数调用, 逐个执行智能合约 函数并将结果返回给用户。 最后释放EVM。 0062 在一些实施例中, 采用Ganache作为以太坊的客户端, 在Ganach。
32、e中新增1个功能模 块, 实现上述的DAPP区块伺服器的功能模块和存储模块。 启动Ganache时, 以异步方式启动 DAPP区块伺服器。 在Ganache的区块同步模块设置回调函数, 调用DAPP区块伺服器的新区块 模块。 0063 将DAPP区块伺服器的数据检索模块和DAPP应用管理模块设置为Web Service方式 提供服务接口, 采用内存以及键值对方式存储信息单元索引、 DAPP区块索引和已注册DAPP 信息单元索引等区块数据。 0064 与前述实施例相对应, 本发明还提供了方法的实施例。 参照图5, 图5是本发明实施 例的DAPP链上数据检索方法流程图, 包括以下步骤: 确认智能合。
33、约上链并提交新区块后, 获 取合约地址及区块号并写入DAPP的信息单元, 将DAPP信息单元生成区块并上链; 添加DAPP 信息单元索引项到已注册DAPP信息单元索引并进行DAPP区块索引同步; 区块链同步到新区 块后, 将DAPP信息单元添加到信息单元索引或更新DAPP区块索引; 获取信息单元索引进而 从链上获取DAPP信息单元, 检索出与指定的DAPP及智能合约有关的区块。 说明书 5/7 页 8 CN 111831744 A 8 0065 进一步参照图6, 图6是本发明实施例的DAPP区块索引同步算法流程图。 当用户注 册DAPP应用时, 将DAPP对应的信息单元索引项添加到已注册DAP。
34、P信息单元索引, 然后启动 DAPP区块索引同步过程。 0066 DAPP区块索引同步算法: 0067 输入: 新区块号m 0068 输出: 添加新区块索引项到DAPP区块索引 0069 步骤: 1、 根据已注册信息单元索引, 获取所有已注册使用DAPP的所有智能合约地 址, 构成1个合约地址集合A, 该集合一次构建缓存使用; 0070 2、 检查新区块m是否包含交易, 如果不包含, 转到3, 否则转2.1; 0071 2.1、 从区块m的交易数据中提取to字段值; 0072 2.2、 如果to字段值属于集合A, 说明区块m是因为调用已注册使用的DAPP的智能合 约函数而产生, 将区块m添加到。
35、DAPP区块索引(包括区块号、 交易Hash值、 区块Hash值等数据 项), 同时更新集合A; 转3; 0073 3、 算法结束。 0074 进行DAPP区块索引同步包括以下步骤: 提取其实区块号n, 构建智能合约地址集合 A; 进一步参照图7, 如图7所示方式遍历区块; 对于遍历到的区块m, 判断该区块m是否包含交 易数据, 如果是, 从交易数据中提取to字段值, 否则获取下一块区块; 判断to字段值是否属 于智能合约地址集合A, 如果是, 将该区块m添加到DAPP区块索引, 否则获取下一块区块。 0075 参照图8, 图8是本发明实施例的新区块处理流程图。 0076 在区块链客户端同步到。
36、新区块之后, 检查新区块是否是DAPP的信息单元区块。 如 果不是, 则启动DAPP区块索引更新过程。 0077 DAPP区块索引更新算法: 0078 输入: 新区块号m 0079 输出: 添加新区块索引项到DAPP区块索引 0080 步骤: 1、 根据已注册信息单元索引, 获取所有已注册使用DAPP的所有智能合约地 址, 构成1个合约地址集合A, 该集合一次构建缓存使用; 0081 2、 检查新区块m是否包含交易, 如果不包含, 转到3, 否则转2.1; 0082 2.1、 从区块m的交易数据中提取to字段值; 0083 2.2、 如果to字段值属于集合A, 说明区块m是因为调用已注册使用的。
37、DAPP的智能合 约函数而产生, 将区块m添加到DAPP区块索引(包括区块号、 交易Hash值、 区块Hash值等数据 项), 同时更新集合A; 转3; 0084 3、 算法结束。 0085 当区块链同步到新区块, 判断该区块是否具有DAPP信息单元特征, 如果有, 将该区 块添加到信息单元索引, 然后该流程; 如果该区块没有DAPP信息单元特征, 则启动DAPP区块 索引更新过程。 0086 参照图9, 图9是本发明实施例的注销DAPP的流程图, 包括以下步骤: 获取DAPP信息 单元索引项; 获取该DAPP的智能合约地址集合; 依据地址集合删除DAPP区块索引项; 在已注 册DAPP信息单。
38、元索引中删除对应信息单元索引。 0087 参照图10, 图10是本发明实施例的DAPP链上数据检索流程图, 包括以下步骤: 获取 说明书 6/7 页 9 CN 111831744 A 9 DAPP信息单元索引项; 获取该DAPP的智能合约地址集合; 依据地址集合获得所有与该DAPP 有关的区块索引; 依据与该DAPP有关的区块索引获取所有与DAPP有关的区块; 返回检索结 果。 0088 参照图11, 图11是本发明实施例的再现DAPP使用全过程的流程图, 包括以下步骤: 在检索出指定DAPP所有相关的区块(包括智能合约区块、 信息单元区块、 调用智能合约函数 而产生的区块)之后, 逐一获取区。
39、块, 提取区块数据展现给用户, 如果是智能合约函数产生 的区块, 则在区块链虚拟机中执行合约函数, 展现执行结果给用户。 该功能也就是再现DAPP 的使用全过程。 0089 应当认识到, 本发明实施例中的方法步骤可以由计算机硬件、 硬件和软件的组合、 或者通过存储在非暂时性计算机可读存储器中的计算机指令来实现或实施。 所述方法可以 使用标准编程技术。 每个程序可以以高级过程或面向对象的编程语言来实现以与计算机系 统通信。 然而, 若需要, 该程序可以以汇编或机器语言实现。 在任何情况下, 该语言可以是编 译或解释的语言。 此外, 为此目的该程序能够在编程的专用集成电路上运行。 0090 此外,。
40、 可按任何合适的顺序来执行本文描述的过程的操作, 除非本文另外指示或 以其他方式明显地与上下文矛盾。 本文描述的过程(或变型和/或其组合)可在配置有可执 行指令的一个或多个计算机系统的控制下执行, 并且可作为共同地在一个或多个处理器上 执行的代码(例如, 可执行指令、 一个或多个计算机程序或一个或多个应用)、 由硬件或其组 合来实现。 所述计算机程序包括可由一个或多个处理器执行的多个指令。 0091 进一步, 所述方法可以在可操作地连接至合适的任何类型的安卓计算平台中实 现。 本发明的各方面可以以存储在非暂时性存储介质或设备上的机器可读代码来实现, 无 论是可移动的还是集成至计算平台, 如硬盘。
41、、 光学读取和/或写入存储介质、 RAM、 ROM等, 使 得其可由可编程计算机读取, 当存储介质或设备由计算机读取时可用于配置和操作计算机 以执行在此所描述的过程。 此外, 机器可读代码, 或其部分可以通过有线或无线网络传输。 当此类媒体包括结合微处理器或其他数据处理器实现上文所述步骤的指令或程序时, 本文 所述的发明包括这些和其他不同类型的非暂时性计算机可读存储介质。 当根据本发明所述 的方法和技术编程时, 本发明还可以包括计算机本身。 0092 计算机程序能够应用于输入数据以执行本文所述的功能, 从而转换输入数据以生 成存储至非易失性存储器的输出数据。 输出信息还可以应用于一个或多个输出。
42、设备如显示 器。 在本发明优选的实施例中, 转换的数据表示物理和有形的对象, 包括显示器上产生的物 理和有形对象的特定视觉描绘。 0093 以上所述, 只是本发明的较佳实施例而已, 本发明并不局限于上述实施方式, 只要 其以相同的手段达到本发明的技术效果, 凡在本发明的精神和原则之内, 所做的任何修改、 等同替换、 改进等, 均应包含在本发明保护的范围之内。 在本发明的保护范围内其技术方案 和/或实施方式可以有各种不同的修改和变化。 说明书 7/7 页 10 CN 111831744 A 10 图1 图2 说明书附图 1/7 页 11 CN 111831744 A 11 图3 图4 说明书附图 2/7 页 12 CN 111831744 A 12 图5 说明书附图 3/7 页 13 CN 111831744 A 13 图6 图7 说明书附图 4/7 页 14 CN 111831744 A 14 图8 说明书附图 5/7 页 15 CN 111831744 A 15 图9 图10 说明书附图 6/7 页 16 CN 111831744 A 16 图11 说明书附图 7/7 页 17 CN 111831744 A 17 。
- 内容关键字: DAPP 数据 检索系统 方法 介质
活性炭吸附印刷废气净化设备.pdf
园林绿化植物可调式保护支架.pdf
烟气脱硫塔的除尘装置.pdf
石材仿形切割装置.pdf
茶叶加工用上料装置.pdf
藻类培养容器的自动清洗装置.pdf
轨道车用液压马达与扇叶的连接装置.pdf
布卷抽布装置.pdf
双电源切换装置.pdf
应用于综合配电箱风冷却的降温装置.pdf
电力电缆安装用张紧装置.pdf
用于兽药残留检测的样品预处理装置.pdf
矿用可移动终端的模块电路.pdf
净水剂检测用取样装置.pdf
汽车双发电机双蓄电池并联电路.pdf
防火型电气控制柜.pdf
便携式食品样品取样装置.pdf
电缆铺设夹持组件.pdf
柜体装配检验装置.pdf
用于按摩椅的柔性按摩机构.pdf
硬炭及其制备方法、二次电池.pdf
汽车左悬置支架焊接设备.pdf
路面摊铺器.pdf
滤波器腔体生产装置.pdf
带漏电的保护插线板.pdf
电动轮椅安全阈值控制方法.pdf
重点管控一般工业固体废物筛查方法及系统.pdf
用于小型渠道整型施工装置及施工方法.pdf
miRNA标志物组合在制备预测年龄产品中的应用.pdf
水质检测方法及其系统.pdf
防误插的圆形电连接器.pdf
用于新能源汽车零件的皮碗压装装置.pdf
药用辅料硬脂酸镁的制备方法.pdf
一种假紫罗兰酮制备鸢尾酮的生产工艺及装置.pdf
一种聚醚改性共聚酯连续式制备方法.pdf
醛化鹅新鲜红细胞及其在无细胞百日咳HA试验中的应用.pdf
耐磨聚氨酯鞋底及其制备方法.pdf
一种从盐酸土霉素结晶母液中回收盐酸土霉素的方法.pdf
发酵生产抗生素calicheamicinsub1/subI的发酵培养基及发酵方法和用途.pdf
一种高度黄酒酿造工艺.pdf
一种化合物的制备方法.pdf
一种连续制备加巴喷丁的方法.pdf
一种木薯渣/PVC两相导电复合材料及其制备方法.pdf
杨梅酒及其酿造方法.pdf
与猪免疫性状相关的CXCL12基因片段克隆及作为分子标记的应用.pdf
皱纹盘鲍基因组DNA的无损伤提取方法.pdf
一种拉唑类化合物单一对映体的分离方法.pdf
一种环保型聚氨酯保温材料.pdf
一种透明质酸菌种复壮新方法.pdf
一种改性碳酸钙填充PVC管材及其制备方法.pdf
利用精馏塔进行液相邻苯二甲酸酐回收的方法.pdf
相关文档
更多![雨水减污处理系统及方法.pdf](/Images/s.gif)
![自清洁的防虫LED路灯.pdf](/Images/s.gif)
![改性丙烯酸酯光固化树脂及其制备方法.pdf](/Images/s.gif)
![账户授权的方法、装置及系统.pdf](/Images/s.gif)
![DMA传输方法及相关装置.pdf](/Images/s.gif)
![多监控中心物联网监控系统.pdf](/Images/s.gif)
![基于智能移动终端的酶联免疫层析传感器及使用方法.pdf](/Images/s.gif)
![网络滤波器及网络滤波器制作方法.pdf](/Images/s.gif)
![连挂列车的控制方法及系统.pdf](/Images/s.gif)
![信息同步的方法、装置、系统及计算机可读存储介质.pdf](/Images/s.gif)
![超导线材的涂漆方法.pdf](/Images/s.gif)
![连续碳纤维复合石墨烯制备装备.pdf](/Images/s.gif)
![旋转式截止阀.pdf](/Images/s.gif)
![双通道地面站测试装置、工作方法、计算机设备及存储介质.pdf](/Images/s.gif)
![建筑图纸构件识别方法、电子设备及相关产品.pdf](/Images/s.gif)
![过欠压断路断相保护器故障显示方法.pdf](/Images/s.gif)
![压缩机堵转性能测试台堵转控制、监测系统以及方法.pdf](/Images/s.gif)
![处理方法及系统.pdf](/Images/s.gif)
![直流自润滑导向可复位电磁铁.pdf](/Images/s.gif)
![应用于服务器的通用型超级电容托架.pdf](/Images/s.gif)