全网唯一标准王
(19)国家知识产权局 (12)发明 专利申请 (10)申请公布号 (43)申请公布日 (21)申请 号 202210793998.X (22)申请日 2022.07.05 (71)申请人 杭州趣链科技有限公司 地址 310051 浙江省杭州市滨江区丹 枫路 399号2号楼 A楼2001室 (72)发明人 邱炜伟 黄方蕾 何奇 张珂杰  胡麦芳  (74)专利代理 机构 深圳智汇远见知识产权代理 有限公司 4 4481 专利代理师 蒋学超 (51)Int.Cl. G06F 9/54(2006.01) G06F 9/50(2006.01) (54)发明名称 智能合约执行及部署方法、 装置、 电子设备 及存储介质 (57)摘要 本申请涉及一种智能合约执行及部署方法、 装置、 电子设备及存储介质, 属于区块链技术领 域。 其中, 一种智能合约执行方法, 包括: 获取智 能合约的执行请求; 根据执行请求, 从缓存中获 取智能合约对应的字节码和执行环 境; 执行环境 包括第一内存空间和第二内存空间; 在第一内存 空间中执行字节码; 确定智能合约执行完成后, 使用第二内存空间的内容重置第一内存空间的 内容。 该方法在智 能合约执行时, 不需要开辟内 存空间, 只需调用缓存中预先存储的执行环境, 节省了每次执行智能合约时开辟内存的消耗, 在 第一内存空间中执行字节码, 待智能合约执行完 成后, 使用第二内存空间的内容对第一内存空间 重置, 节省了初始化的消耗, 提高了WASM智能合 约的执行性能。 权利要求书2页 说明书9页 附图4页 CN 115328671 A 2022.11.11 CN 115328671 A 1.一种智能合约执 行方法, 其特 征在于, 所述方法包括: 获取智能合约的执 行请求; 根据所述执行请求, 从缓存中获取所述智能合约对应的字节码和执行环境; 所述执行 环境包括第一内存空间和第二内存空间; 在所述第一内存空间中执 行所述字节码; 确定所述智能合约执行完成后, 使用所述第 二内存空间的内容重置所述第 一内存空间 的内容。 2.根据权利要求1所述的方法, 其特征在于, 获取所述智能合约对应的字节码和执行环 境, 包括: 根据智能合约的哈希值以及预设的映射关系, 获取所述哈希值对应的第 一地址和第 二 地址; 所述映射关系为哈希值与内存地址的映射关系; 根据所述第一 地址获取 所述智能合约对应的字节码; 根据所述第二 地址获取 所述智能合约对应的执 行环境。 3.根据权利要求2所述的方法, 其特征在于, 获取所述哈希值对应的第二地址之后, 所 述方法还包括: 在所述映射关系中, 给所述第二地址 设置标识信息; 所述标识信息用于指示 所述第二 地址对应的所述第一内存空间和所述第二内存空间被占用; 相应地, 在使用所述第二内存空间的内容重置所述第一内存空间的内容之后, 所述方 法还包括: 将所述标识信息删除。 4.根据权利要求2所述的方法, 其特征在于, 在所述第 一内存空间中执行所述字节码之 前, 所述方法还 包括: 若所述第一内存空间和所述第 二内存空间未初始化, 分别对所述第 一内存空间和所述 第二内存空间初始化。 5.根据权利要求1所述的方法, 其特征在于, 获取所述智能合约对应的执行环境之前, 所述方法还 包括: 确定缓存中是否包 含所述字节码对应的执 行环境; 若缓存中不包含所述执行环境, 从内存中获取能够执行所述字节码的第 一空闲空间和 第二空闲空间; 所述第二空闲空间的大小大于或等于所述第一空闲空间的大小; 所述第一 空闲空间用于执行所述字节码; 所述第二空闲空间用于所述智能合约执行完成后重置所述 第一空闲空间的内容; 将所述第一空闲空间作为第一内存空间, 将所述第二空闲空间作为第二内存空间, 并 将所述第一内存空间和所述第二内存空间作为所述智能合约的执行环境, 将所述执行环境 对应的内存地址存 储至缓存。 6.一种智能合约部署方法, 其特 征在于, 所述方法包括: 获取所述智能合约包 含的字节码; 从内存中获取能够执行所述字节码的第 一空闲空间和第 二空闲空间; 所述第 二空闲空 间的大小大于或等于所述第一空闲空间的大小; 所述第一空闲空间用于执行所述字节码; 所述第二空 闲空间用于所述智能合约执 行完成后重 置所述第一空 闲空间的内容; 将所述第一空闲空间作为第一内存空间, 将所述第二空闲空间作为第二内存空间, 并 将所述第一内存空间和所述第二内存空间作为所述智能合约的执行环境, 将所述执行环境 对应的内存地址存 储至缓存。权 利 要 求 书 1/2 页 2 CN 115328671 A 27.根据权利要求6所述的方法, 其特征在于, 将所述第 一内存空间和所述第 二内存空间 作为所述智能合约的执行环境之前, 所述方法还包括: 对所述第一内存空间和所述第二内 存空间进行初始化; 将所述执 行环境对应的内存地址存 储至缓存, 包括: 获取所述智能合约的哈希值; 根据所述哈希值和所述执行环境对应的内存地址, 得到所述哈希值与 所述内存地址的 映射关系; 将所述映射关系存 储至缓存。 8.一种智能合约执 行装置, 其特 征在于, 所述装置包括: 第一获取模块, 用于获取智能合约的执 行请求; 第二获取模块, 用于根据所述执行请求, 从缓存中获取所述智能合约对应的字节码和 执行环境; 所述执 行环境包括第一内存空间和第二内存空间; 执行模块, 用于在所述第一内存空间中执 行所述字节码; 重置模块, 用于确定所述智能合约执行完成后, 使用所述第二内存空间的内容重置所 述第一内存空间的内容。 9.一种智能合约部署装置, 其特 征在于, 所述装置包括: 第三获取模块, 用于获取 所述智能合约包 含的字节码; 第四获取模块, 用于从缓存中获取能够执行所述字节码的第 一空闲空间和第 二空闲空 间; 所述第二空闲空间的大小大于或等于所述第一空闲空间的大小; 所述第一空闲空间用 于执行所述字节码; 所述第二空闲空间用于所述智能合约执行完成后重置所述第一空闲空 间的内容; 存储模块, 用于将所述第一空闲空间作为第一内存空间, 将所述第二空闲空间作为第 二内存空间, 并将所述第一内存空间和所述第二内存空间作为所述智能合约的执行环境, 将所述执 行环境对应的内存地址存 储至缓存。 10.一种电子设备, 其特征在于, 包括处理器、 通信接口、 存储器和通信总 线, 其中, 处理 器, 通信接口, 存 储器通过通信总线完成相互间的通信; 存储器, 用于存放计算机程序; 处理器, 用于执行存储器上所存放的程序时, 实现权利要求1 ‑5任一项所述的智能合约 执行方法或权利要求6或7的智能合约部署方法的步骤。 11.一种计算机可读存储介质, 其上存储有计算机程序, 其特征在于, 所述计算机程序 被处理器执行时实现如权利要求 1‑5任一项所述的智能合约执行方法或权利要求6或7的智 能合约部署方法的步骤。权 利 要 求 书 2/2 页 3 CN 115328671 A 3

.PDF文档 专利 智能合约执行及部署方法、装置、电子设备及存储介质

文档预览
中文文档 16 页 50 下载 1000 浏览 0 评论 309 收藏 3.0分
温馨提示:本文档共16页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
专利 智能合约执行及部署方法、装置、电子设备及存储介质 第 1 页 专利 智能合约执行及部署方法、装置、电子设备及存储介质 第 2 页 专利 智能合约执行及部署方法、装置、电子设备及存储介质 第 3 页
下载文档到电脑,方便使用
本文档由 人生无常 于 2024-03-18 13:32:58上传分享
友情链接
站内资源均来自网友分享或网络收集整理,若无意中侵犯到您的权利,敬请联系我们微信(点击查看客服),我们将及时删除相关资源。