掌桥专利:专业的专利平台
掌桥专利
首页

区块链的部署方法、装置、设备及存储介质

文献发布时间:2023-06-19 16:08:01



技术领域

本发明涉及区区块链领域,尤其涉及一种区块链的部署方法、装置、设备及存储介质。

背景技术

现有的区块链智能合约应用开发通常需要由专业的智能合约开发人员进行开发,普通用户,尤其是没有编程能力的用户无法开发出想要的智能合约应用。

现有的智能合约应用开发方式主要有两种,一种是直接编辑合约源代码,需要开发人员具备较高的编程水平,并对区块链原理有一定的了解,使用Java、Golang、NodeJS、Solidity等开发语言编写智能合约源代码,并使用专业的软件或者程序对源代码进行编译,部署在区块链网络上。该方法开发周期长,对开发人员的专业要求高,智能合约逻辑需要通过阅读代码进行梳理。

另一种方法是基于基础智能合约和智能合约模板进行智能合约应用开发。由专业的智能合约开发人员或者团队提供若干份具备基础逻辑的标准智能合约,由智能合约开发者使用可视化或者编写代码的方式将所需的基础逻辑智能合约串联起来,以满足应用需求。该方法依赖于基础智能合约,应用的可扩展性较弱,在需要进行功能扩展时,需要用户具备智能合约编程能力,并且在部署应用时需要部署依赖的基础智能合约。综上所述,即现有区块链的部署方法存在难度较大的问题。

发明内容

本发明的主要目的在于解决现有区块链的部署方法存在难度较大的技术问题。

本发明第一方面提供了一种区块链的部署方法,包括:获取可视化交互界面输入的待部署区块链对应业务功能的部署信息,并提取所述部署信息中的业务逻辑信息、方法体、多个基本操作原子和各所述基本操作原子所需的数据参数;按照所述业务逻辑信息,将各所述基本操作原子插入所述方法体中,并将各所述数据参数录入所述方法体中对应的基本操作原子,得到智能合约;根据所述智能合约,生成所述待部署区块链对应的合约代码,并基于所述合约代码,采用预置集成开发工具,对所述待部署区块链进行部署。

可选的,在本发明第一方面的第一种实现方式中,所述获取可视化交互界面输入的待部署区块链对应业务功能的部署信息包括:响应于可视化交互界面输入的方法名字段、输入字段和输出字段,生成区块链对应业务功能的部署信息中的方法体;响应于可视化交互界面输入的逻辑语句和运算语句,生成区块链对应业务功能的部署信息中的业务逻辑信息、多个基本操作原子和各所述基本操作原子所需的数据参数。

可选的,在本发明第一方面的第二种实现方式中,所述基于所述合约代码,采用预置集成开发工具,对所述待部署区块链进行部署包括:基于所述合约代码中的输入字段和所述输出字段对应代码,利用预置集成开发工具,确定区块链各业务功能对应的方法体之间的调用逻辑关系;根据所述调用逻辑关系,通过所述集成开发工具将各业务功能对应的合约代码部署至所述待部署区块链中对应的位置。

可选的,在本发明第一方面的第三种实现方式中,所述根据所述智能合约,生成所述待部署区块链对应的合约代码包括:响应于可视化交互界面输入的代码生成指令,对所述智能合约进行语句排序;对语句排序后的智能合约进行顺序编译,得到所述区块链对应的合约代码。

可选的,在本发明第一方面的第四种实现方式中,在所述获取可视化交互界面输入的待部署区块链对应业务功能的部署信息之前,还包括:获取待注册基本操作原子的注册信息,并将所述注册信息封装成可视化组件;生成所述可视化组件对应的URI访问地址,并对所述URI访问地址进行可视化的URI资源动态注册;将包含有URI访问地址的可视化组件在组件管理容器进行注册并激活,得到对应的基本操作原子。

可选的,在本发明第一方面的第五种实现方式中,在所述获取可视化交互界面输入的待部署区块链对应业务功能的部署信息之前,还包括:响应于所述可视化交互界面的可视化组件的拖拽指令,当检测到可视化组件被拖拽到所述可视化交互界面的预设区域时,在预设区域展示拖拽的可视化组件;提取可视化组件的配置信息和位置信息并存储至预置数据库,设置与所述配置信息和位置信息对应的页面配置参数;将所述页面配置参数添加至对应可视化组件的基本操作原子对应的URI访问地址中。

可选的,在本发明第一方面的第六种实现方式中,所述将各所述数据参数录入所述方法体中对应的基本操作原子,得到智能合约包括:确定在可视化交互界面中针对所述方法体的基本操作原子对应的URI访问地址输入的数据参数,并将各所述数据参数录入对应的基本操作原子中,得到智能合约。

本发明第二方面提供了一种区块链的部署装置,包括:提取模块,用于获取可视化交互界面输入的待部署区块链对应业务功能的部署信息,并提取所述部署信息中的业务逻辑信息、方法体、多个基本操作原子和各所述基本操作原子所需的数据参数;插入模块,用于按照所述业务逻辑信息,将各所述基本操作原子插入所述方法体中,并将各所述数据参数录入所述方法体中对应的基本操作原子,得到智能合约;部署模块,用于根据所述智能合约,生成所述待部署区块链对应的合约代码,并基于所述合约代码,采用预置集成开发工具,对所述待部署区块链进行部署。

可选的,在本发明第二方面的第一种实现方式中,所述提取模块包括:方法体生成单元,用于响应于可视化交互界面输入的方法名字段、输入字段和输出字段,生成区块链对应业务功能的部署信息中的方法体;原子生成单元,用于响应于可视化交互界面输入的逻辑语句和运算语句,生成区块链对应业务功能的部署信息中的业务逻辑信息、多个基本操作原子和各所述基本操作原子所需的数据参数。

可选的,在本发明第二方面的第二种实现方式中,所述部署模块包括:确定单元,用于基于所述合约代码中的输入字段和所述输出字段对应代码,利用预置集成开发工具,确定区块链各业务功能对应的方法体之间的调用逻辑关系;部署单元,用于根据所述调用逻辑关系,通过所述集成开发工具将各业务功能对应的合约代码部署至所述待部署区块链中对应的位置。

可选的,在本发明第二方面的第三种实现方式中,所述部署模块还包括:排序单元,用于响应于可视化交互界面输入的代码生成指令,对所述智能合约进行语句排序;编译单元,用于对语句排序后的智能合约进行顺序编译,得到所述区块链对应的合约代码。

可选的,在本发明第二方面的第四种实现方式中,所述区块链的部署装置还包括注册模块,用于:获取待注册基本操作原子的注册信息,并将所述注册信息封装成可视化组件;生成所述可视化组件对应的URI访问地址,并对所述URI访问地址进行可视化的URI资源动态注册;将包含有URI访问地址的可视化组件在组件管理容器进行注册并激活,得到对应的基本操作原子。

可选的,在本发明第二方面的第五种实现方式中,所述区块链的部署装置还包括可视化处理模块,用于:响应于所述可视化交互界面的可视化组件的拖拽指令,当检测到可视化组件被拖拽到所述可视化交互界面的预设区域时,在预设区域展示拖拽的可视化组件;提取可视化组件的配置信息和位置信息并存储至预置数据库,设置与所述配置信息和位置信息对应的页面配置参数;将所述页面配置参数添加至对应可视化组件的基本操作原子对应的URI访问地址中。

可选的,在本发明第二方面的第六种实现方式中,所述插入模块还用于:确定在可视化交互界面中针对所述方法体的基本操作原子对应的URI访问地址输入的数据参数,并将各所述数据参数录入对应的基本操作原子中,得到智能合约。

本发明第三方面提供了一种区块链的部署设备,包括:存储器和至少一个处理器,所述存储器中存储有指令;所述至少一个处理器调用所述存储器中的所述指令,以使得所述区块链的部署设备执行上述的区块链的部署方法。

本发明的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述的区块链的部署方法。

