[发明专利]一种执行智能合约的方法、区块链节点和存储介质有效
申请号: | 202010901429.3 | 申请日: | 2020-08-31 |
公开(公告)号: | CN111815310B | 公开(公告)日: | 2021-08-17 |
发明(设计)人: | 刘琦 | 申请(专利权)人: | 支付宝(杭州)信息技术有限公司 |
主分类号: | G06Q20/06 | 分类号: | G06Q20/06;G06Q20/38;G06Q40/04;H04L29/08 |
代理公司: | 北京博思佳知识产权代理有限公司 11415 | 代理人: | 李威 |
地址: | 310000 浙江省杭州市*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 执行 智能 合约 方法 区块 节点 存储 介质 | ||
本说明书提供一种执行智能合约的方法、区块链节点和存储介质。一种执行智能合约的方法实施例包括:区块链节点接收创建智能合约的请求,所述请求中包括所述智能合约的字节码;所述区块链节点完成所述智能合约的部署后,开始将所述智能合约的字节码通过JIT编译为机器码并存储;所述区块链节点执行部署的所述智能合约时,如果本地没有存储有所述智能合约的字节码对应的机器码,则对所述智能合约的字节码进行解释执行。通过上述本申请的实施例,所述区块链节点可以大幅提升执行智能合约的速度。
技术领域
本说明书实施例属于区块链技术领域,尤其涉及一种执行智能合约的方法、区块链节点和存储介质。
背景技术
区块链(Blockchain)是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链2.0时代中出现了智能合约,将区块链的应用范围提升到了一个新高度。有了智能合约,区块链能做不再是单一的转账交易,而是还可以调用一段代码,而这段代码可以由用户自定义。
发明内容
本说明书在于提供一种执行智能合约的方法、区块链节点和存储介质。
本说明书实施例提供的一种执行智能合约的方法、区块链节点和存储介质,通过以下方式实现:
一种执行智能合约的方法,包括:
区块链节点接收创建智能合约的请求,所述请求中包括所述智能合约的字节码;
所述区块链节点完成所述智能合约的部署后,开始将所述智能合约的字节码通过JIT编译为机器码并存储;
所述区块链节点执行部署的所述智能合约时,如果本地没有存储有所述智能合约的字节码对应的机器码,则对所述智能合约的字节码进行解释执行。
一种执行智能合约的方法,包括:
区块链节点部署所述智能合约的字节码后,开始将所述智能合约的字节码通过JIT编译为机器码并存储;
所述区块链节点执行部署的所述智能合约时,如果本地没有存储有所述智能合约的字节码对应的机器码,则对所述智能合约的字节码进行解释执行。
一种执行智能合约的区块链节点,执行上述任一项所述的方法。
一种执行智能合约的区块链节点,包括:
处理器,
存储器,存储有程序,其中在所述处理器执行所述程序时,执行上述任一项所述的方法。
一种存储介质,用于存储程序,其中所述程序在被执行时进行上述任一项的操作。
通过上述本申请的实施例,局部编译尚未完成的情况下,对所述智能合约的字节码进行解释执行,从而可以在局部编译的同时保证区块链业务请求的正常处理。
附图说明
为了更清楚地说明本说明书实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是一实施例中编译执行和解释执行的原理示意图;
图2是一实施例中解释执行和JIT的原理示意图;
图3为一个实施例的创建智能合约的图示过程;
图4为一个实施例的调用智能合约的图示过程;
图5为一个实施例中创建智能合约和调用智能合约的示意图;
图6-1是一实施例中的执行智能合约的流程图;
图6-2是另一实施例中的执行智能合约的流程图;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于支付宝(杭州)信息技术有限公司,未经支付宝(杭州)信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010901429.3/2.html,转载请声明来源钻瓜专利网。