【技术实现步骤摘要】
智能合约的部署方法、执行方法、装置及终端设备
本申请属于计算机
,尤其涉及一种智能合约的部署方法、执行方法、装置及终端设备。
技术介绍
随着计算机
的快速发展,智能合约得到了越来越多的应用,智能合约是一段由事件驱动、具有状态的、运行在一个复制且可分享的账本之上,并且能够保管账本上资产的程序,即智能合约是一种程序化合约,在满足预设条件时自动执行,如智能合约可部署在区块链系统中。通常在执行智能合约的过程中,可通过虚拟机加载并运行智能合约的字节码实现。执行智能合约的字节码时会有执行消耗(即gas),gas是为智能合约提供算力所需的计算资源,目前对智能合约的字节码的执行消耗的衡量方法效率低。
技术实现思路
本申请实施例提供了一种智能合约的部署方法、执行方法、装置、终端设备及存储介质,旨在解决现有对智能合约的字节码的执行消耗的衡量方法效率低的问题。第一方面,本申请实施例提供了一种智能合约的部署方法,包括:当接收到部署所述智能合约的请求指令时,按顺序读取所述智能合约中的字节码指令; ...
【技术保护点】
1.一种智能合约的部署方法,其特征在于,包括:/n当接收到部署所述智能合约的请求指令时,按顺序读取所述智能合约中的字节码指令;/n在读取的所述智能合约中的字节码指令为边界指令时,计算所述边界指令对应程序块的第一消耗;其中,所述边界指令包括指示字节码指令为分支执行指令或循环执行指令的开始指令和结束指令;/n将所述第一消耗关联预设指令,得到所述边界指令对应程序块的执行消耗计算字节码;/n将所述执行消耗计算字节码关联所述边界指令进行存储,以使所述智能合约在执行所述边界指令的过程中,执行所述执行消耗计算字节码以获得所述边界指令对应程序块的第一执行消耗;/n在所述智能合约中所有字节码 ...
【技术特征摘要】
1.一种智能合约的部署方法,其特征在于,包括:
当接收到部署所述智能合约的请求指令时,按顺序读取所述智能合约中的字节码指令;
在读取的所述智能合约中的字节码指令为边界指令时,计算所述边界指令对应程序块的第一消耗;其中,所述边界指令包括指示字节码指令为分支执行指令或循环执行指令的开始指令和结束指令;
将所述第一消耗关联预设指令,得到所述边界指令对应程序块的执行消耗计算字节码;
将所述执行消耗计算字节码关联所述边界指令进行存储,以使所述智能合约在执行所述边界指令的过程中,执行所述执行消耗计算字节码以获得所述边界指令对应程序块的第一执行消耗;
在所述智能合约中所有字节码指令读取完成时,判定所述智能合约的字节码指令已处理完成。
2.根据权利要求1所述的部署方法,其特征在于,所述在读取的所述智能合约中的字节码指令为边界指令时,计算所述边界指令对应程序块的第一消耗,包括:
所述在读取的所述智能合约中的字节码指令为边界指令时,将所述边界指令对应程序块中每一条指令的执行消耗进行累加,得到所述第一消耗。
3.根据权利要求1所述的部署方法,其特征在于,所述将所述执行消耗计算字节码关联所述边界指令进行存储,以使所述智能合约在执行所述边界指令的过程中,执行所述执行消耗计算字节码以获得所述边界指令对应程序块的第一执行消耗,包括:
将所述执行消耗计算字节码关联所述边界指令进行存储,以使所述智能合约在执行过程中,每检测到开始执行一次所述边界指令时,将所述边界指令关联的第一消耗累加一次至所述第一执行消耗,以更新所述第一执行消耗;
其中,所述第一消耗为在所述智能合约部署时计算出并存储的所述边界指令执行一次需要的消耗,所述第一执行消耗为所述在执行智能合约时,根据所述边界指令的执行次数和第一消耗计算的所述边界指令对应程序块的总执行消耗。
4.一种智能合约的执行方法,其特征在于,包括:
在接收到执行已部署的智能合约的请求指令时,获取指令消耗阈值;
在当前执行的字节码指令为边界指令时,执行所述边界指令关联的执行消耗计算字节码,获得所述边界指令对应程序块的第一执行消耗;其中,所述边界指令包括指示字节码指令为分支执行指令或循环执行指令的开始指令和结束指令,所述执行消耗计算字节码为在智能合约部署过程中将计算所述边界指令对应程序块的第一消耗关联预设指令得到的可执行程序;
获取第二执行消耗,将所述第二执行消耗与所述第一执行消耗进行累加,获得第三执行消耗;其中,所述第二执行消耗为当前边界指令之前已执行的所有字节码指令的总执行消耗;
在检测到所述第三执行消耗大于所述指令消耗阈值时,退出执行所述智能合约。
5.根据权利要求4所述的执行方法,其特征在于,所述执行所述边界指令关联的执行消耗计算字节码,获得所述边界指令对应程序块的第一执行消耗,包括:
在执行所述边界指令关联的执行消耗计算字节码的过程中,每检测到开始执行一次所述边界指令时,将所述边界指令关联的第一消耗累加一次至所述第一执行消耗,以更新所述第一执行消耗;<...
【专利技术属性】
技术研发人员:邱炜伟,李伟,黄方蕾,张珂杰,何奇,
申请(专利权)人:杭州趣链科技有限公司,
类型:发明
国别省市:浙江;33
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。