本发明提供的技术方案中,通过可视化的方式将智能合约应用开发的难度降低,用户只需要掌握简单的编程理念,在梳理好业务逻辑后,即可通过动态添加方法体、业务逻辑信息、基本操作原子和对应的数据参数的方式构造智能合约逻辑;同时不需要再对合约开发者进行区块链专业技术知识的培训,降低了区块链智能合约应用开发的准入门槛,极大地提高了区块链落地使用率;再者将最小控件拆分到读、写、条件判断等基本操作原子的级别,用户可以在一份智能合约里面编写完整的智能合约,提高了智能合约的可扩展性,同时不需要依赖于其他的基础智能合约,减少了智能合约应用所需的合约数量,降低了智能合约部署成本。

附图说明

图1为本发明实施例中区块链的部署方法的第一个实施例示意图;

图2为本发明实施例中区块链的部署方法的第二个实施例示意图;

图3为本发明实施例中区块链的部署装置的一个实施例示意图;

图4为本发明实施例中区块链的部署装置的另一个实施例示意图;

图5为本发明实施例中区块链的部署设备的一个实施例示意图。

具体实施方式

本发明实施例提供了一种区块链的部署方法、装置、设备及存储介质,获取可视化交互界面输入的待部署区块链对应业务功能的部署信息,并提取部署信息中的业务逻辑信息、方法体、多个基本操作原子和各基本操作原子所需的数据参数;按照业务逻辑信息,将各基本操作原子插入方法体中,并将各数据参数录入方法体中对应的基本操作原子,得到智能合约;根据智能合约,生成待部署区块链对应的合约代码,并基于合约代码,采用预置集成开发工具,对待部署区块链进行部署。本发明降低了区块链部署的难度以及开发人员的准入门槛。

本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”或“具有”及其任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

为便于理解,下面对本发明实施例的具体流程进行描述,请参阅图1,本发明实施例中区块链的部署方法的第一个实施例包括:

101、获取可视化交互界面输入的待部署区块链对应业务功能的部署信息,并提取所述部署信息中的业务逻辑信息、方法体、多个基本操作原子和各所述基本操作原子所需的数据参数;

可以理解的是,本发明的执行主体可以为区块链的部署装置,还可以是终端或者服务器,具体此处不做限定。本发明实施例以服务器为执行主体为例进行说明。

本实施例中,方法体指的是实现区块链部署的业务功能的规范代码模块化表示方式;基本操作原子指的是实现业务功能的逻辑和运算语句的规范代码模块化表示方式;数据参数则是用户在基本操作原子中写入的具体内容;业务逻辑信息指的是多个方法体之间的关联关系和各基本操作原子之间的关联关系。

具体的,比如“写代码”的业务功能,规范代码为“function writeCode{}”,方法体以“writeCode”表示;比如“读数据”的基本操作原子,规范化代码为“A=select B”,基本操作原子以“读数据A=B”;比如前述“读数据”的基本操作原子中,“A”可以写入“param1”,“B”可以写入“name,age,code”;比如多个方法体之间的前后调用关系和各基本操作原子之间的前后调用关系,为业务逻辑信息。

本实施例中,开发人员通过从目标的一个或多个区块链智能合约应用中,总结了如参数定义、写数据、读数据、条件判断、循环体等规范化的逻辑和运算语句,并抽象处理为每个语句对应的基本操作原子,比如用于执行如参数定义、写数据、读数据、条件判断或循环体的各个基本操作原子,可以直接以对应的语句名称表示。结合代码自动生成器、合约IDE等开发工具,从基本操作原子的细粒度,只需选择所需的基本操作原子并在展示的输入框输入对应的数据参数即可实现区块链的可视化部署。

具体的,针对每个待部署区块链,用户根据需要实现的业务功能,梳理需要编写的智能合约的业务逻辑,然后在可视化交互界面顺序输入所需业务逻辑信息、方法体、基本操作原子和所需的数据参数,来生成部署信息传入本服务器。其中,方法体包括执行写代码业务功能的writeCode,执行读代码业务功能的readCode,基本操作原子可以包括参数定义、写数据、读数据、条件判断和循环体等。

102、按照所述业务逻辑信息,将各所述基本操作原子插入所述方法体中,并将各所述数据参数录入所述方法体中对应的基本操作原子,得到智能合约;

