logo好方法网

一种基于数据库数据表自动生成区块链智能合约的方法


技术摘要:
本发明公开了一种基于数据库数据表自动生成区块链智能合约的方法,在关系型数据库中创建数据表;区块链平台通过读取关系型数据库中的新增数据表,自动生成智能合约代码。智能合约代码更新完成之后,进行自动化编译,并部署到区块链平台。区块链平台将数据同步到关系型  全部
背景技术:
区块链技术从本质上讲是一个分布式的账本和数据库,具有去中心化,不可篡改, 可追溯,公开透明的特点。智能合约是一段部署在区块链上的程序,以计算机指令的方式实 现传统合约的自动化处理。智能合约能够对信息进行回应,可以接受和存储信息,也可以向 外发送信息。智能合约总是按照事先规定的规则执行操作。因此,智能合约的编码必须按照 一定的规范进行。 但是在智能合约实际编码过程中,由于业务数据模式的不同,编码人员的不同,在 编写智能合约代码的过程中难以形成一套统一的规范。而且区块链技术是链式的数据存 储,在数据管理上存在一定的局限性。例如具有数据查询效率低,不支持列表查询等缺点。
技术实现要素:
针对智能合约实际开发过程中缺乏规范性的问题,以及区块链平台数据管理的局 限性,本发明提出了一种基于数据库数据表自动生成区块链智能合约的方法,通过数据库 数据表的表结构生成智能合约代码,统一智能合约代码规范,简化智能合约开发流程,提高 开发效率;通过将区块链平台数据同步到数据库中,实现数据可视化管理,提高数据管理效 率。 本发明的目的是通过以下技术方案实现的:一种基于数据库数据表自动生成区块 链智能合约的方法,包括以下步骤: (1)在关系型数据库中创建业务数据所需的数据表,其中数据表的表结构定义了 表名、表字段、表字段类型、表字段长度、表主键等。 (2)根据关系型数据库中的数据表自动生成智能合约代码,具体为:根据关系型数 据库中的数据表表结构,在智能合约中添加相应的结构体;根据关系型数据库中的数据表 表主键,在智能合约中添加相应的结构体和索引的映射关系;同时根据关系型数据库表结 构和表主键,在智能合约中添加相应的数据新增、删除、更新和查询函数。 (3)智能合约代码更新完成之后,生成一个合约更新完成标志文件;区块链平台检 测到标志文件时,对更新后的智能合约代码进行编译;智能合约代码编译完成后,区块链平 台将配置文件中的目标版本编号加1;区块链平台检测到配置文件中的目标版本编号大于 当前版本编号,对编译后的智能合约进行升级部署。 (4)根据区块链平台和关系型数据库之间数据关系的一一映射关系,将区块链平 台中的数据同步到关系型数据库的对应数据表中,具体为:业务数据登记到区块链平台,区 块链平台根据上述数据关系的一一映射关系,将新增、删除、更新的数据同步到关系型数据 库中。 4 CN 111581181 A 说 明 书 2/4 页 进一步地,所述的步骤(2)中,结构体和索引的映射关系具体为:结构体名和数据 表表名一致,结构体成员和数据表字段名一致,结构体成员类型由数据表中表字段类型和 表字段长度共同决定;所述的索引和数据表中的表主键一致。 进一步地,所述的步骤(2)中,合约中的数据新增、删除、更新和查询函数是通过结 构体和索引的映射关系实现的;索引为映射关键字,同数据表中的表主键保持一致,结构体 为映射关键字的值。 进一步地,所述的步骤(2)中,所述的数据新增、删除、更新函数属于同一个函数, 命名为“insert 表名”;所述的数据查询函数命名为“get 表名”。 进一步地,所述的步骤(3)具体为:智能合约更新完成后,生成一个合约更新完成 标志文件,命名为contract.update;区块链平台检测到contract.update文件时,区块链平 台对智能合约代码进行编译 ;完成智能合约代码编译后,将区块链平台中的 hpc .properties配置文件中的目标版本号target_version加1;区块链平台定时检测 hpc.properties配置文件,当配置文件中的目标版本号target_version大于当前版本号 current_version时,区块链平台对编译后的智能合约进行升级,并将配置文件 hpc.properties中的前版本号current_version的值修改成目标版本号target_version的 值。 进一步地,所述的步骤(4)中,所述的数据同步是通过区块链平台和关系型数据库 之间数据关系的一一映射关系实现的;当数据写入到区块链平台的同时,区块链平台中的 数据同步更新到数据表中。 进一步地,所述的步骤(4)中,通过同步到关系型数据库中的数据实现数据的可视 化管理。 本发明的有益效果是:本发明在关系型数据库中创建数据表;区块链平台通过读 取关系型数据库中的新增数据表,自动生成智能合约代码。智能合约代码更新完成之后,进 行自动化编译,并部署到区块链平台。区块链平台将数据同步到关系型数据库中。本发明方 法提供区块链平台和关系型数据库之间数据关系的一一映射关系,实现了智能合约的自动 编写,并且将区块链平台数据可视化,实现数据自动同步。方便开发者编写合约,提高效率, 也可以提高数据的管理效率。 附图说明 图1为基于数据库数据表自动生成区块链智能合约方法的流程图; 图2为关系型数据库中的数据表; 图3为通过数据表生成的合约代码。
下载此资料需消耗2积分,
分享到:
收藏