一种区块链智能合约在线集成开发环境系统及实现方法技术方案

技术编号:26478194 阅读:14 留言:0更新日期:2020-11-25 19:22
本申请公开了一种区块链智能合约在线集成开发环境系统及实现方法。所述系统包括:Web客户端,通过Web客户端中代码编辑器编辑智能合约;将编辑完成的所述智能合约发送到服务器端,使用所述编译器进行编译,并将编译后的结果发送至Web客户端。所述方法包括:用户通过Web客户端的浏览器打开在线集成开发环境;通过代码编辑器新建工程项目;新建智能合约代码文件;将编写完成的智能合约,发送至服务器端进行编译;调用服务器端相应的服务器编译器;将智能合约代码编译成虚拟机能够执行的代码。本申请所实现的系统无需进行本地安装,直接在浏览器页面打开即可进行开发工作,降低了智能合约的开发成本。

【技术实现步骤摘要】
一种区块链智能合约在线集成开发环境系统及实现方法
本申请涉及计算机
,具体而言,涉及一种区块链智能合约在线集成开发环境系统及实现方法。
技术介绍
目前,智能合约是执行合约条款的计算机交易协议,其提供了分布式可信计算的能力。随着区块链技术的不断发展和成熟,区块链上的智能合约也会有越来越广阔的应用场景;这对智能合约的开发及其代码的安全性也提出了更高的要求。现有技术中一直采用本地的集成开发环境(IDEIntegratedDevelopmentEnvironment)),若同时针对不同的项目,本地IDE可能需要配置不同的开发环境,在多项目切换时容易丢失信息,甚至丢失某些配置信息,对智能合约代码的安全性存在很大威胁。而且需要下载集成开发环境,占用本地资源,提高了成本。针对相关技术中智能合约代码的安全性以及高成本的问题,目前尚未提出有效的解决方案。
技术实现思路
本申请的主要目的在于提供一种区块链智能合约在线集成开发环境系统及实现方法,以解决相关技术中智能合约代码的安全性以及高成本的问题。为了实现上述目的,第一方面,本申请提供了一种区块链智能合约在线集成开发环境IDE(IntegratedDevelopmentEnvironment)系统及实现方法,包括:Web客户端;所述Web客户端的包括:代码编辑器;所述Web客户端为用户提供在线集成开发环境;用户通过Web客户端中代码编辑器编辑智能合约;将编辑完成的所述智能合约发送到服务器端,服务器端使用编译器进行编译,并将编译后的结果发送至Web客户端。所述Web客户端与服务器端之间具有数据传输;所述服务器端包括:编译器。所述在线集成开发环境采用插件式结构。所述Web客户端还包括:项目管理模块、语法高亮模块、智能合约模板、编译模块、调试模块、源代码管理模块;用户通过所述Web客户端的代码编辑器新建工程项目,并选择开发语言。所述项目管理模块、语法高亮模块、智能合约模板、编译模块、调试模块、源代码管理模块均与代码编辑器相连接,为代码编辑器提供相应服务功能;所述项目管理模块包括:项目的添加,编辑,重命名;对智能合约的源代码文件的添加、编辑、删除;所述语法高亮模块支持语言的语法高亮显示,支持的语言有:C++、Solidity、Rust、Go;所述智能合约模板提供智能合约的代码模板功能,用户将开发好的智能合约源程序保存为模板,在开发新的智能合约时,从调用所保存模板直接开发;所述编译模块提供对智能合约的源代码编译功能,将所述智能合约的源代码发送到服务器端进行编译;所述调试模块提供对智能合约的源代码调试功能;所述源代码管理模块内部集成了git功能(git一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目),用户直接在集成开发环境上使用git的add,commit,push,diff等常用的git操作。所述编译器包括:C++编译器、Solidity编译器、Rust编译器、Go编译器。所述开发语言包括:C++、Solidity、Rust、Go。所述开发语言与编译器能够编辑的语言一一对应。第二方面,本申请还提供了一种区块链智能合约在线集成开发环境的实现方法,使用所述区块链智能合约在线集成开发环境系统实现,包括如下步骤:用户通过Web客户端的浏览器打开在线集成开发环境;用户通过Web客户端的代码编辑器新建工程项目,并选择开发语言;用户在所述新建工程项目下新建一个智能合约代码文件,并开始编写智能合约;将编写完成的智能合约,发送至服务器端进行编译;根据所选择的开发语言,调用服务器端相应的服务器编译器;将智能合约代码编译成虚拟机能够执行的代码。所述虚拟机设置在服务器,为本领域技术人员经常使用执行代码的手段。若所述编译过程中发生错误,则在线集成开发环境会给出相应错误提示,用户能够根据提示修改代码。有益技术效果:本申请所实现的系统无需进行本地安装,直接在浏览器页面打开即可进行开发工作,降低了智能合约的开发成本。相对于本地集成开发环境,在线集成开发环境具有无需安装,轻量化、即开即用的特点。同时针对不同的项目,本地集成开发环境可能需要配置不同的开发环境,在多项目切换时容易丢失信息,甚至丢失某些配置信息。而Web集成开发环境无需担心这一点,在浏览器上就可以实现。附图说明构成本申请的一部分的附图用来提供对本申请的进一步理解,使得本申请的其它特征、目的和优点变得更明显。本申请的示意性实施例附图及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:图1是根据本申请实施例提供的一种区块链智能合约在线集成开发环境系统示意图;图2是根据本申请实施例提供的一种区块链智能合约在线集成开发环境的实现方法流程图;图3是根据本申请实施例提供的编译过程流程图。具体实施方式为了使本
的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。在本申请中,术语“上”、“下”、“左”、“右”、“前”、“后”、“顶”、“底”、“内”、“外”、“中”、“竖直”、“水平”、“横向”、“纵向”等指示的方位或位置关系为基于附图所示的方位或位置关系。这些术语主要是为了更好地描述本申请及其实施例,并非用于限定所指示的装置、元件或组成部分必须具有特定方位,或以特定方位进行构造和操作。并且,上述部分术语除了可以用于表示方位或位置关系以外,还可能用于表示其他含义,例如术语“上”在某些情况下也可能用于表示某种依附关系或连接关系。对于本领域普通技术人员而言,可以根据具体情况理解这些术语在本申请中的具体含义。另外,术语“多个”的含义应为两个以及两个以上。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。第一方面,本申请提供了一种区块链智能合约在线集成开发环境的系统,如图1所示,包括:Web客户端;所述Web客户端的包括:代码编辑器;...