本实施例中,在待部署区块链新的智能合约中,业务逻辑信息定义了各个基本操作原子在方法体的哪个位置,即用户在可视化交互界面选择的方法体中输入基本操作原子后,自动生成业务逻辑信息,根据业务逻辑信息,即可将基本操作原子插入方法体对应的位置。此处基本操作原子定义的是逻辑和运算语句,根据用户在可视化交互界面每个基本操作原子对应输入框输入的数据参数,此处后台将数据参数自动填入对应基本操作原子的逻辑和运算语句中,即可得到完整的智能合约。

具体的,比如针对“writeCode”写代码方法体中,包括“定义参数”、“运算”、“读数据”、“数据筛选条件”、“写数据”等基本操作原子,则按照业务逻辑信息,包括各基本操作原子之间的前后调用关系,分别将各个基本操作原子插入方法体中,比如此处前后调用关系为前后顺序:定义参数→运算→读数据→数据筛选条件→写数据;

具体的,如“定义参数”的数据参数为“param1,param2”,“运算”的数据参数为“param1=((args1+args2)*args3-1024)/36”、“读数据”的数据参数为“param2=name,age,code”、“数据筛选条件”的数据参数为“(15>age>12)&&(code>90)”、“写数据”的数据参数为“name=args1;age=args2,code=param1”,则将每个数据参数录入方法体中每个基本操作原子对应的位置中,形成完整的智能合约。

103、根据所述智能合约,生成所述待部署区块链对应的合约代码,并基于所述合约代码,采用预置集成开发工具,对所述待部署区块链进行部署。

本实施例中,智能合约中仍然是以基本操作原子的形式存在,若用于区块链的部署,还需要将包含多个基本操作原子的智能合约转换为常规的代码形式合约,即为合约代码。开发阶段,通过对运算和逻辑语句的代码进行抽象,得到基本操作原子,以名称显示在可视化交互界面中以供选择,则此处可以将智能合约中的方法体、基本操作原子等再还原为对应的运算和逻辑语句的代码即可。

具体的,比如针对方法体为“writeCode”,对应的合约代码为“functionwriteCode(){}”;输入参数“args1,args2,args3”直接写入方法体对应合约代码的()中;输出参数“param1”,对应的合约代码为:“return param1”,并写入写入方法体对应合约代码的{}中。

本实施例中,在得到合约代码后,采用如IDEA、Visual Studio Code、SwitchHosts、FinalShell、Navicat Premium等集成开发工具来对待部署区块链进行部署。其中,一个区块链可以包括多个业务功能,针对每个业务功能,可以添加一个对应的方法体来生成对应的合约代码,然后根据每个业务功能之间的关系,来对对应的合约代码进行拼接,来部署得到包含有对应多个业务功能的区块链。

本发明实施例中,通过可视化的方式将智能合约应用开发的难度降低,用户只需要掌握简单的编程理念,在梳理好业务逻辑后,即可通过动态添加方法体、业务逻辑信息、基本操作原子和对应的数据参数的方式构造智能合约逻辑;同时不需要再对合约开发者进行区块链专业技术知识的培训,降低了区块链智能合约应用开发的准入门槛,极大地提高了区块链落地使用率。

请参阅图2,本发明实施例中区块链的部署方法的第二个实施例包括:

201、获取待注册基本操作原子的注册信息,并将所述注册信息封装成可视化组件;

202、生成所述可视化组件对应的URI访问地址,并对所述URI访问地址进行可视化的URI资源动态注册;

203、将包含有URI访问地址的可视化组件在组件管理容器进行注册并激活,得到对应的基本操作原子;

本实施例中,针对不同逻辑和运算语句,抽象提取如参数定义、写数据、读数据、条件判断、循环体等对应的编程语句,然后针对每个基本操作原子,采用对应的逻辑和运算语句,发起注册信息,在本服务器中进行注册。

