一种区块链智能合约的生效方法及装置制造方法及图纸

技术编号:21302132 阅读:35 留言:0更新日期:2019-06-12 08:36
本发明专利技术实施例公开一种区块链智能合约的生效方法及装置。其中,所述方法包括:接收智能合约调用请求;根据所述智能合约调用请求获取最新版本的智能合约的合约地址,并根据所述最新版本的智能合约的合约地址获得对应的最新版本的智能合约的生效状态;其中,所述最新版本的智能合约的生效状态是预先获得的,与所述最新版本的智能合约的合约地址对应;若判断获知所述生效状态为合约生效,则确定最新版本的智能合约生效;获取所述最新版本的智能合约并执行。所述装置用于执行上述方法。本发明专利技术实施例提供的区块链智能合约的生效方法及装置,保证了最新版本的智能合约在不同区块链节点分别执行的准确性。

An Effective Method and Device of Block Chain Intelligent Contract

The embodiment of the present invention discloses an effective method and device for block chain intelligent contract. The method includes: receiving the intelligent contract call request; obtaining the contract address of the latest version of the intelligent contract according to the intelligent contract call request, and obtaining the validity status of the corresponding latest version of the intelligent contract according to the contract address of the latest version of the intelligent contract; where the validity status of the latest version of the intelligent contract is obtained in advance, and The contract address of the latest version of the smart contract corresponds to that of the smart contract; if it is judged that the said effective state is the effective state of the contract, the latest version of the smart contract is determined to be effective; and the latest version of the smart contract is acquired and executed. The device is used to perform the above method. The effective method and device of the block chain intelligent contract provided by the embodiment of the present invention ensure the accuracy of the latest version of the intelligent contract to be executed separately in different block chain nodes.

【技术实现步骤摘要】
一种区块链智能合约的生效方法及装置
本专利技术实施例涉及区块链
,具体涉及一种区块链智能合约的生效方法及装置。
技术介绍
区块链技术是利用块链式数据结构来验证与存储数据、利用分布式节点共识算法来生成和更新数据并维护其在节点间的一致性、利用密码学的方式保证数据传输和访问的安全、利用由自动化脚本代码组成的智能合约来编程和操作数据的一种分布式基础架构与计算范式。智能合约由区块链内的多个用户共同参与制定,可用于用户之间的任何交易行为。基于区块链技术的智能合约不仅可以发挥智能合约在成本效率方面的优势,而且可以避免恶意行为对合约正常执行的干扰。将智能合约以数字化的形式写入区块链中,由区块链技术的特性保障存储、读取、执行整个过程透明可跟踪、不可攥改。同时,由区块链自带的共识算法构建出一套状态机系统,使得智能合约能够高效地运行。智能合约一旦部署就无法进行修改,而在某些情况下需要对已经部署的智能合约进行修改,例如发现智能合约的漏洞或者业务逻辑变更,就需要部署新版本的智能合约,对原有的智能合约进行升级。现有技术中,能够在所有需要的节点部署新版本的智能合约,新版本的智能合约在部署完成之后是即时生效的,无法保证新版本的智能合约在部署完成后在各个节点生效的同步,会出现有的节点执行升级后的智能合约,有的节点执行升级前的智能合约,导致数据错乱。因此,如何提出一种区块链智能合约的生效方法,以保证智能合约执行的准确性成为业界亟待解决的重要课题。
技术实现思路
针对现有技术中的缺陷,本专利技术实施例提供一种区块链智能合约的生效方法及装置。一方面,本专利技术实施例提供一种区块链智能合约的生效方法,包括:接收智能合约调用请求;根据所述智能合约调用请求获取最新版本的智能合约的合约地址,并根据所述最新版本的智能合约的合约地址获得对应的最新版本的智能合约的生效状态;其中,所述最新版本的智能合约的生效状态是预先获得的,与所述最新版本的智能合约的合约地址对应;若判断获知所述生效状态为合约生效,则确定最新版本的智能合约生效;获取所述最新版本的智能合约并执行。另一方面,本专利技术实施例提供一种区块链智能合约的生效装置,包括:接收模块,用于接收智能合约调用请求;第一获得模块,用于根据所述智能合约调用请求获取最新版本的智能合约的合约地址,并根据所述最新版本的智能合约的合约地址获得对应的最新版本的智能合约的生效状态;其中,所述最新版本的智能合约的生效状态是预先获得的,与所述最新版本的智能合约的合约地址对应;第一判断模块,用于在判断获知所述生效状态为合约生效之后,确定调用最新版本的智能合约;第一执行模块,用于获取所述最新版本的智能合约并执行。再一方面,本专利技术实施例提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述任一实施例所述的区块链智能合约的生效方法的步骤。又一方面,本专利技术实施例提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述任一实施例所述的区块链智能合约的生效方法的步骤。本专利技术实施例提供的区块链智能合约的生效方法及装置,由于能够通接收智能合约调用请求,根据智能合约调用请求获最新版本的取智能合约的合约地址,并根据最新版本的智能合约的合约地址获得对应的最新版本的智能合约的生效状态,最新版本的智能合约的生效状态是预先获得的,在判断获知生效状态为合约生效之后,确定最新版本的智能合约生效,获取最新版本的智能合约并执行,使处于生效状态的最新版本的智能合约被执行,保证了最新版本的智能合约在不同区块链节点分别执行的准确性。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术一实施例提供的区块链智能合约的生效方法的流程示意图;图2为本专利技术另一实施例提供的区块链智能合约的生效方法的流程示意图;图3为本专利技术再一实施例提供的区块链智能合约的生效方法的流程示意图;图4为本专利技术又一实施例提供的区块链智能合约的生效方法的流程示意图;图5为本专利技术一实施例提供的区块链智能合约的生效装置的结构示意图;图6为本专利技术另一实施例提供的区块链智能合约的生效装置的结构示意图;图7为本专利技术又一实施例提供的区块链智能合约的生效装置的结构示意图;图8为本专利技术再一实施例提供的区块链智能合约的生效装置的结构示意图;图9为本专利技术一实施例提供的电子设备的实体结构示意图。具体实施方式为使本专利技术的目的、技术方案和优点更加清楚,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。图1为本专利技术一实施例提供的区块链智能合约的生效方法的流程示意图,如图1所示,本专利技术实施例提供的区块链智能合约的生效方法,包括:S101、接收智能合约调用请求;具体地,在对区块链的各个节点部署的智能合约进行升级,获得最新版本的智能合约之后,各个所述节点的区块链智能合约的生效装置(以下简称生效装置)会存储所述最新版本的智能合约。所述节点的客户端可以发送智能合约调用请求给所述生效装置,所述生效装置会接收所述智能合约调用请求。其中,所述节点是在区块链中进行交易和数据交换的网络节点,可以采用服务器实现。S102、根据所述智能合约调用请求获取最新版本的智能合约的合约地址,并根据所述最新版本的智能合约地址获得对应的最新版本的智能合约的生效状态;其中,所述最新版本的智能合约的生效状态是预先获得的,与所述最新版本的智能合约的合约地址对应;具体地,所述生效装置在接收到所述智能合约调用请求之后,可以根据所述智能合约调用请求获得最新版本的智能合约的合约地址,然后根据所述最新版本的智能合约的合约地址获得对应的最新版本的智能合约的生效状态。所述生效状态包括合约生效和合约未生效两种状态,所述合约生效表示当前节点满足所述最新版本的智能合约生效条件,可以执行与所述最新版本的智能合约生效条件对应的最新版本的智能合约,所述合约未生效表示所述当前节点不满足所述最新版本的智能合约生效条件,不能执行与所述最新版本的智能合约生效条件对应的最新版本的智能合约。其中,所述当前节点是指接收所述智能合约调用请求的服务器所在的节点;所述最新版本的智能合约的生效状态是预先获得的,所述最新版本的智能合约的生效状态与最新版本的智能合约的合约地址对应。例如,所述智能合约调用请求包括所述最新版本的智能合约的合约地址,所述生效装置接收到所述智能合约调用请求,即可从接收到的所述智能合约调用请求中获得所述最新版本的智能合约的合约地址。或者,所述智能合约调用请求包括路由合约地址和智能合约的地址标识,所述路由合约地址与所述智能合约的地址映射表对应,所述智能合约的地址映射表中包括至少一个智能合约的地址标识以及与所述智能合约的地址标识一一对应的最新版本的智能合约的合约地址。所述生效装置可以根据所述路由合约地址本文档来自技高网...

