一种区块链智能合约应用开发环境构建方法和装置制造方法及图纸

技术编号:36222727 阅读:49 留言:0更新日期:2023-01-04 12:21
本说明书实施例公开了一种区块链智能合约应用开发环境构建方法和装置,其中所述方法包括:获取智能合约的应用程序二进制接口,所述智能合约包括用于执行相应合约功能的函数,所述函数至少包括函数名;对于智能合约的函数执行循环过程直至满足预设条件,所述预设条件为智能合约的函数完成遍历,循环过程包括:若函数包括参数时,创建用于封装函数对象的Java类,所述Java类的类名依据预设命名规则确定;获取函数名和参数,所述参数包括参数名;对应于函数的参数,生成Java类的相应字段,所述字段包括字段名和字段类型,所述字段类型与所述参数类型具有对应关系。本发明专利技术方案能够通过智能合约自动生成完成对应的应用开发环境配置,从而提高应用开发效率。从而提高应用开发效率。从而提高应用开发效率。

【技术实现步骤摘要】
一种区块链智能合约应用开发环境构建方法和装置


[0001]本说明书涉及计算机软件
,尤其涉及一种区块链智能合约应用开发环境构建方法、装置、电子设备和存储介质。

技术介绍

[0002]区块链应用开发既包括智能合约本身的设计与开发,同时也包括后台业务功能开发,以便为区块链智能。后台业务开发包括项目建立、引入依赖、配置代码编写、模型类编写、服务类编写、业务逻辑编写等步骤。这些步骤相对繁琐且一旦配置或步骤缺失,会影响了后台业务开发效率。作为针对区块链智能合约的后台业务开发环境和模式,由于具有一定的规律性,因此,有必要提出面向区块链智能合约的应用开发环境构建方案,以降低应用开发重复的工作量,帮助应用开发者快速完成配置,提高智能合约应用开发的效率。

技术实现思路

[0003]本说明书实施例的目的是针对上述问题,提供一种区块链智能合约应用开发环境构建方法、装置、电子设备和存储介质。
[0004]为解决上述技术问题,本说明书实施例是这样实现的:
[0005]第一方面,提出一种区块链智能合约应用开发环境构建方法,包括:
[0006]获取智能合约的应用程序二进制接口,所述智能合约包括用于执行相应合约功能的函数,所述函数至少包括函数名;
[0007]对于所述智能合约的所述函数执行循环过程直至满足预设条件,所述预设条件为所述智能合约的所述函数完成遍历,所述循环过程包括:
[0008]当所述函数包括参数时,创建用于封装函数对象的Java类,所述Java类的类名依据预设命名规则确定;
[0009]获取所述函数名和所述参数,所述参数包括参数名;
[0010]对应于所述函数的所述参数,生成所述Java类的相应字段,所述字段包括字段名和字段类型,所述字段类型与所述参数类型具有对应关系。
[0011]进一步地,创建用于表示函数对象的Java类包括使用Javapoet框架创建Java类。
[0012]进一步地,依据预设命名规则确定的所述Java类的类名至少包括所述智能合约的名称和/或所述函数名。
[0013]进一步地,所述字段类型包括将智能合约开发语言的字段类型转换为对应于Java语言的字段类型。
[0014]进一步地,还包括:依据所述智能合约的所述函数的所述Java类生成对应于所述智能合约的应用开发环境,生成过程包括:
[0015]生成智能合约应用开发的项目工程,所述项目工程基于Spring Boot框架生成;
[0016]在所述项目工程的config目录下生成Bean配置相关类;
[0017]在所述项目工程的service目录下生成用于智能合约访问的Service类,所述
Service类与所述智能合约一一对应;
[0018]在所述项目工程的bo目录下生成用于封装智能合约函数的所述Java类;
[0019]将智能合约证书存放于所述项目工程的src/main/resource/conf目录下。
[0020]第二方面,提出一种区块链智能合约应用开发环境构建装置,包括:
[0021]第一模块,能够获取智能合约的应用程序二进制接口,所述智能合约包括用于执行相应合约功能的函数,所述函数至少包括函数名;
[0022]第二模块,能够对于所述智能合约的所述函数执行循环过程直至满足预设条件,所述预设条件为所述智能合约的所述函数完成遍历,所述循环过程包括:
[0023]第一单元,能够当所述函数包括参数时,创建用于封装函数对象的Java类,所述Java类的类名依据预设命名规则确定;
[0024]第二单元,能够获取所述函数名和所述参数,所述参数包括参数名和参数类型;
[0025]第三单元,能够对应于所述函数的所述参数,生成所述Java类的相应字段,所述字段包括字段名和字段类型,所述字段类型与所述参数类型具有对应关系。
[0026]进一步地,创建用于表示函数对象的Java类包括使用Javapoet框架创建Java类。
[0027]进一步地,依据预设命名规则确定的所述Java类的类名至少包括所述智能合约的名称和/或所述函数名。
[0028]进一步地,所述字段类型包括将智能合约开发语言的字段类型转换为对应于Java语言的字段类型。
[0029]进一步地,还包括:
[0030]第三模块,能够依据所述智能合约的所述函数的所述Java类生成对应于所述智能合约的应用开发环境;所述第三模块的工作过程,包括:
[0031]生成智能合约应用开发的项目工程,所述项目工程基于Spring Boot框架生成;
[0032]在所述项目工程的config目录下生成Bean配置相关类;
[0033]在所述项目工程的Service目录下生成用于智能合约访问的Service类,所述Service类与所述智能合约一一对应;
[0034]在所述项目工程的bo目录下生成用于封装智能合约函数的所述Java类;
[0035]将智能合约证书存放于所述项目工程的src/main/resource/conf目录下。
[0036]第三方面,提出一种电子设备,其特征在于,包括:
[0037]处理器;以及
[0038]被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行第一方面所述的区块链智能合约应用开发环境构建方法。
[0039]第四方面,提出一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储一个或多个程序,所述一个或多个程序当被包括多个应用程序的电子设备执行时,使得所述电子设备执行第一方面所述的区块链智能合约应用开发环境构建方法。
[0040]本说明书可以达到至少以下技术效果:
[0041]本专利技术方案通过获取并导入智能合约的应用程序二进制接口,针对智能合约函数封装成对应的业务对象并生成相应应用开发工程,从而降低智能合约应用开发难度和成本,提高开发效率。
附图说明
[0042]为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0043]图1为本说明书实施例提供的区块链智能合约应用开发环境构建方法示意图之一。
[0044]图2为本说明书实施例提供的区块链智能合约应用开发环境构建方法示意图之二。
[0045]图3为本说明书实施例提供的区块链智能合约应用开发环境构建方法示意图之三。
[0046]图4为本说明书实施例提供的区块链智能合约应用开发环境构建装置示意图之一。
[0047]图5为本说明书实施例提供的区块链智能合约应用开发环境构建装置示意图之二。
[0048]图6为本说明书的一个实施例提供的电子设备的结构示意图。...