具体的,当封装得到可视化组件之后,自动生成每个可视化组件对应的URI访问地址。还可以进一步应用Java工厂类对可视化组件的URI访问地址进行可视化的URI资源动态注册。通过组件资源的动态注册,可以将可视化组件对应的程序实例类注册到运行可视化平台比如容器平台的上下文中。并将各个可视化组件以热部署方式注册至组件管理容器并激活相关可视化组件。热部署方式可以让注册和激活过程均不需要停机,提高效率。

在对可视化组件注册和激活,得到基本操作原子之后,当进行区块链的可视化部署时,则需要再对更新基本操作原子力的URI访问地址,以供后面对待注册的区块链进行唯一访问和区分。具体执行流程如下所示:

1)响应于所述可视化交互界面的可视化组件的拖拽指令,当检测到可视化组件被拖拽到所述可视化交互界面的预设区域时,在预设区域展示拖拽的可视化组件;

2)提取可视化组件的配置信息和位置信息并存储至预置数据库,设置与所述配置信息和位置信息对应的页面配置参数;

3)将所述页面配置参数添加至对应可视化组件的基本操作原子对应的URI访问地址中。

本实施例中,对于注册的激活后得到的基本操作原子,在进行区块链的可视化部署时,根据用户选择会被嵌套至可视化交互界面的IFrame框架中。在可视化交互界面中,基本操作原子所对应的可视化组件会随着响应的拖拽命令进行移动,当其放置在用于部署的预设区域时,则确定改基本操作原子为当前用于部署区块链的基本操作原子,再针对拖拽到该预设区域的多个基本操作原子进行前端可视化的组装,待用户输入对应的数据参数。其中,拖拽、组装可以采用Vue/LayUI等技术实现。然后再针对此处部署的区块链,加入唯一的页面配置参数,以识别本次得到的唯一基本操作原子。

204、响应于可视化交互界面输入的方法名字段、输入字段和输出字段,生成区块链对应业务功能的部署信息中的方法体;

205、响应于可视化交互界面输入的逻辑语句和运算语句,生成区块链对应业务功能的部署信息中的业务逻辑信息、多个基本操作原子和各所述基本操作原子所需的数据参数;

本实施例中,用户在可视化交互界面中点击如【方法体】按钮后,即可新增一个方法体,该方法体需要用户填写“方法名称字段、输入字段、输出字段”三类字段。比如方法名字段为“writeCode”,输入字段为“args1,args2,args3”,输出字段为“param1”。

本实施例中,添加方法体成功后,用户可以根据业务流程的设计,在方法体中添加相应的参数、运算、条件判断、循环体、读数据、写数据等逻辑和运算语句,并在各语句中填写相应的数据参数,比如在“writeCode”方法体中添加:

定义参数的基本操作原子及对应的数据参数,“参数:param1,param2”;

添加运算的基本操作原子及对应的数据参数,“运算:param1=((args1+args2)*args3-1024)/36”;

添加条件判断的基本操作原子及对应的数据参数,“数据筛选条件:(15>age>12)&&(code>90)”;

添加写数据的基本操作原子及对应的数据参数,“写数据:name=args1,age=args2,code=param1”。

206、提取所述部署信息中的业务逻辑信息、方法体、多个基本操作原子和各所述基本操作原子所需的数据参数;

207、按照所述业务逻辑信息,将各所述基本操作原子插入所述方法体中,并将各所述数据参数录入所述方法体中对应的基本操作原子,得到智能合约;

本实施例中,在将数据参数录入基本操作原子时,由于在可视化交互界面显示的基本操作原子对应的位置输入,以此可以将每个针对本次区块链部署调整的URI访问地址,与输入的数据参数进行关联,根据该关联关系,在后台将数据参数输入至对应的基本操作原子中,即确定在可视化交互界面中针对所述方法体的基本操作原子对应的URI访问地址输入的数据参数,并将各所述数据参数录入对应的基本操作原子中,得到智能合约。

208、响应于可视化交互界面输入的代码生成指令,对所述智能合约进行语句排序;

209、对语句排序后的智能合约进行顺序编译,得到所述区块链对应的合约代码;