【技术保护点】
1.一种区块链智能合约的生效方法,其特征在于,包括:接收智能合约调用请求;根据所述智能合约调用请求获取最新版本的智能合约的合约地址,并根据所述最新版本的智能合约的合约地址获得对应的最新版本的智能合约的生效状态;其中,所述最新版本的智能合约的生效状态是预先获得的,与所述最新版本的智能合约的合约地址对应;若判断获知所述生效状态为合约生效,则确定最新版本的智能合约生效;获取所述最新版本的智能合约并执行。

【技术特征摘要】
1.一种区块链智能合约的生效方法,其特征在于,包括:接收智能合约调用请求;根据所述智能合约调用请求获取最新版本的智能合约的合约地址,并根据所述最新版本的智能合约的合约地址获得对应的最新版本的智能合约的生效状态;其中,所述最新版本的智能合约的生效状态是预先获得的,与所述最新版本的智能合约的合约地址对应;若判断获知所述生效状态为合约生效,则确定最新版本的智能合约生效;获取所述最新版本的智能合约并执行。2.根据权利要求1所述的方法,其特征在于,还包括:若判断获知所述生效状态为合约未生效,则根据所述最新版本的智能合约的合约地址获得最新版本的智能合约生效条件;其中,所述最新版本的智能合约生效条件是预设的,与所述最新版本的智能合约的合约地址对应;若判断获知当前节点满足所述最新版本的智能合约生效条件,则确定所述最新版本的智能合约生效;获取所述最新版本的智能合约并执行。3.根据权利要求2所述的方法,其特征在于,还包括:若判断获知所述当前节点不满足所述最新版本的智能合约生效条件,则确认调用所述最新版本的智能合约升级前的智能合约;获取所述升级前的智能合约并执行。4.根据权利要求1所述的方法,其特征在于,所述最新版本的智能合约的生效状态的获取步骤如下:定期检测获得节点的状态参数,所述状态参数是预设的;根据所述节点的状态参数以及与所述状态参数对应的最新版本的智能合约生效条件,判断所述节点是否满足与所述状态参数对应的最新版本的智能合约生效条件;其中,所述最新版本的智能合约生效条件是预设的,与所述最新版本的智能合约对应;根据所述节点是否满足与所述状态参数对应的最新版本的智能合约生效条件的判断结果,获得与所述最新版本的智能合约的合约地址对应的最新版本的智能合约的生效状态。5.一种区块链智能合约的生效装置,其特征在于,包括:接收模块,用于接收智能合约调用请求;第一获得模块,用于根据所述智能合约调用请求获取最新版本的智能合约的合约地址,并根据所述最新版本的智能合约的合约地址获得对应的最新版本的智能合约的生效状态;其中,所述最新版本的智能合约的生效状态是预先获得的...

【专利技术属性】
技术研发人员:吴锋海郭洪昌刘胜殷舒徐加明赵树伟
申请(专利权)人:联动优势科技有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1