【技术保护点】
1.一种区块链智能合约在线集成开发环境系统,其特征在于,包括:Web客户端;/n所述Web客户端的包括:代码编辑器;/n所述Web客户端为用户提供在线集成开发环境;/n用户通过Web客户端中代码编辑器编辑智能合约;/n将编辑完成的所述智能合约发送到服务器端,服务器端使用编译器进行编译,并将编译后的结果发送至Web客户端。/n

【技术特征摘要】
1.一种区块链智能合约在线集成开发环境系统,其特征在于,包括:Web客户端;
所述Web客户端的包括:代码编辑器;
所述Web客户端为用户提供在线集成开发环境;
用户通过Web客户端中代码编辑器编辑智能合约;
将编辑完成的所述智能合约发送到服务器端,服务器端使用编译器进行编译,并将编译后的结果发送至Web客户端。


2.如权利要求1所述的区块链智能合约在线集成开发环境系统,其特征在于,所述Web客户端与服务器端之间具有数据传输;所述服务器端包括:编译器。


3.如权利要求1所述的区块链智能合约在线集成开发环境系统,其特征在于,所述在线集成开发环境采用插件式结构。


4.如权利要求1所述的区块链智能合约在线集成开发环境系统,其特征在于,所述Web客户端还包括:项目管理模块、语法高亮模块、智能合约模板、编译模块、调试模块、源代码管理模块;用户通过所述Web客户端的代码编辑器新建工程项目,并选择开发语言;
所述项目管理模块、语法高亮模块、智能合约模板、编译模块、调试模块、源代码管理模块均与代码编辑器相连接,为代码编辑器提供相应服务功能。


5.如权利要求4所述的区块链智能合约在线集成开发环境系统,其特征在于,所述项目管理模块包括:项目的添加,编辑,重命名;对智能合约的源代码文件的添加、编辑、删除;
所述语法高亮模块支持语言的语法高亮显示,支持的语言有:C++、Solidity、Rust、Go。


6.如权利要求4所述的区块链智能合约在线集成开发环境系统,其特征在于,所述智能合...

【专利技术属性】
技术研发人员:方玉书贾震贡建军陈浩
申请(专利权)人:上海玳鸽信息技术有限公司
类型:发明
国别省市:上海;31

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

1