一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种可展示智能合约模型结构的区块链软件开发工具及实现方法与流程

2022-11-14 12:03:28 来源:中国专利 TAG:


1.本说明书涉及计算机软件技术领域,尤其涉及一种可展示智能合约模型结构的区块链软件开发工具、实现方法、电子设备和存储介质。


背景技术:

2.区块链智能合约开发过程需要经过业务合约模型设计、业务逻辑设计,再使用所对应的区块链所支持的区块链智能合约虚拟机可以运行的智能合约编程语言进行开发,而复杂业务逻辑的区块链智能合约代码编写复杂,如果有可视化的工具,可以帮助开发人员更直观的了解智能合约的代码架构、合约模型间的交互逻辑、合约间的关联关系、合约中主要函数、合约变量的生命周期,则可以提高智能合约的开发效率、提高智能合约代码质量,从而提高智能合约代码的可维护性、减少代码安全风险。


技术实现要素:

3.本说明书实施例的目的是针对上述问题,提供一种可展示智能合约模型结构的区块链软件开发工具、实现方法、电子设备和存储介质。
4.为解决上述技术问题,本说明书实施例是这样实现的:
5.第一方面,提出了一种可展示智能合约模型结构的区块链软件开发工具,包括智能合约代码开发环境和智能合约模型结构可视化组件;所述智能合约代码开发环境至少包括代码编辑器、编译器、调试器和图形用户界面;所述智能合约模型结构可视化组件至少包括代码分析模块、代码结构渲染模块、可视化展示模块和代码变化监视模块,其中,
6.所述代码分析模块,用于响应于分析所述智能合约代码,提取所述智能合约模型结构并生成对应的图形描述内容;
7.所述模型结构渲染模块,用于根据所述图形描述内容生成对应图形文件;
8.所述可视化展示模块,用于加载所述图形文件并生成所述模型结构的图形窗口展示于所述智能合约代码开发环境的所述图形用户界面;
9.所述代码变化监视模块,用于实时监视所述智能合约代码变化,以使所述智能合约代码重新生成对应所述图形文件并展示。
10.第二方面,提出了一种可展示智能合约模型结构的区块链软件开发工具实现方法,所述软件开发工具包括智能合约代码开发环境和智能合约模型结构可视化组件;所述智能合约代码开发环境用于代码的编辑、编译器、调试和展示图形用户界面;所述智能合约模型结构可视化组件用于展示智能合约模型结构,实现过程包括:
11.分析所述智能合约代码,提取所述智能合约模型结构并生成对应的图形描述内容;
12.根据所述图形描述内容生成对应图形文件;
13.加载所述图形文件并生成图形窗口展示于所述智能合约代码开发环境的所述图
形用户界面;
14.实时监视所述智能合约代码变化,以使所述智能合约代码重新生成对应所述图形文件并展示。
15.第三方面,提出了一种电子设备,包括:处理器;以及
16.被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行第二方面所述的方法。
17.第四方面,提出了一种计算机可读存储介质,所述计算机可读存储介质存储一个或多个程序,所述一个或多个程序当被包括多个应用程序的电子设备执行时,使得所述电子设备执行第二方面所述的方法。
18.本说明书可以达到至少以下技术效果:
19.本发明方案对智能合约代码架构、智能合约模型间交互逻辑、智能合约间关联关系、智能合约函数、智能合约变量状态变化实现可视化展示,可有效提高智能合约开发效率和代码质量,从而提高智能合约代码的可维护性、减少代码安全风险。
附图说明
20.为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
21.图1为本说明书实施例提供可展示智能合约模型结构的区块链软件开发工具示意图之一。
22.图2为本说明书实施例提供的可展示智能合约模型结构的区块链软件开发工具示意图之二。
23.图3为本说明书实施例提供的可展示智能合约模型结构的区块链软件开发工具示意图之三。
24.图4为本说明书实施例提供可展示智能合约模型结构的区块链软件开发工具示意图之四。
25.图5为本说明书实施例提供的可展示智能合约模型结构的区块链软件开发工具示意图之五。
26.图6为本说明书实施例提供的可展示智能合约模型结构的区块链软件开发工具实现方法示意图之一。
27.图7为本说明书实施例提供的可展示智能合约模型结构的区块链软件开发工具实现方法示意图之二。
28.图8为本说明书的一个实施例提供的电子设备的结构示意图。
具体实施方式
29.为了使本技术领域的人员更好地理解本说明书中的技术方案,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,
本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本说明书保护的范围。
30.下面通过具体的实例对本说明书所涉及的一种基于kubernetes的数据加解密方案进行详述。
31.关键术语
32.智能合约:运行在区块链系统内的程序,具有按设定逻辑自动执行、执行结果不可窜改的特性。智能合约是代码和数据的集合,其整个交易过程通过数字代码来体现,在满足交易条件的情况下便可自动完成交易。《2018年中国区块链产业白皮书》对智能合约进行了定义:“由事件驱动的、具有状态的、获得多方承认的、运行在区块链之上的且能够根据预设条件自动处理资产的程序。而对于智能合约代码的编写,需要区块链智能合约的应用开发者至少要是用一种支持智能合约的编程语言。
33.集成开发环境ide:是用于提供程序开发环境的应用程序,一般包括代码编辑器、编译器、调试器和图形用户界面等工具。集成了代码编写功能、分析功能、编译功能、调试功能等一体化的开发软件服务套。所有具备这一特性的软件或者软件套(组)都可以叫集成开发环境。
34.实施例一
35.本发明关注的是在区块链软件开发工具中如何实现区块链智能合约模型结构的可视化展示问题。着重关注的不是区块链智能合约的设计工具,是智能合约代码开发分析工具,也即对已编写好的代码进行分析,展示智能合约模型结构,特别是围绕变量、函数、关联关系以及智能合约有生命周期的变量状态变化量等。以智能合约的solidity语言为例,在solidity语言中,智能合约类似面向对象语言中的类,每个合约中包含状态变量、函数、函数变量、函数修饰器、事件、结构、和枚举类的声明,合约也可以继承其他的合约。同时,两个不同的智能合约也会发生关联关系。在进行智能合约代码编写完成后,如果以可视化组件的方式展示在区块链的软件开发工具中,也即与集成开发环境ide进行整合,将有效提高智能合约开发效率和代码质量,从而提高智能合约代码的可维护性、减少代码安全风险。
36.因此,基于上述问题分析,结合ide和智能合约模型结构特征,参照图1所示,形成了本发明实施例的一种可展示智能合约模型结构的区块链软件开发工具,包括智能合约代码开发环境101和智能合约模型结构可视化组件102。如图2所示,所述智能合约代码开发环境101至少包括代码编辑器111、编译器112、调试器113和图形用户界面114。如图3所示,所述智能合约模型结构可视化组件102至少包括代码分析模块211、代码结构渲染模块212、可视化展示模块213和代码变化监视模块214,其中:
37.所述代码分析模块211,用于响应于分析所述智能合约代码,提取所述智能合约模型结构并生成对应的图形描述内容。可选地,所述智能合约模型结构的元素包括智能合约模型间关联关系、智能合约模型公开函数列表、智能合约有生命周期变量的状态变化量中的至少一种。具体地,对于所述智能合约模型间关联关系包括内部调用和外部调用,同时,也可展示未在当前智能合约代码中定义但与当前智能合约代码存在关联关系的合约模型结构相应元素。可选地,所述代码分析模块211生成所述模型结构对应的所述图形描述内容包括使用dot语言实现。dot语言是一种文本图形描述语言,它提供了一种简单的描述图形的方法,并且可以为人类和计算机程序所理解。dot语言文件通常是具有.gv或是.dot的文
件扩展名。在最简单的应用中,dot语言可以用来描述无向图,无向图显示了对象间最简单的关系;类似于无向图,dot语言也可以用来描述有向图类似于流程图和树状图,其语法与无向图相似。如图4所示,则是智能合约有生命周期变量的状态变化量的可视化效果展示。
38.所述模型结构渲染模块212,用于根据所述图形描述内容生成对应图形文件。可选地,所述代码结构渲染模块212生成对应图形文件的格式包括svg格式。svg是一种用xml定义的语言,用来描述二维矢量及矢量/栅格图形,svg提供了3种类型的图形对象:矢量图形由直线和曲线组成的路径、图像、文本。svg图形是可交互的和动态的,平均来讲,svg文件比jpeg和png格式的文件要小很多,因而下载也很快。
39.所述可视化展示模块213,用于加载所述图形文件并生成所述模型结构的图形窗口展示于所述智能合约代码开发环境的所述图形用户界面。可选地,所述可视化展示模块213生成所述模型结构的图形窗口展示于所述智能合约代码开发环境的所述图形用户界面114时,当前展示的所述智能合约代码与当前所述图形窗口展示的所述图形文件对应。
40.所述代码变化监视模块214,用于实时监视所述智能合约代码变化,以使所述智能合约代码重新生成对应所述图形文件并展示。
41.本实施例提出一种可展示智能合约模型结构的区块链软件开发工具的另一种实现方案如图5所示,所述智能合约模型结构可视化组件102还包括:
42.图形代码交互模块215,用于在所述智能合约代码开发环境101的所述图形用户界面114中点击所述图形格式文件时,跳转至所述智能合约代码开发环境101的所述代码编辑器111中对应代码所在的行位置。
43.实施例二
44.参照图6所示,为本发明实施例中一种可展示智能合约模型结构的区块链软件开发工具实现方法示意图,所述方法包括:所述软件开发工具包括智能合约代码开发环境和智能合约模型结构可视化组件;所述智能合约代码开发环境用于代码的编辑、编译器、调试和展示图形用户界面;所述智能合约模型结构可视化组件用于展示智能合约模型结构,实现过程包括:
45.步骤601:分析所述智能合约代码,提取所述智能合约模型结构并生成对应的图形描述内容。可选地,所述智能合约模型结构的元素包括智能合约模型间关联关系、智能合约模型公开函数列表、智能合约有生命周期的变量状态变化量中的至少一种。具体地,生成所述模型结构对应的所述图形描述内容包括使用dot语言实现。
46.步骤602:根据所述图形描述内容生成对应图形文件。可选地,生成对应图形文件的格式包括svg格式。
47.步骤603:加载所述图形文件并生成图形窗口展示于所述智能合约代码开发环境的所述图形用户界面。可选地,生成所述模型结构的所述图形窗口展示于所述智能合约代码开发环境的所述图形用户界面时,当前展示的所述智能合约代码与当前所述图形窗口展示的所述图形文件对应。
48.步骤604:实时监视所述智能合约代码变化,以使所述智能合约代码重新生成对应所述图形文件并展示。
49.本发明实施例一种可展示智能合约模型结构的区块链软件开发工具实现方法的另一种实施方案,如图7所示,所述智能合约模型结构可视化组件实现过程,还包括:
50.步骤605:在所述智能合约代码开发环境的所述图形用户界面中点击所述图形格式文件时,跳转至所述智能合约代码开发环境的所述代码编辑中对应代码所在的行位置。
51.实施例三
52.图8是本说明书的一个实施例电子设备的结构示意图。请参考图8,在硬件层面,该电子设备包括处理器,可选地还包括内部总线、网络接口、存储器。其中,存储器可能包含内存,例如高速随机存取存储器(random-access memory,ram),也可能还包括非易失性存储器(non-volatile memory),例如至少1个磁盘存储器等。当然,该电子设备还可能包括其他业务所需要的硬件。
53.处理器、网络接口和存储器可以通过内部总线相互连接,该内部总线可以是isa(industry standard architecture,工业标准体系结构)总线、pci(peripheral component interconnect,外设部件互连标准)总线或eisa(extended industry standard architecture,扩展工业标准结构)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图8中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
54.存储器,用于存放程序。具体地,程序可以包括程序代码,所述程序代码包括计算机操作指令。存储器可以包括内存和非易失性存储器,并向处理器提供指令和数据。
55.处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,在逻辑层面上形成共享资源访问控制装置。处理器,执行存储器所存放的程序,并具体用于执行以下操作:
56.所述软件开发工具包括智能合约代码开发环境和智能合约模型结构可视化组件;所述智能合约代码开发环境用于代码的编辑、编译器、调试和展示图形用户界面;所述智能合约模型结构可视化组件用于展示智能合约模型结构,实现过程包括:
57.分析所述智能合约代码,提取所述智能合约模型结构并生成对应的图形描述内容;
58.根据所述图形描述内容生成对应图形文件;
59.加载所述图形文件并生成图形窗口展示于所述智能合约代码开发环境的所述图形用户界面;
60.实时监视所述智能合约代码变化,以使所述智能合约代码重新生成对应所述图形文件并展示。
61.上述如本说明书图6至图7所示实施例揭示的一种可展示智能合约模型结构的区块链软件开发工具实现方法可以应用于处理器中,或者由处理器实现。处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器,包括中央处理器(central processing unit,cpu)、网络处理器(network processor,np)等;还可以是数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本说明书实施例中公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本说明书实施例所公开的方法的步
骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
62.当然,除了软件实现方式之外,本说明书实施例的电子设备并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。
63.实施例四
64.本说明书实施例还提出了一种计算机可读存储介质,该计算机可读存储介质存储一个或多个程序,该一个或多个程序包括指令,该指令当被包括多个应用程序的便携式电子设备执行时,能够使该便携式电子设备执行图6至图7所示实施例的方法,并具体用于执行以下方法:
65.所述软件开发工具包括智能合约代码开发环境和智能合约模型结构可视化组件;所述智能合约代码开发环境用于代码的编辑、编译器、调试和展示图形用户界面;所述智能合约模型结构可视化组件用于展示智能合约模型结构,实现过程包括:
66.分析所述智能合约代码,提取所述智能合约模型结构并生成对应的图形描述内容;
67.根据所述图形描述内容生成对应图形文件;
68.加载所述图形文件并生成图形窗口展示于所述智能合约代码开发环境的所述图形用户界面;
69.实时监视所述智能合约代码变化,以使所述智能合约代码重新生成对应所述图形文件并展示。
70.总之,以上所述仅为本说明书的较佳实施例而已,并非用于限定本说明书的保护范围。凡在本说明书的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本说明书的保护范围之内。
71.上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
72.计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
73.还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的
包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
74.本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献