对话式智能合约生成方法、装置、存储介质及电子设备与流程

文档序号:34907558发布日期:2023-07-27 19:37阅读:21来源:国知局
对话式智能合约生成方法、装置、存储介质及电子设备与流程

本技术涉及区块链领域,具体而言,涉及一种对话式智能合约生成方法、装置、存储介质及电子设备。


背景技术:

1、现有的智能合约开发需要掌握专门的智能合约开发语言,例如,solidity、golang、javascript等,对普通用户而言准入门槛较高。

2、以solidity语言为例,其语法与c++相似,但是有一些区别。solidity包括一些高级特性,如继承、事件和库,使得开发人员可以更轻松地编写复杂的智能合约。solidity还支持不同的数据类型,包括布尔型、整型、地址型、字符串型和字节数组等。此外,solidity还具有一些内置的函数,用于与区块链上的数据进行交互。

3、此外,solidity作为一门静态类型语言,这意味着变量必须在编译时声明其类型。solidity编译器将代码转换为ethereum虚拟机(evm)可以理解的字节码。智能合约可以使用ethereum虚拟机上的gas来执行。gas是ethereum区块链中的计费单位,用于支付运行智能合约的费用。因此,在编写solidity智能合约时,需要考虑gas使用情况,以确保代码的执行效率和经济性。

4、因此,对于一个没有计算机基础的人而言,掌握一门智能合约编程语言不是件易事,这其中不仅要理解开发语言本身的特性、应用场景、编程技巧,还要结合区块链特征编写出适用、合理且经济的代码,同时还要花费一定的时间和精力,具有相当高的学习成本。


技术实现思路

1、为了克服现有技术中的至少一个不足,本技术提供一种对话式智能合约生成方法、装置、存储介质及电子设备,具体包括:

2、第一方面,本技术提供一种对话式智能合约生成方法,所述方法包括:

3、通过与用户进行对话,确定所述用户需要的目标合约子功能;

4、根据所述目标合约子功能,向所述用户提供引导语句,其中,所述引导语句用于引导所述用户提供所述目标合约子功能需要的参数;

5、根据所述用户对所述引导语句响应语句,获得所述目标合约子功能需要的参数;

6、根据所述目标合约子功能需要的参数,生成提供所述目标合约子功能的合约代码片段。

7、结合第一方面的可选实施方式,所述方法还包括:

8、获取至少一条合约代码片段;

9、将所述至少一条合约代码片段拼装成提供完整合约功能的智能合约代码。

10、结合第一方面的可选实施方式,所述将所述至少一条合约代码片段拼装成提供完整合约功能的智能合约代码,包括:

11、获取所述至少一条合约代码片段各自在对话上下文中的位置;

12、将所述至少一条合约代码片段按照各自在对话上下文中的位置进行拼装,得到所述提供完整合约功能的智能合约代码。

13、结合第一方面的可选实施方式,所述获取所述至少一条合约代码片段各自在对话上下文中的位置,包括:

14、获取上下文描述对象,其中,所述上下文描述对象记录有目标合约子功能在所述对话上下文中的出现位置;

15、根据所述上下文描述对象,获取所述至少一条合约代码片段各自在对话上下文中的位置。

16、结合第一方面的可选实施方式,所述根据所述目标合约子功能,向所述用户提供引导语句,包括:

17、获取所述目标合约子功能所需参数的参数名称;

18、根据所述参数名称,生成所述引导语句。

19、结合第一方面的可选实施方式,通过与用户进行对话,确定所述用户需要的目标合约子功能,包括:

20、接收用户输入的交互语句;

21、将所述交互语句与多个合约子功能的描述信息进行匹配,获得匹配成功的目标描述信息;

22、将所述目标描述信息对应的合约子功能,作为所述目标合约子功能。

23、结合第一方面的可选实施方式,所述将所述交互语句与多个合约子功能的描述信息进行匹配,获得匹配成功的目标描述信息,包括:

24、将所述交互语句转换为第一特征向量;

25、将所述多个合约子功能的描述信息转换为多个第二特征向量;

26、将所述多个第二特征向量分别与所述第一特征向量输入预先训练的语义识别模型,获得所述语义识别模型输出的多个匹配结果;

27、根据所述多个匹配结果,获得匹配成功的目标描述信息。

28、第二方面,本技术提供一种对话式智能合约生成装置,所述装置包括:

29、需求分析模块,用于通过与用户进行对话,确定所述用户需要的目标合约子功能;

30、参数引导模块,用于根据所述目标合约子功能,向所述用户提供引导语句,其中,所述引导语句用于引导所述用户提供所述目标合约子功能需要的参数;

31、所述参数引导模块,还用于根据所述用户对所述引导语句响应语句,获得所述目标合约子功能需要的参数;

32、代码生成模块,用于根据所述目标合约子功能需要的参数,生成提供所述目标合约子功能的合约代码片段。

33、结合第二方面的可选实施方式,所述代码生成模块还用于:

34、获取至少一条合约代码片段;

35、将所述至少一条合约代码片段拼装成提供完整合约功能的智能合约代码。

36、结合第二方面的可选实施方式,所述代码生成模块还用于:

37、获取所述至少一条合约代码片段各自在对话上下文中的位置;

38、将所述至少一条合约代码片段按照各自在对话上下文中的位置进行拼装,得到所述提供完整合约功能的智能合约代码。

39、结合第二方面的可选实施方式,所述代码生成模块还用于:

40、获取上下文描述对象,其中,所述上下文描述对象记录有目标合约子功能在所述对话上下文中的出现位置;

41、根据所述上下文描述对象,获取所述至少一条合约代码片段各自在对话上下文中的位置。

42、结合第二方面的可选实施方式,所述参数引导模块还用于:

43、获取所述目标合约子功能所需参数的参数名称;

44、根据所述参数名称,生成所述引导语句。

45、结合第二方面的可选实施方式,所述需求分析模块还用于:

46、接收用户输入的交互语句;

47、将所述交互语句与多个合约子功能的描述信息进行匹配,获得匹配成功的目标描述信息;

48、将所述目标描述信息对应的合约子功能,作为所述目标合约子功能。

49、结合第二方面的可选实施方式,所述需求分析模块还用于:

50、将所述交互语句转换为第一特征向量;

51、将所述多个合约子功能的描述信息转换为多个第二特征向量;

52、将所述多个第二特征向量分别与所述第一特征向量输入预先训练的语义识别模型,获得所述语义识别模型输出的多个匹配结果;

53、根据所述多个匹配结果,获得匹配成功的目标描述信息。

54、第三方面,本技术还提供一种存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时,实现所述的对话式智能合约生成方法。

55、第四方面,本技术还提供能一种电子设备,所述电子设备包括处理器以及存储器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,实现所述的对话式智能合约生成方法。

56、相对于现有技术而言,本技术具有以下有益效果:

57、本技术提供的对话式智能合约生成方法、装置、存储介质及电子设备中。电子设备通过与用户进行对话,确定用户需要的目标合约子功能;根据目标合约子功能,向用户提供引导语句,其中,引导语句用于引导用户提供目标合约子功能需要的参数。然后,根据用户对引导语句响应语句,获得目标合约子功能需要的参数;最后,根据目标合约子功能需要的参数,生成提供目标合约子功能的合约代码片段。如此,将智能合约划分为多个合约子功能,并在与用户对话的过程中确定出用户需要的目标合约子功能后,引导用户提供合约代码片段需要的参数,从而使得用户无需了解合约语言的细节即可获得智能合约代码。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1