【技术保护点】

【技术特征摘要】
1.一种区块链智能合约应用开发环境构建方法,其特征在于,包括:获取智能合约的应用程序二进制接口,所述智能合约包括用于执行相应合约功能的函数,所述函数至少包括函数名;对于所述智能合约的所述函数执行循环过程直至满足预设条件,所述预设条件为所述智能合约的所述函数完成遍历,所述循环过程包括:当所述函数包括参数时,创建用于封装函数对象的Java类,所述Java类的类名依据预设命名规则确定;获取所述函数名和所述参数,所述参数包括参数名;对应于所述函数的所述参数,生成所述Java类的相应字段,所述字段包括字段名和字段类型,所述字段类型与所述参数类型具有对应关系。2.根据权利要求1所述的区块链智能合约应用开发环境构建方法,其特征在于,创建用于表示函数对象的Java类包括使用Javapoet框架创建Java类。3.根据权利要求1所述的区块链智能合约应用开发环境构建方法,其特征在于,依据预设命名规则确定的所述Java类的类名至少包括所述智能合约的名称和/或所述函数名。4.根据权利要求1所述的区块链智能合约应用开发环境构建方法,其特征在于,所述字段类型包括将智能合约开发语言的字段类型转换为对应于Java语言的字段类型。5.根据权利要求1至4任一项所述的区块链智能合约应用开发环境构建方法,其特征在于,还包括:依据所述智能合约的所述函数的所述Java类生成对应于所述智能合约的应用开发环境,生成过程包括:生成智能合约应用开发的项目工程,所述项目工程基于Spring Boot框架生成;在所述项目工程的config目录下生成Bean配置相关类;在所述项目工程的service目录下生成用于智能合约访问的Service类,所述Service类与所述智能合约一一对应;在所述项目工程的bo目录下生成用于封装智能合约函数的所述Java类;将智能合约证书存放于所述项目工程的src/main/resource/conf目录下。6.一种区块链智能合约应用开发环境构建装置,其特征在于,包括:第一模块,能够获取智能合约的应用程序二进制接口,所述智能合约包括用于执行相应合约功能的函数,所述函数至少包括函数名;第二模块,能够对于所述智能合约的所述函数执行循环过程直至满足预设条件,所述预设条件为所述智能合约的...

【专利技术属性】
技术研发人员:王晓亮林东
申请(专利权)人:杭州溪塔科技有限公司
类型:发明
国别省市:

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

1