区块链应用的生成方法及生成系统技术方案

技术编号:34149210 阅读:22 留言:0更新日期:2022-07-14 19:43
本申请公开了一种区块链应用的生成方法及生成系统,属于区块链技术领域。所述方法包括:转换引擎获取程序代码;对程序代码进行静态分析,得到至少一个功能模块和每个功能模块所依赖的业务逻辑,功能模块的类型包括网页接口调用、数据库读写、文件读写和状态变量中的至少一种;根据功能模块生成智能合约,根据功能模块所依赖的业务逻辑生成客户端代码;加速引擎接收客户端发送的批量交易,从批量交易中筛选出调用参数之间不存在依赖关系的多个交易组成并发交易列表,通过智能合约并发执行并发交易列表中的多个交易,交易中的调用参数是由客户端代码根据业务逻辑生成的。本申请既降低了开发成本也提高了开发效率,还提高了交易的执行效率。的执行效率。的执行效率。

Generation method and system of blockchain application

【技术实现步骤摘要】
区块链应用的生成方法及生成系统


[0001]本申请涉及区块链
,特别涉及一种区块链应用的生成方法及生成系统。

技术介绍

[0002]传统的软件系统对于数据的存储和读取都是中心化的,数据读写的方式包括网页接口(web API)调用,数据库读写,文件读写等。中心化的数据存储存在一定的安全风险,容易被攻击和篡改。区块链应用的数据存储是去中心化的分布式存储,可以保证数据的不可篡改。此外,区块链应用可以使得每个参与方互相信任数据的真实性和完整性。如果一个软件系统需要多方参与并且要保证数据的安全和不可篡改,那么基于区块链技术去开发是最合适的。目前,越来越多的企业正在将现有的中心化存储的软件系统改造成区块链应用。
[0003]现有的技术方案是区块链开发者基于现有软件系统的业务逻辑,重新开发一套区块链应用,将现有的数据存储转移到区块链的账本上。这样,开发者需要开发智能合约,以及调用智能合约的客户端代码。
[0004]开发者手动开发智能合约以及客户端代码的过程费时费力,成本很高,这需要开发者有专业的区块链开发技能,并且手动编写的代码量很大。本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种区块链应用的生成方法,其特征在于,用于区块链应用的生成系统中,所述区块链应用包括链上的智能合约和链下的客户端中的客户端代码,且所述生成系统中包括转换引擎和加速引擎,所述方法包括:所述转换引擎获取程序代码;所述转换引擎对所述程序代码进行静态分析,得到至少一个功能模块和每个功能模块所依赖的业务逻辑,所述功能模块的类型包括网页接口调用、数据库读写、文件读写和状态变量中的至少一种;所述转换引擎根据所述功能模块生成所述智能合约,根据所述功能模块所依赖的业务逻辑生成所述客户端代码;所述加速引擎接收所述客户端发送的批量交易,从所述批量交易中筛选出调用参数之间不存在依赖关系的多个交易组成并发交易列表,通过所述智能合约并发执行所述并发交易列表中的多个交易,所述交易中的调用参数是由所述客户端代码根据所述业务逻辑生成的。2.根据权利要求1所述的方法,其特征在于,所述生成系统中还包括部署在所述客户端中的验证引擎,所述方法还包括:所述验证引擎根据生成所述调用参数的业务逻辑生成算术电路,并获取用于生成所述调用参数的变量的赋值;所述验证引擎根据所述算术电路和所述赋值生成所述调用参数的密码学证明;所述验证引擎将所述密码学证明发送给所述智能合约;所述智能合约对所述密码学证明进行验证,其中,验证通过的密码学证明表示所述调用参数的生成过程未被篡改。3.根据权利要求2所述的方法,其特征在于,当存在多个业务逻辑,且所述多个业务逻辑之间无依赖关系时,所述验证引擎对每个业务逻辑对应的算术电路和赋值并发生成多个调用参数的密码学证明。4.根据权利要求1所述的方法,其特征在于,在所述通过所述智能合约并发执行所述并发交易列表中的多个交易之后,所述方法还包括:针对每个交易,所述加速引擎获取所述智能合约反馈的账本读集合和账本写集合,所述账本读集合中包括执行所述交易时所需读取的参数的第一键值,所述账本写集合中包括执行所述交易时所需写入的参数的第二键值;在所述并发交易列表中,若第一交易对应的第一键值与第二交易对应的第二键值相等,或所述第一交易对应的第二键值与所述第二交易对应的第一键值相等,则所述加速引擎从所述并发交易列表中删除所述第一交易和所述第二交易,并指示所述客户端重新串行发送所述第一交易和所述第二交易。5.根据权利要求4所述的方法,其特征在于,所述方法还包括:在所述并发交易列表中,若第三交易对应的第一键值与其他交易对应的第二键值都不等,且所述第三交易对应的第二键值与其他交易对应的第一键值都不等,则所述加速引擎将所述第三交易发送给共识节点进行共识和上链。6.根据权利要求1至5中任一项所述的方法,其特征在于,当所述功能模块的类型是网页接口调用时,所述转换引擎根据所述功能模块生成所述智能合约,根据所述功能模块所
依赖的业务逻辑生成所述客户端代码,包括:所述转换引擎从所述功能模块中查找http函数,所述http函数包括http get函数和http post函数;对于每个http函数,所述转换引擎为所述http函数分配函数标识,并获取所述http函数中定义的接口信息,将所述函数标识和所述接口信息对应添加到智能合约中;将与所述http函数的调用参数相依赖的业务逻辑转换为所述客户端代码。7.根据权利要求1至5中任一项所述的方法,其特征在于,当所述功能模块的类型是数据库读写时,所述转换引擎根据...

【专利技术属性】
技术研发人员:左磊张沈斌
申请(专利权)人:天聚地合苏州科技股份有限公司
类型:发明
国别省市:

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

1