[发明专利]智能合约运行方法、装置、系统和计算机可读存储介质有效
申请号: | 201810640008.2 | 申请日: | 2018-06-21 |
公开(公告)号: | CN108830720B | 公开(公告)日: | 2021-04-30 |
发明(设计)人: | 徐开廷;孙海波;宋德伟 | 申请(专利权)人: | 北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司 |
主分类号: | G06Q40/04 | 分类号: | G06Q40/04;G06F8/30;G06F8/41;H04L29/08 |
代理公司: | 中国贸促会专利商标事务所有限公司 11038 | 代理人: | 李昊;许蓓 |
地址: | 100195 北京市海淀区杏石口路6*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 智能 合约 运行 方法 装置 系统 计算机 可读 存储 介质 | ||
本发明公开了一种智能合约运行方法、装置、系统和计算机可读存储介质,涉及计算机技术领域。智能合约运行方法包括:从区块链中读取智能合约的数据,其中,智能合约的数据包括智能合约代码;从智能合约的数据中获取智能合约代码的参数信息;根据参数信息构建智能合约的脚本;运行脚本以采用智能合约代码构建和启动智能合约模块,以便区块链核心模块与启动的智能合约模块通过区块链节点的通信代理层交换智能合约的执行数据。本发明的实施例可以根据智能合约的代码构建智能合约的脚本,并通过启动脚本来运行智能合约,使得在区块链节点部署在弹性云的环境中时,也能够执行和启动智能合约,提高了智能合约的通用性。
技术领域
本发明涉及计算机技术领域,特别涉及一种智能合约运行方法、装置、系统和计算机可读存储介质。
背景技术
区块链应用是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用。智能合约是运行在区块链之上的、和业务逻辑紧密相关的业务逻辑程序。
在相关技术中,一般使用容器(Docker)实现智能合约,以为智能合约提供一个完整、成熟的运行环境,方便区块链节点调用和执行智能合约。Docker是一个开源的应用容器引擎。开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux操作系统的机器上,也可以实现虚拟化。
区块链节点可以部署在物理机上。但是,如果为了将智能合约的业务使用Docker来支撑,将区块链节点都部署在单个的物理机上,成本太高,使得运营、迁移、维护的工作量太大。随着公有云或者私有云等弹性云业务的发展,很多区块链的业务系统都部署在弹性云上。弹性云主要使用Docker技术来实现。
发明内容
发明人对相关技术进行分析后发现,按目前Docker的设计理念,Docker上是无法运行Docker的。因此,将智能合约和区块链节点均使用Docker的技术来实现,即,将采用Docker实现的智能合约运行在Docker上的方案是无法实现的。
本发明实施例所要解决的一个技术问题是:如何在基于弹性云的区块链系统中支持智能合约。
根据本发明一些实施例的第一个方面,提供一种智能合约运行方法,包括:从区块链中读取智能合约的数据,其中,智能合约的数据包括智能合约代码;从智能合约的数据中获取智能合约代码的参数信息;根据参数信息构建智能合约的脚本;运行脚本以采用智能合约代码构建和启动智能合约模块,以便区块链核心模块与启动的智能合约模块通过区块链节点的通信代理层交换智能合约的执行数据。
在一些实施例中,智能合约运行方法还包括:启动的智能合约模块与区块链核心模块通过区块链节点的通信代理层建立连接;启动的智能合约模块通过建立的连接接收区块链核心模块发送的基于网络协议的数据。
在一些实施例中,智能合约运行方法还包括:启动的智能合约模块通过建立的连接向区块链节点发送心跳通知,以便区块链核心模块响应于在预设时间内未收到智能合约模块发送的心跳通知,再次运行智能合约的脚本。
在一些实施例中,智能合约运行方法还包括:启动的智能合约模块与区块链核心模块通过区块链节点的通信代理层交换智能合约的执行数据,执行数据包括智能合约的执行标识,以便区块链核心模块保存智能合约的执行标识以及相应的执行数据。
在一些实施例中,根据参数信息和智能合约的语言类型,构建语言类型对应的智能合约的脚本。
在一些实施例中,从智能合约的数据中获取智能合约代码的编译参数和启动参数;根据编译参数构建智能合约的编译脚本,以及根据启动参数构建智能合约的启动脚本。
在一些实施例中,启动的智能合约模块位于区块链节点的宿主机或者区块链智能合约集群。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司,未经北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810640008.2/2.html,转载请声明来源钻瓜专利网。