[发明专利]智能合约执行方法、装置、设备和存储介质有效
申请号: | 201810778243.6 | 申请日: | 2018-07-16 |
公开(公告)号: | CN109032706B | 公开(公告)日: | 2022-10-11 |
发明(设计)人: | 肖伟 | 申请(专利权)人: | 百度在线网络技术(北京)有限公司 |
主分类号: | G06F9/448 | 分类号: | G06F9/448 |
代理公司: | 北京品源专利代理有限公司 11332 | 代理人: | 孟金喆 |
地址: | 100085 北京市*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 智能 合约 执行 方法 装置 设备 存储 介质 | ||
本发明实施例公开了一种智能合约执行方法、装置、设备和存储介质。该方法包括:从目标智能合约包括的至少一个运行函数中选择目标运行函数,其中所述目标智能合约是采用区块链原生语言的插件机制编写的;采用预设的智能合约交互方式,调用所述目标运行函数。本发明实施例基于区块链原生语言的插件机制编写智能合约,实现了可以直接在物理机上执行智能合约,避免了在虚拟机上执行智能合约导致的性能低下的问题,提高了区块链编程的亲和性和功能的完备性。
技术领域
本发明实施例涉及区块链技术领域,尤其涉及一种智能合约执行方法、装置、设备和存储介质。
背景技术
随着互联网技术的不断发展,一种去中心化且公开透明的区块链技术应运而生。区块链网络依据不同的智能合约来限制事务的处理方式,智能合约旨在以信息化方式传播、验证或执行合约的计算机协议,维持了区块链网络中事务的处理秩序。
在区块链网络中,智能合约通常以一段可读字段或可执行代码段的形式存在。现有智能合约只有固定的几种开发模式,例如比特币的script模式,以太坊的solidity模式以及EOS的Web Assembly模式。现有技术中智能合约采用非区块链原生语言进行编写,并依赖于CPU、内存或者磁盘等有制约条件的虚拟机进行运行,同时还可以通过沙盒对其运行环境进行限制。
然而,虚拟机是通过软件模拟的具有完整硬件系统功能的且运行在一个完全隔离环境中的完整计算机系统。智能合约在虚拟机中的运行性能较低,限制了智能合约的开发模式,同时也降低了区块链编程的亲和性和功能实现的完备性。
发明内容
本发明实施例提供了一种智能合约执行方法、装置、设备和存储介质,能够提高区块链网络中智能合约的运行性能。
第一方面,本发明实施例提供了一种智能合约执行方法,由区块链网络中的节点执行,所述方法包括:
从目标智能合约包括的至少一个运行函数中选择目标运行函数,其中所述目标智能合约是采用区块链原生语言的插件机制编写的;
采用预设的智能合约交互方式,调用所述目标运行函数。
第二方面,本发明实施例提供了一种智能合约执行装置,配置于区块链网络中的节点中,所述装置包括:
目标运行函数选择模块,用于从目标智能合约包括的至少一个运行函数中选择目标运行函数,其中所述目标智能合约是采用区块链原生语言的插件机制编写的;
目标运行函数调用模块,用于采用预设的智能合约交互方式,调用所述目标运行函数。
第三方面,本发明实施例提供了一种设备,包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明任意实施例所述的智能合约执行方法。
第四方面,本发明实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本发明任意实施例所述的智能合约执行方法。
本发明实施例通过采用区块链原生语言及其对应的插件机制对目标智能合约进行编写,以插件的方式将目标智能合约注册于本地节点的物理机中;并在目标智能合约的执行时,选择目标智能合约中至少一个待运行的目标运行函数,区块链网络采用预设的智能合约交互方式调用选择的目标运行函数。本发明实施例基于区块链原生语言的插件机制编写智能合约,实现了直接在物理机上执行智能合约,避免了在虚拟机上执行智能合约导致的性能低下的问题,提高了区块链编程的亲和性和功能的完备性。
附图说明
图1为本发明实施例一提供的一种智能合约执行方法的流程图;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于百度在线网络技术(北京)有限公司,未经百度在线网络技术(北京)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810778243.6/2.html,转载请声明来源钻瓜专利网。