本实施例中,用户编写完智能合约后,可以点击可视化交互界面上如【生成合约代码】按钮,向本系统发起代码生成指令。依据生成的智能合约,重新对语句进行排序,然后对各语句对应的代码进行编译,以生成合约代码。前述的智能合约中“writeCode”的内容可以采用如下所示的合约代码表示:

方法体和输入字段:Function writeCode(args1,args2,args3){};

定义参数:Let param1,param2;

运算:param1=((args1+args2)*args3-1024)/36;

读数据和数据筛选条件:Param2=select name,age,code from ledger whereage<15&&age>12&&code>90;

写数据:Write Toledger({name:args1,age:args2,code:param1});

输出字段:Return param1;

210、基于所述合约代码中的输入字段和所述输出字段对应代码,利用预置集成开发工具,确定区块链各业务功能对应的方法体之间的调用逻辑关系;

211、根据所述调用逻辑关系,通过所述集成开发工具将各业务功能对应的合约代码部署至所述待部署区块链中对应的位置。

本实施例中,可以根据业务逻辑,针对每个业务功能对应的方法体中的输入和输出之间的调用关系,来进行关联,形成调用逻辑关系,比如一个业务功能的方法体输出字段对应的代码为“Return param1”,另一个业务功能的方法体输入字段对应的代码为“unsigned char cc;cc=scan(param1)”,其中,可以通过寄存器来寄存param1,以供另一个方法体调用。

本发明实施例中,将最小控件拆分到读、写、条件判断等基本操作原子的级别,用户可以在一份智能合约里面编写完整的智能合约,提高了智能合约的可扩展性,同时,不需要依赖于其他的基础智能合约,减少了智能合约应用所需的合约数量,降低了智能合约部署成本。

上面对本发明实施例中区块链的部署方法进行了描述,下面对本发明实施例中区块链的部署装置进行描述,请参阅图3,本发明实施例中区块链的部署装置一个实施例包括:

提取模块301,用于获取可视化交互界面输入的待部署区块链对应业务功能的部署信息,并提取所述部署信息中的业务逻辑信息、方法体、多个基本操作原子和各所述基本操作原子所需的数据参数;

插入模块302,用于按照所述业务逻辑信息,将各所述基本操作原子插入所述方法体中,并将各所述数据参数录入所述方法体中对应的基本操作原子,得到智能合约;

部署模块303,用于根据所述智能合约,生成所述待部署区块链对应的合约代码,并基于所述合约代码,采用预置集成开发工具,对所述待部署区块链进行部署。

本发明实施例中,通过可视化的方式将智能合约应用开发的难度降低,用户只需要掌握简单的编程理念,在梳理好业务逻辑后,即可通过动态添加方法体、业务逻辑信息、基本操作原子和对应的数据参数的方式构造智能合约逻辑;同时不需要再对合约开发者进行区块链专业技术知识的培训,降低了区块链智能合约应用开发的准入门槛,极大地提高了区块链落地使用率。

请参阅图4,本发明实施例中区块链的部署装置的另一个实施例包括:

提取模块301,用于获取可视化交互界面输入的待部署区块链对应业务功能的部署信息,并提取所述部署信息中的业务逻辑信息、方法体、多个基本操作原子和各所述基本操作原子所需的数据参数;

插入模块302,用于按照所述业务逻辑信息,将各所述基本操作原子插入所述方法体中,并将各所述数据参数录入所述方法体中对应的基本操作原子,得到智能合约;

部署模块303,用于根据所述智能合约,生成所述待部署区块链对应的合约代码,并基于所述合约代码,采用预置集成开发工具,对所述待部署区块链进行部署。

具体的,所述提取模块301包括:

方法体生成单元3011,用于响应于可视化交互界面输入的方法名字段、输入字段和输出字段,生成区块链对应业务功能的部署信息中的方法体;

原子生成单元3012,用于响应于可视化交互界面输入的逻辑语句和运算语句,生成区块链对应业务功能的部署信息中的业务逻辑信息、多个基本操作原子和各所述基本操作原子所需的数据参数。

具体的,所述部署模块303包括:

确定单元3031,用于基于所述合约代码中的输入字段和所述输出字段对应代码,利用预置集成开发工具,确定区块链各业务功能对应的方法体之间的调用逻辑关系;

