智能合约处理方法及系统、监听设备及存储介质技术方案

技术编号:19142814 阅读:18 留言:0更新日期:2018-10-13 09:04
本发明专利技术公开了一种智能合约处理方法,用于执行交易链与合约链之间的跨链通信,包括监听交易链的节点是否发生智能合约调用;若是,则将所述智能合约调用发送至合约链相应的合约地址。本发明专利技术公开的智能合约处理方法通过设置监听节点来监听和转发交易链与合约链之间的交易信息,分担了交易链节点的运行压力,交易链的节点只需要与本链中的其他节点以及监听节点保持连接,而由监听节点负责处理交易链和合约链的交易信息,有效地降低了交易链节点的工作负荷,提升了整块区域链系统的运行处理能力,提升了区块链系统向外扩展的能力。本发明专利技术还公开一种监听设备、一种智能合约处理系统以及一种计算机可读存储介质。

Intelligent contract processing method and system, monitoring device and storage medium

An intelligent contract processing method is disclosed for performing cross-link communication between a transaction chain and a contract chain, including monitoring whether an intelligent contract call occurs at a node of the transaction chain; if so, the intelligent contract call is sent to the corresponding contract address of the contract chain. The intelligent contract processing method disclosed in the invention monitors and forwards the transaction information between the transaction chain and the contract chain by setting a monitoring node, and shares the operation pressure of the transaction chain node. The node of the transaction chain only needs to keep the connection with other nodes in the chain and the monitoring node, and the monitoring node is responsible for processing the transaction chain. And the transaction information of the contract chain effectively reduces the workload of the transaction chain nodes, improves the operation and processing capacity of the whole regional chain system, and enhances the ability of the block chain system to expand outward. The invention also discloses a monitoring device, an intelligent contract processing system and a computer readable storage medium.

