【技术实现步骤摘要】
一种执行智能合约的方法、区块链节点和存储介质
本说明书实施例属于区块链
,尤其涉及一种执行智能合约的方法、区块链节点和存储介质。
技术介绍
区块链(Blockchain)是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链2.0时代中出现了智能合约,将区块链的应用范围提升到了一个新高度。有了智能合约,区块链能做不再是单一的转账交易,而是还可以调用一段代码,而这段代码可以由用户自定义。
技术实现思路
本说明书在于提供一种执行智能合约的方法、区块链节点和存储介质。本说明书实施例提供的一种执行智能合约的方法、区块链节点和存储介质,通过以下方式实现:一种执行智能合约的方法,包括:区块链节点接收创建智能合约的请求,所述请求中包括所述智能合约的字节码;所述区块链节点完成所述智能合约的部署后,开始将所述智能合约的字节码通过JIT编译为机器码并存储;所述区块链节点执行部署的所述智能合约时,如果本地没有存储有所述智能合约的字节码对应的机器码,则对所述智能合约的字节码进行解释执行。一种执行智能合约的方法,包括:区块链节点部署所述智能合约的字节码后,开始将所述智能合约的字节码通过JIT编译为机器码并存储;所述区块链节点执行部署的所述智能合约时,如果本地没有存储有所述智能合约的字节码对应的机器码,则对所述智能合约的字节码进行解释执行。一种执行智能合约的区块链节点,执行上述任一项所述的方法。一种执行智能合约的 ...
【技术保护点】
1.一种执行智能合约的方法,包括:/n区块链节点接收创建智能合约的请求,所述请求中包括所述智能合约的字节码;/n所述区块链节点完成所述智能合约的部署后,开始将所述智能合约的字节码通过JIT编译为机器码并存储;/n所述区块链节点执行部署的所述智能合约时,如果本地没有存储有所述智能合约的字节码对应的机器码,则对所述智能合约的字节码进行解释执行。/n
【技术特征摘要】
1.一种执行智能合约的方法,包括:
区块链节点接收创建智能合约的请求,所述请求中包括所述智能合约的字节码;
所述区块链节点完成所述智能合约的部署后,开始将所述智能合约的字节码通过JIT编译为机器码并存储;
所述区块链节点执行部署的所述智能合约时,如果本地没有存储有所述智能合约的字节码对应的机器码,则对所述智能合约的字节码进行解释执行。
2.如权利要求1所述的方法,所述区块链节点完成所述智能合约的部署后,开始将所述智能合约的字节码通过JIT编译为机器码,包括:
所述区块链节点完成创建所述智能合约后开始对所述智能合约的字节码进行JIT编译;或,
所述区块链节点完成创建所述智能合约后,利用相对空闲的时间段对所述智能合约的字节码进行JIT编译;或,
所述区块链节点接收到调用创建的所述智能合约的交易请求后,对所述智能合约的字节码进行JIT编译。
3.如权利要求1所述的方法,所述将所述智能合约的字节码通过JIT编译为机器码并存储,包括:
对所述智能合约的字节码进行翻译和/或执行的过程中识别热点字节码进行编译并存储;
和/或,
对所述智能合约的字节码进行翻译和/或执行的过程中进行优化编译并存储。
4.如权利要求3所述的方法,所述识别热点字节码的粒度包括函数级别或代码块级别。
5.如权利要求1所述的方法,所述区块链节点执行部署的所述智能合约时,如果本地没有存储所述智能合约的机器码,对所述智能合约的字节码进行解释执行,包括:
所述区块链节点执行部署的所述智能合约时,如果本地没有存储所述智能合约的机器码,所述区块链节点还查询当前对所述智能合约的字节码的JIT编译情况,如果正处于JIT编译中,则对所述智能合约的字节码进行解释执行;
或,
所述区块链节点执行部署的所述智能合约时,如果本地没有存储所述智能合约的机器码,所述区块链节点还查询当前对所述智能合约的字节码的JIT编译情况,如果尚未开始JIT编译,则启动JIT编译,并对所述智能合约的字节码进行解释执行。
6.如权利要求1所述的方法,所述区块链节点对所述智能合约的字节码进行解释执行,包括:
所述区块链节点对所述智能合约中对应于所调用函数的字节码进行解释执行。
7.如权利要求1所述的方法,所述区块链节点执行部署的所述智能合约时,如果本地存储有所述智能合约的机器码,则执行所述机器码。
8.如权利要求7所述的方法,所述区块链节点执行所述机器码,包括:
所述区块链节点执行存储的所述智能合约中对应于所调用函数和/或代码块的机器码。
9.如权利要求1-8中任一项所述的方法,所述存储为缓存。
10.一种执行智能合约的方法,包括:
区块链节点部署所述智能合约的字节码后,开始将所述智能合约的字节码通过JIT编译为机器码并存储;
所述区块链节点执行部署的所述智能合约...
【专利技术属性】
技术研发人员:刘琦,
申请(专利权)人:支付宝杭州信息技术有限公司,
类型:发明
国别省市:浙江;33
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。