部署单元3032,用于根据所述调用逻辑关系,通过所述集成开发工具将各业务功能对应的合约代码部署至所述待部署区块链中对应的位置。

具体的,所述部署模块303还包括:

排序单元3033,用于响应于可视化交互界面输入的代码生成指令,对所述智能合约进行语句排序;

编译单元3034,用于对语句排序后的智能合约进行顺序编译,得到所述区块链对应的合约代码。

具体的,所述区块链的部署装置还包括注册模块304,用于:

获取待注册基本操作原子的注册信息,并将所述注册信息封装成可视化组件;

生成所述可视化组件对应的URI访问地址,并对所述URI访问地址进行可视化的URI资源动态注册;

将包含有URI访问地址的可视化组件在组件管理容器进行注册并激活,得到对应的基本操作原子。

具体的,所述区块链的部署装置还包括可视化处理模块305,用于:

响应于所述可视化交互界面的可视化组件的拖拽指令,当检测到可视化组件被拖拽到所述可视化交互界面的预设区域时,在预设区域展示拖拽的可视化组件;

提取可视化组件的配置信息和位置信息并存储至预置数据库,设置与所述配置信息和位置信息对应的页面配置参数;

将所述页面配置参数添加至对应可视化组件的基本操作原子对应的URI访问地址中。

具体的,所述插入模块302还用于:

确定在可视化交互界面中针对所述方法体的基本操作原子对应的URI访问地址输入的数据参数,并将各所述数据参数录入对应的基本操作原子中,得到智能合约。

本发明实施例中,通过可视化的方式将智能合约应用开发的难度降低,用户只需要掌握简单的编程理念,在梳理好业务逻辑后,即可通过动态添加方法体、业务逻辑信息、基本操作原子和对应的数据参数的方式构造智能合约逻辑;同时不需要再对合约开发者进行区块链专业技术知识的培训,降低了区块链智能合约应用开发的准入门槛,极大地提高了区块链落地使用率;再者将最小控件拆分到读、写、条件判断等基本操作原子的级别,用户可以在一份智能合约里面编写完整的智能合约,提高了智能合约的可扩展性,同时,不需要依赖于其他的基础智能合约,减少了智能合约应用所需的合约数量,降低了智能合约部署成本。

上面图3和图4从模块化功能实体的角度对本发明实施例中的区块链的部署装置进行详细描述,下面从硬件处理的角度对本发明实施例中区块链的部署设备进行详细描述。

图5是本发明实施例提供的一种区块链的部署设备的结构示意图,该区块链的部署设备500可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(central processing units,CPU)510(例如,一个或一个以上处理器)和存储器520,一个或一个以上存储应用程序533或数据532的存储介质530(例如一个或一个以上海量存储设备)。其中,存储器520和存储介质530可以是短暂存储或持久存储。存储在存储介质530的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对区块链的部署设备500中的一系列指令操作。更进一步地,处理器510可以设置为与存储介质530通信,在区块链的部署设备500上执行存储介质530中的一系列指令操作。

区块链的部署设备500还可以包括一个或一个以上电源540,一个或一个以上有线或无线网络接口550,一个或一个以上输入输出接口560,和/或,一个或一个以上操作系统531,例如Windows Serve,Mac OS X,Unix,Linux,FreeBSD等等。本领域技术人员可以理解,图5示出的区块链的部署设备结构并不构成对区块链的部署设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。

本发明还提供一种区块链的部署设备,所述计算机设备包括存储器和处理器,存储器中存储有计算机可读指令,计算机可读指令被处理器执行时,使得处理器执行上述各实施例中的所述区块链的部署方法的步骤。

本发明还提供一种计算机可读存储介质,该计算机可读存储介质可以为非易失性计算机可读存储介质,该计算机可读存储介质也可以为易失性计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在计算机上运行时,使得计算机执行所述区块链的部署方法的步骤。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

相关技术
  • 自动化部署区块链节点的方法、装置、计算机设备和存储介质
  • 区块链中部署合约的方法、装置、计算机设备及存储介质
技术分类

06120114715832