【技术实现步骤摘要】
智能合约处理方法及系统、监听设备及存储介质
本专利技术涉及区块链
,尤其涉及一种智能合约处理方法、一种智能合约处理系统、一种监听设备以及一种计算机可读存储介质。
技术介绍
同构区块链跨链通常需要涉及跨链通信的处理,原有技术方案采用的方法是由区块链的记账节点在本链记录下区块后,向目标链的记账节点进行转发,这样的方式实现起来比较容易,然而也会面临一些问题:1.工作负担重,记账节点在进行区块记账共识的同时,还需要负责跨链交易的转发,这样会很大程度上增加记账节点的工作负荷,存在降低运行效率的风险,使记账节点的处理能力成为整个系统的运行瓶颈,以至于降低整体区块链系统的处理能力;2.通信压力大,转发跨链交易需要记账节点维护与其他所有潜在跨链对象的通信连接,这种方式在跨链潜在对象较少的情况下影响不大,但当区块链系统足够庞大时,同时维护若干个区块链中各个记账节点,通信连接将会是巨大的负担,这也将降低区块链的处理能力,限制区块链横向扩展的能力。
技术实现思路
为了克服现有技术的不足,本专利技术的目的之一公开一种智能合约处理方法,目的之二公开一种监听设备,目的之三公开一种智能合约处理系统,目的之四公开一种计算机可读存储介质,用以解决交易链的记帐节点处理量大、工作负荷重,导致降低了整个区块链系统的运行处理能力的问题。本专利技术的目的之一采用如下技术方案实现:一种智能合约处理方法,用于执行交易链与合约链之间的跨链通信,包括:监听交易链的节点是否发生智能合约调用;若是,则将所述智能合约调用发送至合约链相应的合约地址。优选地,所述智能合约处理方法还包括判断由所述智能合约调用产生的合约链账户交易是否在所述合约链中被打包进新的区块,若所述合约链账户交易被打包进新的区块,判定所述合约链账户交易成功。优选地,判定所述合约链账户交易成功后,将由所述智能合约调用产生的交易链账户交易在所述交易链中打包进新的区块。优选地,若所述合约链账户交易未被打包进新的区块,判断发送所述智能合约调用是否已经超过预设时长,若超过预设时长,则重新发送所述智能合约调用。优选地,将所述智能合约调用发送至合约链之前,对所述智能合约调用进行鉴权。优选地,将所述智能合约调用发送至合约链之前,将所述智能合约调用缓存至本地,若所述合约链账户交易被打包进新的区块,删除本地缓存。优选地,所述智能合约处理方法还包括所述智能合约处理方法接收第一信息,所述第一信息表示合约链判断所述智能合约调用成功。优选地,所述智能合约处理方法还包括所述智能合约处理方法接收第二信息,所述第二信息表示合约链判断所述智能合约调用失败。本专利技术的目的之二采用如下技术方案实现:一种监听设备,包括处理器和用于存储所述处理器可执行指令的存储器,其中,处理器被配置为运行存储于存储器中的指令后执行如所述智能合约处理方法中所述的步骤。本专利技术的目的之三采用如下技术方案实现:一种智能合约处理系统,包括交易链、合约链,交易链中包括至少一个第一记帐节点设备及如上所述的监听设备,合约链包括至少一个第二记帐节点设备。本专利技术的目的之四采用如下技术方案实现:一种计算机可读存储介质,所述计算机可读存储介质耦接到处理器,且所述计算机可读存储介质存储有所述处理器可执行的指令,当所述处理器运行该指令时,使得所述处理器执行如本专利技术目的之一的技术方案中所述的步骤。相对于现有技术,本专利技术的有益效果在于:本专利技术提供的智能合约处理方法通过设置监听节点来监听和转发交易链与合约链之间的交易信息,分担了交易链记帐节点的运行压力,交易链的记帐节点只需要与本链中的其他记帐节点以及监听节点保持连接,而由监听节点负责处理交易链和合约链的交易信息,有效地降低了交易链记帐节点的工作负荷,降低了节点的耦合度,提升了整块区域链系统的运行处理能力,提升了区块链系统向外扩展的能力。附图说明图1为本专利技术的实施例一提供的智能合约处理方法的流程示意图;图2为本专利技术的实施例二提供的智能合约处理方法的流程示意图;图3为本专利技术的实施例三提供的监听设备的结构示意图;图4为本专利技术的实施例四提供的智能合约处理系统的结构示意图。具体实施方式下面,结合附图以及具体实施方式,对本专利技术做进一步描述,需要说明的是,在不相冲突的前提下,以下描述的各实施例之间或各技术特征之间可以任意组合形成新的实施例。实施例一:请参阅图1,本专利技术的实施例一提供一种智能合约处理方法,用于执行交易链与合约链之间的跨链通信,该智能合约处理方法方法包括以下步骤:步骤S11,监听交易链的节点是否发生智能合约调用;本专利技术实施例中,在区块链中将智能合约的合约部署方帐户和调用方帐户分设在交易链和合约链中进行记录。智能合约的部署在合约链中进行,智能合约的调用先进入交易链,并在交易链和合约链中分别进行记录。交易链中包括多个记账节点设备和监听设备,合约链中包括多个记帐节点设备。较佳地,交易链中的监听设备实时监听交易链中的智能合约调用事件,所述监听设备可以依据监听到的当前区块链中的记帐节点设备的广播消息判断交易链中是否存在新的智能合约调用。智能合约调用中包括合约部署方帐户信息(如合约地址)、合约调用方帐户及合约调用代码。步骤S12,若是,则将所述智能合约调用发送至合约链相应的合约地址。若所述监听设备监听到交易链中出现了新的智能合约调用,依据智能合约调用中的合约部署方帐户信息,将所述智能合约调用发送至合约链相应的合约地址。较佳的,若监听设备监听到交易链中出现了新的智能合约调用,则对该智能合约调用进行验证,若该智能合约调用为合法用户发起的且包含的交易信息合法未经篡改,则验证通过,并可对该智能合约进行签名后,将其发送到合约链相应的合约地址。该智能合约处理方法通过在智能合约的交易链中设置监听节点来监听和转发交易链与合约链之间的交易信息,分担了交易链记帐节点的运行压力,交易链的记帐节点只需要与本链中的其他节点以及监听节点保持连接,而由监听节点负责处理交易链和合约链的交易信息,有效地降低了交易链记帐节点的工作负荷,提升了整块区域链系统的运行处理能力,提升了区块链系统向外扩展的能力。实施例二:请参阅图2,本专利技术实施例二提供的智能合约处理方法包括:步骤S21,监听设备对交易链的记帐节点进行监听。具体地,监听设备可以监听交易链中各记帐节点的广播消息。步骤S22,判断交易链的记帐节点中是否存在智能合约调用,若交易链的记帐节点存在智能合约调用,执行步骤S23,若交易链的记帐节点没有发生智能合约调用,则监听设备继续对交易链的记帐节点进行监听。步骤S23,监听设备对该智能合约调用进行鉴权并将该智能合约调用缓存进本地。通过将智能合约调用缓存至本地可以防止由于通信或者其他技术问题导致智能合约调用转发不成功时,可以依据缓存至本地的信息再次转发智能合约调用,保证交易的正常进行。较佳的,在对该智能合约调用进行缓存前,监听设备通过鉴权对该智能合约调用进行验证,若该智能合约调用为合法用户发起的且包含的交易信息合法未经篡改,则验证通过,将该智能合约调用缓存进本地;若验证不通过,拒绝智能合约调用的转发。步骤S24,监听设备将该智能合约调用发送至合约链相应的合约地址。步骤S25,合约链的记帐节点判断监听设备发送的智能合约调用是否成功,若成功,则将该智能合约调用产生的合约链账户交易打包进新的区块本文档来自技高网...

【技术保护点】
1.一种智能合约处理方法,用于执行交易链与合约链之间的跨链通信,其特征在于,包括:监听交易链的节点是否发生智能合约调用;若是,则将所述智能合约调用发送至合约链相应的合约地址。

【技术特征摘要】
1.一种智能合约处理方法,用于执行交易链与合约链之间的跨链通信,其特征在于,包括:监听交易链的节点是否发生智能合约调用;若是,则将所述智能合约调用发送至合约链相应的合约地址。2.根据权利要求1所述的智能合约处理方法,其特征在于,还包括:判断由所述智能合约调用产生的合约链账户交易是否在所述合约链中被打包进新的区块,若所述合约链账户交易被打包进新的区块,判定所述合约链账户交易成功。3.根据权利要求2所述的智能合约处理方法,其特征在于:判定所述合约链账户交易成功后,将所述智能合约调用产生的交易链账户交易在所述交易链中打包进新的区块。4.根据权利要求2所述的智能合约处理方法,其特征在于:若所述合约链账户交易未被打包进新的区块,判断发送所述智能合约调用是否已经超过预设时长,若超过预设时长,则重新发送所述智能合约调用。5.根据权利要求1所述的智能合约处理方法,其特征在于:将所述智能合约调用发送至合约链之前,对所述智能合约调用进行鉴权。6.根据权利要求2所述的智能合约处理方法,其特征在于:将所述智能...

【专利技术属性】
技术研发人员:刘智群
申请(专利权)人:深圳市网心科技有限公司
类型:发明
国别省市:广东,44

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

1