[发明专利]智能合约执行方法、装置、设备和存储介质有效
申请号: | 201810778243.6 | 申请日: | 2018-07-16 |
公开(公告)号: | CN109032706B | 公开(公告)日: | 2022-10-11 |
发明(设计)人: | 肖伟 | 申请(专利权)人: | 百度在线网络技术(北京)有限公司 |
主分类号: | G06F9/448 | 分类号: | G06F9/448 |
代理公司: | 北京品源专利代理有限公司 11332 | 代理人: | 孟金喆 |
地址: | 100085 北京市*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 智能 合约 执行 方法 装置 设备 存储 介质 | ||
1.一种智能合约执行方法,其特征在于,由区块链网络中的节点执行,所述方法包括:
从目标智能合约包括的至少一个运行函数中选择目标运行函数,其中所述目标智能合约是采用区块链原生语言的插件机制编写的;其中,所述区块链原生语言为编写区块链底层网络架构的语言,所述插件机制是指利用所述区块链原生语言对应的插件机制将智能合约编写为插件的形式,并配置于本地节点对应的物理机中;
采用预设的智能合约交互方式,调用所述目标运行函数;其中,所述预设的智能合约交互方式为动态链接库技术、进程间通信技术和远程过程调用技术中的其中一种。
2.根据权利要求1所述的方法,其特征在于,在所述从目标智能合约包括的至少一个运行函数中选择目标运行函数之前,还包括:
在首次将所述目标智能合约配置到本地节点时,采用所述目标智能合约包括的初始化函数对所述目标智能合约进行初始化。
3.根据权利要求1所述的方法,其特征在于,在所述采用预设的智能合约交互方式,调用所述目标运行函数之后,还包括:
若检测到所述目标运行函数的回滚事件,则采用所述目标运行函数的回滚函数对所述目标运行函数的执行结果进行回滚。
4.根据权利要求3所述的方法,其特征在于,在所述采用所述目标运行函数的回滚函数对所述目标运行函数的执行结果进行回滚之前,还包括:
获取所述目标智能合约中包括的所述目标运行函数的回滚函数;或者,
从预置的回滚函数中选择所述目标运行函数的回滚函数。
5.根据权利要求1-4任一项所述的方法,其特征在于,若所述目标智能合约与区块链采用的原生语言相同;
采用预设的智能合约交互方式,调用所述目标运行函数,包括:
采用动态链接库技术,调用所述目标运行函数。
6.根据权利要求1-4任一项所述的方法,其特征在于,所述采用预设的智能合约交互方式,调用所述目标运行函数,包括:
基于进程间通信技术,调用所述目标运行函数。
7.根据权利要求1-4任一项所述的方法,其特征在于,所述采用预设的智能合约交互方式,调用所述目标运行函数,包括:
基于远程过程调用技术,调用所述目标运行函数。
8.一种智能合约执行装置,其特征在于,配置于区块链网络中的节点中,所述装置包括:
目标运行函数选择模块,用于从目标智能合约包括的至少一个运行函数中选择目标运行函数,其中所述目标智能合约是采用区块链原生语言的插件机制编写的;其中,所述区块链原生语言为编写区块链底层网络架构的语言,所述插件机制是指利用所述区块链原生语言对应的插件机制将智能合约编写为插件的形式,并配置于本地节点对应的物理机中;
目标运行函数调用模块,用于采用预设的智能合约交互方式,调用所述目标运行函数;其中,所述预设的智能合约交互方式为动态链接库技术、进程间通信技术和远程过程调用技术中的其中一种。
9.根据权利要求8所述的装置,其特征在于,还包括:
目标智能合约初始化模块,用于在所述从目标智能合约包括的至少一个运行函数中选择目标运行函数之前,在首次将所述目标智能合约配置到本地节点时,采用所述目标智能合约包括的初始化函数对所述目标智能合约进行初始化。
10.根据权利要求8所述的装置,其特征在于,还包括:
回滚模块,用于在所述采用预设的智能合约交互方式,调用所述目标运行函数之后,若检测到所述目标运行函数的回滚事件,则采用所述目标运行函数的回滚函数对所述目标运行函数的执行结果进行回滚。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于百度在线网络技术(北京)有限公司,未经百度在线网络技术(北京)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810778243.6/1.html,转载请声明来源钻瓜专利网。