[发明专利]合约执行方法、合约精简方法、设备和存储介质有效
申请号: | 201811447697.1 | 申请日: | 2018-11-29 |
公开(公告)号: | CN109542455B | 公开(公告)日: | 2021-08-06 |
发明(设计)人: | 何正军;王志文;吴思进 | 申请(专利权)人: | 杭州复杂美科技有限公司 |
主分类号: | G06F8/41 | 分类号: | G06F8/41;G06F21/64 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 310000 浙江省杭州市*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 合约 执行 方法 精简 设备 存储 介质 | ||
本发明提供一种合约执行方法、合约精简方法、设备和存储介质,该方法包括:根据第一标识判断待执行的第一智能合约是否精简智能合约:是,则从节点数据库加载对应的第一字节码;将第一智能合约与第一字节码结合生成第二智能合约,并执行第二智能合约;其中,第一智能合约由修改后的编译器对第三智能合约裁剪第一字节码并添加第一标识生成。本发明减少智能合约尺寸,降低区块链系统中资源存储或资源传输的消耗,提升区块链节点的存储效率。
技术领域
本申请涉及区块链技术领域,具体涉及一种合约执行方法、合约精简方法、设备和存储介质。
背景技术
wasm是WebAssembly的二进制文件,包含二进制字节码,是一种中间代码;wasm因其性能高效、存储成本低、多语言支持等优点,被广泛用于作为发布智能合约的传播介质。Go语言因其部署简单、并发性好、执行性能好、简单易学等优点,被广泛用于智能合约的编写。然而,每个使用Go语言编写的智能合约源代码,经编译后的智能合约wasm字节码(智能合约go-wasm)都包含相同的runtime字节码,而该部分的字节码包含1M左右的数据;智能合约go-wasm将被部署在区块链的每个节点上,每个节点都需要将重复的runtime字节码发送到区块链系统等待共识,造成区块链系统存储资源的浪费。
发明内容
鉴于现有技术中的上述缺陷或不足,期望提供一种减少智能合约尺寸,降低区块链系统中资源存储或资源传输的消耗,提升区块链节点的存储效率的合约执行方法、合约精简方法、设备和存储介质。
第一方面,本发明提供一种合约执行方法,包括:
根据第一标识判断待执行的第一智能合约是否精简智能合约:是,则从节点数据库加载对应的第一字节码;
将第一智能合约与第一字节码结合生成第二智能合约,并执行第二智能合约;
其中,第一智能合约由修改后的编译器对第三智能合约裁剪第一字节码并添加第一标识生成。
第二方面,本发明提供一种合约精简方法,包括:
通过修改后的编译器对第三智能合约裁剪第一字节码并添加第一标识,生成第一智能合约;
其中,第一标识用于标识第一智能合约为精简智能合约。
第三方面,本发明还提供一种设备,包括一个或多个处理器和存储器,其中存储器包含可由该一个或多个处理器执行的指令以使得该一个或多个处理器执行根据本发明各实施例提供的合约执行方法及合约精简方法。
第四方面,本发明还提供一种存储有计算机程序的存储介质,该计算机程序使计算机执行根据本发明各实施例提供的合约执行方法及合约精简方法。
本发明诸多实施例提供的合约执行方法、合约精简方法、设备和存储介质通过根据第一标识判断待执行的第一智能合约是否精简智能合约:是,则从节点数据库加载对应的第一字节码;将第一智能合约与第一字节码结合生成第二智能合约,并执行第二智能合约;其中,第一智能合约由修改后的编译器对第三智能合约裁剪第一字节码并添加第一标识生成的方法,减少智能合约尺寸,降低区块链系统中资源存储或资源传输的消耗,提升区块链节点的存储效率。
本发明一些实施例提供的合约执行方法、合约精简方法、设备和存储介质进一步通过第一哈希值在节点数据库中查找是否存在对应的第一字节码:是,则从节点数据库加载第一字节码;其中,第一哈希值由对第一字节码进行哈希运算得到,第一哈希值被写入区块链中的方法,快速从区块链中查找并加载与第一哈希值相匹配的第一字节码,从而加快将第一智能合约与第一字节码结合生成第二智能合约,并执行第二智能合约的时间,提升区块链性能,改善用户体验。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州复杂美科技有限公司,未经杭州复杂美科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811447697.1/2.html,转载请声明来源钻瓜专利网。