[发明专利]一种基于JAVA的智能合约生命周期的管理方法有效
申请号: | 201710585455.8 | 申请日: | 2017-07-18 |
公开(公告)号: | CN107562513B | 公开(公告)日: | 2020-08-07 |
发明(设计)人: | 李伟;梁秀波;邱炜伟;李启雷;尹可挺 | 申请(专利权)人: | 杭州趣链科技有限公司 |
主分类号: | G06F9/455 | 分类号: | G06F9/455;G06F9/48;G06Q40/04 |
代理公司: | 杭州求是专利事务所有限公司 33200 | 代理人: | 邱启旺 |
地址: | 310012 浙江省杭州市*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 java 智能 合约 生命周期 管理 方法 | ||
本发明公开了一种基于JAVA的智能合约生命周期的管理方法,该方法通过实现一个JCEE服务器来处理客户端的部署、调用、升级、冻结、解冻合约的请求,对每一个合约生成一个唯一的合约地址并实例化一个合约对象,该对象用于处理发送到对应合约地址上的所有请求,JCEE服务器会对每次的合约请求进行安全性检查,检查其字节码的合法性,检查通过后才会进行合约的请求处理,并返回结果给客户端。由于本产品是基于JAVA语言开发的,因此用户可以将其部署到任意区块链平台中进行合约生命周期的管理,提升了区块链平台的可扩展性。
技术领域
本发明涉及区块链技术,尤其涉及一种基于JAVA的智能合约生命周期的管理方法。
背景技术
区块链技术,区块链是一种新型去中心化协议,能安全地存储数字货币交易或其他数据,信息不可伪造和篡改,区块链上的交易确认由区块链上的所有节点共同完成,由共识算法保证其一致性,区块链上维护一个公共的账本,公共账本位于存储区块上任何节点可见,从而保证其不可伪造和篡改。
智能合约是编程在区块链上的汇编语言,该术语是跨领域法律学者尼克·萨博提出来的,他对智能合约的定义是“一个智能合约是一套以数字形式定义的承诺,包括合约参与方可以在上面执行这些承诺的协议”,换句话说,智能合约就是一个在计算机系统上,当一定条件被满足后,可以被自动执行的合约。通常人们不会自己写字节码,但是会从更高级的语言来编译它,例如用Solidity等类似的专用语言。
区块链的去中心化与不可篡改的特性给智能合约提供了一个很好的发展环境,因此近年来,比特币网络、以太坊网络等一系列区块链社区都陆续开始提供了公开的智能合约编程的接口。但是在智能合约的开发过程中,一直缺少一个完善的生命周期的管理方法,尤其缺少一种基于当前主流编程语言的智能合约管理方法。
发明内容
针对现有技术的不足,本发明提出了一种基于JAVA的智能合约管理方法,从智能合约的部署、调用、升级、冻结、解冻等方面的管理来实现整个智能合约生命周期的管理,具体技术方案如下:
一种基于JAVA的智能合约生命周期的管理方法,包括如下步骤:
步骤一:合约部署;
基于JAVA虚拟机的智能合约执行引擎(JAVA based Contract ExecutionEngine,以下简称JCEE)的客户端接收用户输入的压缩过的类文件,随后解压类文件并持久化后,生成合约的唯一标识合约地址ContractAddress,连同类文件的地址向JCEE服务器端发送部署请求;JCEE服务器端通过监听指定端口收到JCEE客户端发送过来的合约部署请求,首先对合约进行安全性检查,如果检查通过,则将合约持久化到元数据库中,随后即可将类文件装载到内存中进行合约的部署;如果检查不通过,直接退出本次的合约部署,并向JCEE客户端返回错误信息;
步骤二:根据用户需求对合约执行对应的操作:
(1)当需要调用合约时:JCEE客户端接收用户输入的调用invoke请求,解析出调用合约的唯一标识ContractAddress、合约调用的方法名与参数,向JCEE服务器端发送合约调用invoke请求;JCEE服务器端通过监听指定端口收到JCEE客户端发送过来的合约调用请求,首先对合约进行安全性检查,如果检查通过,则调用指定合约地址的指定方法并同步账本信息到JCEE客户端,实现合约的调用,如果检查不通过,则终止本次的合约调用,并向JCEE客户端返回错误信息;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州趣链科技有限公司,未经杭州趣链科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710585455.8/2.html,转载请声明来源钻瓜专利网。