CN109710243B - 基于可视化平台的区块链开发方法、装置、服务器及介质 - Google Patents
基于可视化平台的区块链开发方法、装置、服务器及介质 Download PDFInfo
- Publication number
- CN109710243B CN109710243B CN201811643767.0A CN201811643767A CN109710243B CN 109710243 B CN109710243 B CN 109710243B CN 201811643767 A CN201811643767 A CN 201811643767A CN 109710243 B CN109710243 B CN 109710243B
- Authority
- CN
- China
- Prior art keywords
- developer
- menu
- block chain
- target
- blockchain
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Landscapes
- User Interface Of Digital Computer (AREA)
Abstract
本发明实施例公开了一种基于可视化平台的区块链开发方法、装置、服务器及介质。其中,该方法包括:通过可视化交互界面,获取开发者输入或选择的区块链参数;基于所述区块链参数和预存的代码模板,对代码模块进行修改,并保存为可部署区块链的文件。通过本发明实施例提供的技术方案,降低了对开发者编程技能的要求,使得对区块链的创建和管理都更加便捷。
Description
技术领域
本发明实施例涉及区块链技术领域,尤其涉及基于可视化平台的区块链开发方法、装置、服务器及介质。
背景技术
现有技术中已经出现了很多提供区块链服务的平台,这些平台可为开发者提供区块链的底层设备、创建区块链的部署数据,以便开发者在开发平台上进行符合自己业务需求的区块链创建和管理。最重要需要开发者自行设定的是智能合约,智能合约的内容决定了该区块链可提供的业务服务内容。通常开发者平台可提供智能合约的代码模板,供开发者在代码模板中进行修改和编码,最终保存形成智能合约的文件,在区块链中发布即完成区块链的创建。
但是,需要代码形式来创建区块链所需文件,这显然对开发者的编程技能要求较高,无法使区块链服务更加普及,使得开发者的操作难度较高,不便捷。
发明内容
本发明实施例提供了一种基于可视化平台的区块链开发方法、装置、服务器及介质,降低了对开发者编程技能的要求,使得对区块链的创建和管理都更加便捷。
第一方面,本发明实施例提供了一种基于可视化平台的区块链开发方法,该方法包括:
通过可视化交互界面,获取开发者输入或选择的区块链参数;
基于所述区块链参数和预存的代码模板,对代码模板进行修改,并保存为可部署区块链的文件。
第二方面,本发明实施例还提供了一种基于可视化平台的区块链开发装置,该装置包括:
链参数获取模块,用于通过可视化交互界面,获取开发者输入或选择的区块链参数;
修改保存模块,用于基于所述区块链参数和预存的代码模板,对代码模板进行修改,并保存为可部署区块链的文件。
第三方面,本发明实施例还提供了一种服务器,该服务器包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现第一方面中任意所述的基于可视化平台的区块链开发方法。
第四方面,本发明实施例还提供了一种存储介质,其上存储有计算机程序,该程序被处理器执行时实现第一方面中任意所述的基于可视化平台的区块链开发方法。
本发明实施例提供的基于可视化平台的区块链开发方法、装置、服务器及介质,通过可视化交互界面,获取开发者输入或选择的区块链参数;而后依据区块链参数和代码模板,对代码模板进行修改,并将修改后的代码模板保存为可部署区块链的文件。相比于现有的技术方案,本方案,通过将创建区块链所需部署的区块链参数模块化,开发者只需从可视化交互界面中选择所需的区块链参数,可视化平台就会基于区块链参数调用匹配的代码模板并自动进行修改,保存为可部署区块链的文件,降低了对开发者编程技能的要求,且为开发者创建和管理区块链提供了便捷。
附图说明
图1A是本发明实施例一中提供的一种基于可视化平台的区块链开发方法的流程图;
图1B是本发明实施例一中提供的一种注册页面的示意图;
图1C是本发明实施例一中提供的一种可视化交互界面的示意图;
图2A是本发明实施例二中提供的一种基于可视化平台的区块链开发方法的流程图;
图2B是本发明实施例二中提供的一种技术菜单界面的示意图;
图3A是本发明实施例三中提供的一种基于可视化平台的区块链开发方法的流程图;
图3B是本发明实施例三中提供的一种链管理菜单界面的示意图;
图3C是本发明实施例三中提供的一种节点详情界面的示意图;
图3D是本发明实施例三中提供的一种选择节点资源界面的示意图;
图4A是本发明实施例四中提供的一种基于可视化平台的区块链开发方法的流程图;
图4B和4C是本发明实施例四中提供的一种创建区块链单界面的示意图;
图5A是本发明实施例五中提供的一种基于可视化平台的区块链开发方法的流程图;
图5B是本发明实施例五中提供的一种智能合约菜单界面的示意图;
图5C是本发明实施例五中提供的一种新增智能合约界面的示意图
图6是本发明实施例六中提供的一种基于可视化平台的区块链开发装置的结构框图;
图7是本发明实施例七中提供的一种服务器的结构示意图。
具体实施方式
下面结合附图和实施例对本发明实施例作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明实施例,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明实施例相关的部分而非全部结构。
实施例一
图1为本发明实施例一提供的一种基于可视化平台的区块链开发方法的流程图,本实施例可适用于如何通过可视化平台实现区块链开发,进而为开发者创建和管理区块链提供便捷的场景。该方法可以由基于可视化平台的区块链开发装置来执行,该装置可采用硬件和/或软件的方式实现,并可配置于可视化平台中,或者承载可视化平台的服务器、客户端或计算设备中等。参见图1,该具体包括:
S110,通过可视化交互界面,获取开发者输入或选择的区块链参数。
本实施例中,可视化交互界面是开发者与可视化平台进行信息交互的通道,开发者可通过可视化交互界面向可视化平台输入信息并进行操作等,可视化平台则可获取开发者提供的信息,以进行分析、判断等操作。
区块链参数是指运行一个区块链所需部署的参数,可以包括但不限于智能合约、共识机制、激励机制、网络通信规则、区块链节点的要求、区块链技术、部署方式、货币发行机制以及奖罚机制等。
其中,智能合约是指基于插件机制所编写的可供区块链网络中的节点调用并执行的代码段,智能合约的内容决定了该区块链可提供的业务服务内容,开发者可根据实际需求进行设置;共识机制是指参与区块链的节点之间达成共识的手段,可视化平台可提供的共识机制可以包括但不限于工作量证明机制(Proof of Work,POW)、权益证明机制(Proofof Stake,POS)、授权权益证明机制(Delegated proof of stake,DPOS)、贡献量证明机制(Proof of Effort,POE)、实用拜占庭容错机制(Practical Byzantine Fault Tolerance,PBFT)、简化拜占庭容错机制(Simplified Byzantine Fault Tolerance,SBFT)或授权拜占庭容错机制(Delegated Byzantine Fault Tolerance,DBFT)等。网络通信规则可以包括区块链的网络类型以及区块链节点之间进行信息交互的方式如可以广播、单播等。区块链节点的要求是指参与区块链网络的节点设备所需满足的条件,包括但不限于硬件设备、经济实力、及稳定性等。
为了保护基于可视化平台进行区块链开发的开发者,以及已参与开发平台的节点设备的安全等,可选的,在通过可视化交互界面,获取开发者输入或选择的区块链参数之前,还可以对开发者的身份(如区块链账户)进行验证,即判断开发者是否为已成功注册的区块链账户;若检测到开发者是新用户者,则可以向开发者提供邀请码输入界面,开发者在输入正确的邀请码后,可进入注册页面如图1B所示,按照操作流程完成注册即可成功创建区块链账户。若检测到开发者已依据区块链账户名和密码成功登录,则确定该开发者身份验证通过。
具体的,在开发者依据区块链账户名和密码成功登录可视化平台后,则可以通过可视化交互界面输入或选择区块链参数;可视化平台则可以通过可视化交互界面,获取开发者输入或选择的区块链参数,而后依据区块链参数执行后续操作。
示例性的,通过可视化交互界面,获取开发者输入或选择的区块链参数,可以包括:
A、将开发者从可视化交互界面的菜单栏中选择的菜单作为目标菜单;
本实施例中,可视化交互界面的菜单栏中包括技术菜单、链管理菜单、创建区块链菜单、智能合约菜单、总览菜单、订单记录菜单、Fabric介绍以及技术文档菜单等。如图1C所示的可视化交互界面示意图,默认选择总览菜单。可选的,可视化交互界面中还可以包括自定义菜单,用于供开发者根据实际需求设置相应的菜单等。目标菜单是指上述菜单中的一个。
具体的,开发者根据自身的实际需求,以点击或触摸等方式从可视化交互界面的菜单栏中选择某一菜单;可视化平台可以根据开发者在可视化交互界面菜单栏上的点击或触摸等操作,确定开发者所选择的菜单,并将该菜单作为目标菜单。
B、获取开发者通过目标菜单中包括的各参数项,输入或选择的区块链参数。
本实施例中,参数项是指目标菜单中提供的,可供开发者选择或输入的区块链参数的选项。
具体的,开发者在进入目标菜单所对应的界面后,可以在目标菜单中包括的各参数项输入或选择区块链参数;进而可视化平台可以获取开发者通过目标菜单中的各参数项,输入或选择的区块链参数。例如,目标菜单为总览菜单如图1C所示,开发者可以点击充值选项,进入充值页面输入充值金额;可视化平台可以获取开发者从总览菜单中充值选项中输入的充值金额。
可选的,不同菜单中所包括的参数项不同,对应的区块链参数不同,进而可视化平台获取的区块链参数不同,下述实施例将详细介绍。
具体的,在开发者依据区块链账户名和密码成功登录可视化平台后,则可以从可视化交互界面的菜单栏中选择所需菜单,并在进入该菜单对应的界面后,在该菜单中包括的各参数项输入或选择区块链参数;可视化平台则可以将开发者从可视化交互界面的菜单栏中选择的菜单作为目标菜单,并获取开发者通过目标菜单中的各参数项,输入或选择的区块链参数,而后依据区块链参数执行后续操作。
S120,基于区块链参数和预存的代码模板,对代码模板进行修改,并保存为可部署区块链的文件。
本实施例中,代码模块是指预先设置并存储的功能模块;可选的,不同的区块链参数对应不同的代码模板。
具体的,可视化平台在获取区块链参数后,可以依据区块链参数调用与其相匹配的代码模板,例如区块链参数为智能合约,则可以调用预先存储的智能合约模板;并依据区块链参数修改该代码模板,即对代码模块中的参数赋值,生成并保存为可部署区块链的文件。
本发明实施例提供的技术方案,通过可视化交互界面,获取开发者输入或选择的区块链参数;而后依据区块链参数和代码模板,对代码模板进行修改,并将修改后的代码模板保存为可部署区块链的文件。相比于现有的技术方案,本方案,通过将创建区块链所需部署的区块链参数模块化,开发者只需从可视化交互界面中选择所需的区块链参数,可视化平台就会基于区块链参数调用匹配的代码模板并自动进行修改,保存为可部署区块链的文件,降低了对开发者编程技能的要求,且为开发者创建和管理区块链提供了便捷。
实施例二
图2A为本发明实施例二提供的一种基于可视化平台的区块链开发方法的流程图,本实施例在上述实施例的基础上,进一步对通过可视化交互界面,获取开发者输入或选择的区块链参数进行解释说明,提供了一种在目标菜单是技术菜单的情况下,获取区块链参数的方案。参见图2A,该具体包括:
S210,将开发者从可视化交互界面的菜单栏中选择的菜单作为目标菜单。
S220,若目标菜单是技术菜单,则获取开发者通过技术菜单中的各区块链技术候选项,选择使用的目标区块链技术。
本实施例中,区块链技术是区块链参数中的一种,是创建区块链的基础。技术菜单中包括可供开发者选择的区块链技术选项即区块链技术候选项。可选的,区块链技术候选项包括但不限于Xpuer、XuperM以及Fabric选项等。目标区块链技术即为可供选择的区块链技术中的一个。
不同的区块链技术所支持的共识机制、智能合约类型以及网络通信规则等区块链参数可能不同,且所支持的区块链具备的特性不同等。
例如,2B所示可供开发者选择的区块链技术候选项包括Xpuer、XuperM以及Fabric选项。其中,Xpuer可支持TDPOS/POW/RAFT/PBFT/SINGLE等多种共识机制,且可支持Solidity/WebAssembly/Go等多种语言类型的智能合约,以及可支持高并发DAG网络等。
Fabric可支持Solo/Kafka/PBFT等多种共识机制,且可支持Go/Java等多种语言类型的智能合约,且Fabric支持下的区块链具备完善的CA权限控制。
具体的,若开发者在可视化交互界面的菜单栏中点击或触摸了技术菜单,可视化平台则将技术菜单作为目标菜单,并控制页面跳转至技术菜单所对应的界面如图2B所示;开发者根据实际需求,从技术菜单中的各区块链技术候选项中选择目标区块链技术;可视化平台则可以获取开发者通过技术菜单中的各区块链技术候选项,选择使用的目标区块链技术,而后依据目标区块链技术执行后续并保存为可部署区块链的文件即步骤S230。
S230,基于目标区块链技术和预存的代码模板,对代码模板进行修改,并保存为可部署区块链的文件。
本发明实施例提供的技术方案,通过可视化交互界面,获取开发者从可视化交互界面的菜单栏中选择的技术菜单,以及开发者通过技术菜单中的各区块链技术候选项选择使用的目标区块链技术;而后依据目标区块链技术及其对应的代码模板,对代码模板进行修改,并将修改后的代码模板保存为可部署区块链的文件,为开发者快速部署区块链技术提供了一种新思路。
实施例三
图3A为本发明实施例三提供的一种基于可视化平台的区块链开发方法的流程图,本实施例在上述实施例的基础上,进一步对通过可视化交互界面,获取开发者输入或选择的区块链参数进行解释说明,提供了一种在目标菜单是链管理菜单的情况下,获取区块链参数的方案。参见图3A,该具体包括:
S310,将开发者从可视化交互界面的菜单栏中选择的菜单作为目标菜单。
S320,若目标菜单是链管理菜单,则将开发者拥有的区块链产品作为链管理菜单中的产品候选项。
本实施例中,链管理菜单中包括开发者已创建的区块链产品。产品候选项为开发者所拥有的区块链产品中的一个。例如,图3B为某一开发者的链管理菜单所对应的界面示意图,该开发者拥有两个区块链产品,每个区块链产品下均展示了该区块链当前的状态如使用区块链技术、区块高度以及智能合约版本等。该开发者可通过点击或触摸进入链管理菜单所对应的页面,对已拥有的区块链产品进行管理,如购买信任节点、删除现有节点中的某一节点、以及点击节点详情查看已有节点的详细信息如图3C等。
具体的,当可视化平台检测到开发者点击或触摸链管理菜单后,则控制页面跳转至链管理菜单所对应的界面,并将当前开发者所拥有的区块链产品作为链管理菜单中的产品候选项。
S330,获取开发者从产品候选项中选择的目标区块链产品,以及获取开发者选择添加的目标节点。
本实施例中,目标区块链产品即为产品候选项中的一个。开发者可以从已拥有的区块链产品中选择任意一个进行管理,如选择第一个区块链产品进行管理,且管理操作为购买信任节点。当开发者点击购买信任节点选项后,可视化平台将控制页面进入图3D所示的选择节点资源界面;开发者可根据购买不同等级的节点所需费用以及自身账户余额等,决定本次购买节点的等级以及个数。
可视化平台可获取开发者从产品候选项中选择的目标区块链产品,以及开发者选择添加的目标节点。
S340,控制在目标节点中部署目标区块链产品的区块链参数。
具体的,可视化平台在获取开发者选择添加的目标节点之后,可以将目标区块链产品的区块链参数发送给目标节点,以使目标节点部署目标区块链产品的区块链参数,进而参与到目标区块链产品中。
S350,基于区块链参数和预存的代码模板,对代码模板进行修改,并保存为可部署区块链的文件。
本发明实施例提供的技术方案,通过可视化交互界面,开发者可对已拥有的区块链产品进行管理如添加信任节点;可视化平台获取开发者选择的目标区块链产品以及选择添加的目标节点,控制目标节点部署目标区块链产品的区块链参数。本方案,通过可视化平台,使得开发者对区块链产品的管理更加便捷,为开发者进行区块链管理提供了一种新方式。
实施例四
图4A为本发明实施例四提供的一种基于可视化平台的区块链开发方法的流程图,本实施例在上述实施例的基础上,进一步对通过可视化交互界面,获取开发者输入或选择的区块链参数进行解释说明,提供了一种在目标菜单是创建区块链菜单的情况下,获取区块链参数的方案。参见图4A,该具体包括:
S410,将开发者从可视化交互界面的菜单栏中选择的菜单作为目标菜单。
S420,若目标菜单是创建区块链菜单,则获取开发者从创建区块链菜单中网络类型候选项中选择的目标网络类型。
本实施例中,网络类型可以包括但不限于加入超级联盟链、创建联盟链以及创建私有网络等。目标网络类型为开发者从网络类型候选项中选择的网络类型。
具体的,当可视化平台检测到开发者点击或触摸创建区块链菜单后,则控制页面跳转至创建区块链菜单所对应的界面,如图4B所示,创建区块链菜单中包括网络类型候选项、部署方式选项以及节点配置选项等。不同的选项对应不同的内容。对于网络类型候选项,由于不同的网络类型可贡献的资源及获取的服务不同,因此开发者可根据实际需求从可视化交互界面所展示的网络类型候选项中,选择一个网络类型;可视化平台则可以获取开发者从创建区块链菜单中网络类型候选项中选择的网络类型,并将该网络类型作为目标网络类型。
S430,获取开发者从创建区块链菜单中部署方式选项中选择的目标部署方式。
本实施例中,部署方式是指区块链中部署节点的方式,或者说部署何种类型的节点;具体为,本次创建的目标区块链中部署节点的方式,例如可以是信任节点部署,也可以是百度云部署,还可以是组合部署方式等。
继续参见图4B,部署方式包括信任节点部署选项和百度云部署。开发者可以选择上述两种选项中的任意一种,或两种均选(即组合部署);可视化平台则可以获取开发者从创建区块链菜单中部署方式选项中选择的部署方式,并将该部署方式作为目标部署方式。
S440,获取开发者从创建区块链菜单中节点配置选项中选择的目标节点配置类型。
本实施例中,节点配置类型包括初级配置、中级配置以及豪华配置(或高级配置),不同等级的节点硬件配置不同,费用不同。开发者可以发者可根据购买不同等级的节点所需费用以及自身账户余额等,选择节点的等级以及个数。此外,组合部署方式下,不同部署方式下的节点等级可以不同,也可以相同。
继续参见图4B,例如,开发者在部署方式选项中所选择的部署方式为组合部署方式(即包括信任节点部署和百度云部署);且设置信任节点部署方式下的节点等级,与百度云部署方式下的节点等级相同,为初级配置。开发者可分别从信任节点部署方式和百度云部署方式下选择节点,在开发者选择节点后,可视化平台则可以获取开发者从创建区块链菜单中节点配置选项中选择的目标节点配置类型。
此外,可视化平台也会自动统计购买节点所需的费用;若开发者账户余额小于本次购买所需得费用,可视化平台将提示开发者“账户余额不足,请充值后再次提交”或者“账户余额不足,请选择其他节点”信息等。若开发者账户余额大于或等于本次购买所需得费用,可视化平台则可以显示“购买成功”或“支付成功”信息。
S450,获取开发者通过创建区块链菜单中参数输入项中输入的目标区块链参数。
本实施例中,创建区块链菜单中还可以设置参数输入项,参数输入项中包括多种参数输入子项,具体为链名称、链徽标、共识机制、块大小上限、出块间隔、基础个数、旷工激励、选择类目和链简介等。每一参数输入子项对应一种区块链参数。
目标区块链参数可以包括链名称、链徽标、共识机制、块大小上限、出块间隔、基础个数、旷工激励、选择类目和链简介中的至少一种。其中,链名称可以包括英文名称和中文名称;链徽标用于表征目标区块链的特性,即为链logo,可以是个性化照片,且照片的格式可以是JPG或PNG,大小不能超过预设字节数如2M。共识机制包括POW、POS、DPOS、TDPOS、POE、PBFT、SBFT、DBFT以及RAFT等可供选择。基础个数为基础激励元素(如货币)的个数。选择类目可以包括一级类目和二级类目等;例如,一级类目为游戏类,二级类目可以为策略游戏或动作游戏等。矿工激励是指矿工所在节点每当作一次区块生成节点,所获得的激励元素如货币。
参见图4C,开发者可在创建区块链菜单中参数输入项中输入至少一种区块链参数,可视化平台则可以获取开发者通过创建区块链菜单中参数输入项中输入的至少一种目标区块链参数。
S460,基于区块链参数和预存的代码模板,对代码模板进行修改,并保存为可部署区块链的文件。
本实施例中,区块链参数包括目标网络类型、目标部署方式、目标节点配置类型以及目标区块链参数。
需要说明的是,本实施例中,提供的一种优选示例,步骤S450在步骤440之后执行。在目标菜单是创建区块链菜单的情况下,步骤S450还可在步骤S410之后执行,而后执行步骤S460;步骤S410、S450和S460所构成的方案,与步骤S410至S440和S460所构成的方案是两种并列方式,没有优先级之分。
本发明实施例提供的技术方案,通过可视化交互界面,获取开发者从可视化交互界面的菜单栏中选择的创建区块链菜单,以及开发者通过创建区块链菜单中的不同选项和参数输入项,选择和输入的区块链参数;而后依据区块链参数及其对应的代码模板,对代码模板进行修改,并将修改后的代码模板保存为可部署区块链的文件,为开发者快速创建区块链提供了一种新思路。此外,相比于现有的技术方案,本方案,通过将创建区块链所需部署的区块链参数模块化,开发者只需从可视化交互界面中选择所需的区块链参数,可视化平台就会基于区块链参数调用匹配的代码模板并自动进行修改,保存为可部署区块链的文件,降低了对开发者编程技能的要求,且为开发者创建区块链提供了便捷。
实施例五
图5A为本发明实施例五提供的一种基于可视化平台的区块链开发方法的流程图,本实施例在上述实施例的基础上,进一步对通过可视化交互界面,获取开发者输入或选择的区块链参数进行解释说明,提供了一种在目标菜单是智能合约菜单的情况下,获取区块链参数的方案。参见图5A,该具体包括:
S510,将开发者从可视化交互界面的菜单栏中选择的菜单作为目标菜单。
S520,若目标菜单是智能合约菜单,且检测到开发者的新增操作,则获取开发者新增的智能合约参数。
其中,智能合约参数可以包括智能合约的程序代码(或合约代码)、链名称、合约名称、共识策略(或背书策略)、版本号和描述信息中的至少一项。其中,智能合约的程序代码,可选用区块链产品所使用的区块链技术所支持的语言中的任意一种进行编写。
具体的,当可视化平台检测到开发者点击或触摸智能合约菜单后,则控制页面跳转至智能合约菜单所对应的界面,如图5B所示;且在检测到开发者的新增操作时,控制页面跳转至新增智能合约界面如图5C,并获取开发者在新增智能合约页面输入或选择的智能合约参数。
本实施例中,在检测到开发者的提交操作后,还可在智能合约界面中我的智能合约项下添加新增的智能合约。
为了增加开发者部署智能合约的灵活性,如图5B所示,智能合约菜单所对应的界面还可包括编辑控制,开发者可依据实际情况对已部署的智能合约进行修改、删除以及更新版本等操作。
示例性的,获取开发者通过目标菜单中包括的各参数项,输入或选择的区块链参数,还可以包括:将开发者拥有的智能合约作为智能合约菜单中的候选项;将开发者从候选项中选择的智能合约作为目标智能合约;获取开发者通过编辑控件输入的目标智能合约参数。
本实施例中,开发者在需要对已部署的智能合约进行修改时,可通过编辑控件进入该智能合约的编辑页面,并在编辑页面对该智能合约参数中的至少一项进行修改等。其中,编辑页面中的智能合约参数,与新增智能合约页面中智能合约参数种类相同。
可视化平台可以将开发者拥有的智能合约作为智能合约菜单中的候选项,例如,将图5A中所示的六个智能合约作为候选项;而后将开发者从候选项中选择的智能合约作为目标智能合约,并获取开发者通过编辑控件输入的目标智能合约参数。例如,开发者通过智能合约1的编辑控件,将智能合约1的版本号改为,v1.3.1,可视化可以将智能合约1作为目标智能合约,且获取的目标智能合约参数为v1.3.1。
S530,基于智能合约参数和预存的代码模板,对代码模板进行修改,并保存为可部署区块链的文件。
本发明实施例提供的技术方案,通过可视化交互界面,获取开发者从可视化交互界面的菜单栏中选择的智能合约菜单,以及开发者通过新增操作新增的智能合约参数;而后依据智能合约参数及其对应的代码模板,对代码模板进行修改,并将修改后的代码模板保存为可部署区块链的文件,为开发者快速部署智能合约提供了一种新思路。相比于现有的技术方案,本方案,通过将创建区块链所需部署的智能合约模块化,开发者只需从可视化交互界面中选择所需的智能合约参数,可视化平台就会基于智能合约参数调用匹配的代码模板并自动进行修改,保存为可部署区块链的文件,降低了对开发者编程技能的要求,且为开发者创建和部署智能合约提供了便捷。同时,本方案还设置了编辑控件,进而使开发者可灵活的更改已部署的智能合约。
实施例六
图6为本发明实施例六提供的一种基于可视化平台的区块链开发装置的结构框图,该装置可执行本发明任意实施例所提供的基于可视化平台的区块链开发方法,具备执行方法相应的功能模块和有益效果。如图6所示,该装置可以包括:
链参数获取模块610,用于通过可视化交互界面,获取开发者输入或选择的区块链参数;
修改保存模块620,用于基于区块链参数和预存的代码模板,对代码模板进行修改,并保存为可部署区块链的文件。
本发明实施例提供的技术方案,通过可视化交互界面,获取开发者输入或选择的区块链参数;而后依据区块链参数和代码模板,对代码模板进行修改,并将修改后的代码模板保存为可部署区块链的文件。相比于现有的技术方案,本方案,通过将创建区块链所需部署的区块链参数模块化,开发者只需从可视化交互界面中选择所需的区块链参数,可视化平台就会基于区块链参数调用匹配的代码模板并自动进行修改,保存为可部署区块链的文件,降低了对开发者编程技能的要求,且为开发者创建和管理区块链提供了便捷。
示例性的,链参数获取模块610可以包括:
目标菜单确定单元,用于将开发者从可视化交互界面的菜单栏中选择的菜单作为目标菜单;
链参数获取单元,用于获取开发者通过目标菜单中包括的各参数项,输入或选择的区块链参数。
示例性的,链参数获取单元可以用于:
若目标菜单是技术菜单,则获取开发者通过技术菜单中的各区块链技术候选项,选择使用的目标区块链技术。
示例性的,链参数获取单元还可以用于:
若目标菜单是链管理菜单,则将开发者拥有的区块链产品作为链管理菜单中的产品候选项;
获取开发者从产品候选项中选择的目标区块链产品,以及获取开发者选择添加的目标节点;
控制在目标节点中部署目标区块链产品的区块链参数。
示例性的,链参数获取单元还可以用于:
若目标菜单是创建区块链菜单,则获取开发者从创建区块链菜单中网络类型候选项中选择的目标网络类型;
获取开发者从创建区块链菜单中部署方式选项中选择的目标部署方式;以及,
获取开发者从创建区块链菜单中节点配置选项中选择的目标节点配置类型。
示例性的,链参数获取单元还可以用于:
获取开发者通过创建区块链菜单中参数输入项中输入的目标区块链参数;
目标区块链参数包括链名称、链徽标、共识机制、块大小上限、出块间隔、基础个数、旷工激励、选择类目和链简介中的至少一种。
示例性的,链参数获取单元还可以用于:
若目标菜单是智能合约菜单,且检测到开发者的新增操作,则获取开发者新增的智能合约参数;
其中,智能合约参数包括智能合约的程序代码、链名称、合约名称、共识策略、版本号和描述信息中的至少一项。
示例性的,链参数获取单元还可以用于:
将开发者拥有的智能合约作为智能合约菜单中的候选项;
将开发者从候选项中选择的智能合约作为目标智能合约;
获取开发者通过编辑控件输入的目标智能合约参数。
实施例七
图7为本发明实施例七提供的一种服务器的结构示意图,图7示出了适于用来实现本发明实施例实施方式的示例***器的框图。图7显示的服务器仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图7所示,服务器12以通用计算设备的形式表现。服务器12的组件可以包括但不限于:一个或者多个处理器或者处理单元16,***存储器28,连接不同***组件(包括***存储器28和处理单元16)的总线18。
总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,***总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MAC)总线,增强型ISA总线、视频电子标准协会(VESA)局域总线以及***组件互连(PCI)总线。
服务器12典型地包括多种计算机***可读介质。这些介质可以是任何能够被服务器12访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
***存储器28可以包括易失性存储器形式的计算机***可读介质,例如随机存取存储器(RAM)30和/或高速缓存存储器32。服务器12可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机***存储介质。仅作为举例,存储***34可以用于读写不可移动的、非易失性磁介质(图7未显示,通常称为“硬盘驱动器”)。尽管图7中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM,DVD-ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。***存储器28可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明实施例各实施例的功能。
具有一组(至少一个)程序模块42的程序/实用工具40,可以存储在例如***存储器28中,这样的程序模块42包括但不限于操作***、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42通常执行本发明实施例所描述的实施例中的功能和/或方法。
服务器12也可以与一个或多个外部设备14(例如键盘、指向设备、显示器24等)通信,还可与一个或者多个使得用户能与该服务器12交互的设备通信,和/或与使得该服务器12能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口22进行。并且,服务器12还可以通过网络适配器20与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器20通过总线18与服务器12的其它模块通信。应当明白,尽管图中未示出,可以结合服务器12使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID***、磁带驱动器以及数据备份存储***等。
处理单元16通过运行存储在***存储器28中的程序,从而执行各种功能应用以及数据处理,例如实现本发明实施例所提供的基于可视化平台的区块链开发方法。
实施例八
本发明实施例八还提供一种计算机可读存储介质,其上存储有计算机程序(或称为计算机可执行指令),该程序被处理器执行时用于执行基于可视化平台的区块链开发方法,该方法包括:
通过可视化交互界面,获取开发者输入或选择的区块链参数;
基于区块链参数和预存的代码模板,对代码模板进行修改,并保存为可部署区块链的文件。
本发明实施例的计算机存储介质,可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的***、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行***、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行***、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本发明实施例操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如”C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明实施例进行了较为详细的说明,但是本发明实施例不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
Claims (9)
1.基于可视化平台的区块链开发方法,其特征在于,包括:
将开发者从可视化交互界面的菜单栏中选择的菜单作为目标菜单;
获取开发者通过所述目标菜单中包括的各参数项,输入或选择的区块链参数;
基于所述区块链参数和预存的代码模板,对代码模板进行修改,并保存为可部署区块链的文件;其中,所述区块链参数是指运行区块链所需部署的参数;
其中,获取开发者通过所述目标菜单中包括的各参数项,选择的区块链参数,包括:
若所述目标菜单是链管理菜单,则将开发者拥有的区块链产品作为所述链管理菜单中的产品候选项;
获取开发者从所述产品候选项中选择的目标区块链产品,以及获取开发者选择添加的目标节点;
控制在所述目标节点中部署所述目标区块链产品的区块链参数。
2.根据权利要求1所述的方法,其特征在于,获取开发者通过所述目标菜单中包括的各参数项,选择的区块链参数,包括:
若所述目标菜单是技术菜单,则获取开发者通过所述技术菜单中的各区块链技术候选项,选择使用的目标区块链技术。
3.根据权利要求1所述的方法,其特征在于,获取开发者通过所述目标菜单中包括的各参数项,选择的区块链参数,包括:
若所述目标菜单是创建区块链菜单,则获取开发者从所述创建区块链菜单中网络类型候选项中选择的目标网络类型;
获取开发者从所述创建区块链菜单中部署方式选项中选择的目标部署方式;以及,
获取开发者从所述创建区块链菜单中节点配置选项中选择的目标节点配置类型。
4.根据权利要求3所述的方法,其特征在于,获取开发者通过所述目标菜单中包括的各参数项,输入的区块链参数,包括:
获取开发者通过所述创建区块链菜单中参数输入项中输入的目标区块链参数;
所述目标区块链参数包括链名称、链徽标、共识机制、块大小上限、出块间隔、基础个数、旷工激励、选择类目和链简介中的至少一种。
5.根据权利要求1所述的方法,其特征在于,获取开发者通过所述目标菜单中包括的各参数项,输入或选择的区块链参数,包括:
若所述目标菜单是智能合约菜单,且检测到开发者的新增操作,则获取开发者新增的智能合约参数;
其中,所述智能合约参数包括智能合约的程序代码、链名称、合约名称、共识策略、版本号和描述信息中的至少一项。
6.根据权利要求5所述的方法,其特征在于,获取开发者通过所述目标菜单中包括的各参数项,输入或选择的区块链参数,还包括:
将开发者拥有的智能合约作为所述智能合约菜单中的候选项;
将开发者从所述候选项中选择的智能合约作为目标智能合约;
获取开发者通过编辑控件输入的目标智能合约参数。
7.基于可视化平台的区块链开发装置,其特征在于,包括:
链参数获取模块,用于通过可视化交互界面,获取开发者输入或选择的区块链参数;
修改保存模块,用于基于所述区块链参数和预存的代码模板,对代码模板进行修改,并保存为可部署区块链的文件;其中,所述区块链参数是指运行区块链所需部署的参数;
其中,所述链参数获取模块包括:
目标菜单确定单元,用于将开发者从可视化交互界面的菜单栏中选择的菜单作为目标菜单;
链参数获取单元,用于获取开发者通过目标菜单中包括的各参数项,输入或选择的区块链参数;
其中,所述链参数获取单元还用于若目标菜单是链管理菜单,则将开发者拥有的区块链产品作为链管理菜单中的产品候选项;获取开发者从产品候选项中选择的目标区块链产品,以及获取开发者选择添加的目标节点;控制在目标节点中部署目标区块链产品的区块链参数。
8.一种服务器,其特征在于,所述服务器包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-6中任一所述的基于可视化平台的区块链开发方法。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-6中任一所述的基于可视化平台的区块链开发方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811643767.0A CN109710243B (zh) | 2018-12-29 | 2018-12-29 | 基于可视化平台的区块链开发方法、装置、服务器及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811643767.0A CN109710243B (zh) | 2018-12-29 | 2018-12-29 | 基于可视化平台的区块链开发方法、装置、服务器及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109710243A CN109710243A (zh) | 2019-05-03 |
CN109710243B true CN109710243B (zh) | 2022-05-17 |
Family
ID=66260338
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811643767.0A Active CN109710243B (zh) | 2018-12-29 | 2018-12-29 | 基于可视化平台的区块链开发方法、装置、服务器及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109710243B (zh) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109104472B (zh) * | 2018-07-26 | 2021-06-29 | 北京京东尚科信息技术有限公司 | 区块链网络组网方法、装置、设备及计算机可读存储介质 |
CN111915304B (zh) * | 2019-05-08 | 2024-06-07 | 百度在线网络技术(北京)有限公司 | 数字元素的数据处理方法、装置、设备及存储介质 |
CN110308903B (zh) * | 2019-07-04 | 2023-07-25 | 明链科技(深圳)有限公司 | 创建区块链网络的方法、电子设备及介质 |
CN110308962B (zh) * | 2019-07-04 | 2022-08-23 | 明链科技(深圳)有限公司 | 管理区块链网络的方法、电子设备及介质 |
CN112187503A (zh) * | 2019-08-29 | 2021-01-05 | 盈盛智创科技(广州)有限公司 | 一种区块链业务网络的配置方法、装置、设备及存储介质 |
CN110888630B (zh) * | 2019-11-08 | 2023-05-26 | 杭州趣链科技有限公司 | 一种基于区块链的分布式可编程业务研发*** |
CN111459504B (zh) * | 2020-03-30 | 2023-07-04 | 百度国际科技(深圳)有限公司 | 智能合约的处理方法、装置、设备和存储介质 |
CN113114488A (zh) * | 2021-03-29 | 2021-07-13 | 明链科技(深圳)有限公司 | 一种对已有区块链网络实现管理的平台支持方式 |
CN113220793A (zh) * | 2021-06-04 | 2021-08-06 | 杭州复杂美科技有限公司 | 一种区块链快速定制方法、设备及储存介质 |
CN113282663A (zh) * | 2021-06-04 | 2021-08-20 | 杭州复杂美科技有限公司 | 一种区块链快速定制方法、设备及储存介质 |
CN113253995B (zh) * | 2021-06-11 | 2021-11-09 | 北京百度网讯科技有限公司 | 区块链***的开发方法、装置、设备和存储介质 |
CN116502272B (zh) * | 2023-06-21 | 2023-09-08 | 北京探索者软件股份有限公司 | 计算机辅助设计cad元文件的保存方法和装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103135976A (zh) * | 2011-11-30 | 2013-06-05 | 阿里巴巴集团控股有限公司 | 代码自动生成方法及装置 |
CN106354492A (zh) * | 2016-08-23 | 2017-01-25 | 深圳Tcl智能家庭科技有限公司 | 一种快速调整交易流程对接的自动化代码生成方法及*** |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10438170B2 (en) * | 2017-01-05 | 2019-10-08 | International Business Machines Corporation | Blockchain for program code credit and programmer contribution in a collective |
-
2018
- 2018-12-29 CN CN201811643767.0A patent/CN109710243B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103135976A (zh) * | 2011-11-30 | 2013-06-05 | 阿里巴巴集团控股有限公司 | 代码自动生成方法及装置 |
CN106354492A (zh) * | 2016-08-23 | 2017-01-25 | 深圳Tcl智能家庭科技有限公司 | 一种快速调整交易流程对接的自动化代码生成方法及*** |
Non-Patent Citations (1)
Title |
---|
基于区块链的应用***开发方法研究;蔡维德;《软件学报》;20171231;第1474-1487页 * |
Also Published As
Publication number | Publication date |
---|---|
CN109710243A (zh) | 2019-05-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109710243B (zh) | 基于可视化平台的区块链开发方法、装置、服务器及介质 | |
US10481875B2 (en) | Generation of an application from template | |
CN108292231B (zh) | 从数据生成应用的方法和*** | |
CN107193545B (zh) | 一种面向构件的多语言协同开发装置、方法与*** | |
US9390375B2 (en) | Reuse of on-demand enterprise system customization knowledge utilizing collective experience | |
CN102054021B (zh) | 使用简档的web门户应用定制方法和*** | |
CN108970117B (zh) | 游戏资源包的发布方法、终端设备及介质 | |
CA2937017C (en) | Integrated design application | |
TWI805882B (zh) | 事件管理系統 | |
US20170083292A1 (en) | Visual content development | |
CN102982083B (zh) | 跨分层级别的规则继承 | |
US9201702B2 (en) | Integrated cloud data center management | |
CN102567839A (zh) | 混合式的任务板和基于关键路径方法的项目应用 | |
US11741411B2 (en) | System and method for software development including column-based process editor | |
US20150082271A1 (en) | System and method for providing an editor for use with a business process design environment | |
US20230153136A1 (en) | Robotic process automation system with device user impersonation | |
CN107040579B (zh) | 在内容服务中提供个性化通知的方法及*** | |
CN114594934A (zh) | 一种可视化页面生成方法、装置、设备及介质 | |
CN102541544B (zh) | 树形控件的处理方法、装置及*** | |
KR102437560B1 (ko) | 건축 장식재 디자인 업무 시스템 및 방법 | |
KR20210069215A (ko) | 빅데이터 분석을 최적화하는 사용자 인터페이스 방법 | |
Rochkind | Expert PHP and MySQL: application design and development | |
US7472355B2 (en) | Computer-implemented method for managing commands for a terminal session | |
CN116521509A (zh) | 智能合约测试方法、装置、设备、存储介质及产品 | |
KR20220059586A (ko) | 게시 컨텐츠 저작 가이드 및 평가 방법, 장치 및 컴퓨터-판독가능 기록매체 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |