一种智能合约交互方法、装置和电子设备制造方法及图纸

技术编号:30639521 阅读:16 留言:0更新日期:2021-11-04 00:31
本发明专利技术涉及计算机技术领域,具体涉及一种智能合约交互方法、装置和电子设备,包括:建立与以太坊网络节点的连接;根据业务分类对所述以太坊网络节点部署相对应的业务智能合约;获取多个业务请求信息;对所述多个业务请求信息进行分类,并将分类后的所述多个业务请求信息写入消息队列;对分类后的所述多个业务请求信息与所述业务智能合约进行关联;将与所述业务智能合约相对应关联的业务请求信息广播至其他以太坊网络节点,当接收到其他以太坊网络节点确认后执行所述业务智能合约。本发明专利技术通过业务系统的区块链请求,进行统一的区块链网络调用,整体请求包作为一个事务进行统一管理,提高了区块链对分类业务的处理效率。高了区块链对分类业务的处理效率。高了区块链对分类业务的处理效率。

【技术实现步骤摘要】
一种智能合约交互方法、装置和电子设备


[0001]本专利技术涉及计算机
,尤其涉及一种智能合约交互方法、装置和电子设备。

技术介绍

[0002]以太坊区块链网络是一种按照时间顺序将数据区块以链条的方式组合成特定数据结构,并以密码学方式保证的不可篡改和不可伪造的去中心化共享总账,能够安全存储简单的、有先后关系的、能在系统内验证的数据。
[0003]智能合约是一种自我执行的合同,它具有可遵循的编程协议,并部署在公共区块链上,智能合约可以在满足合同要求时存储价值并执行转让。它的特点是不可变,防篡改,防骗,公平,公正,完全透明。它严格按照合同的预先规定,它是100%去中心化的意思,没有中心点,如公司或权威控制合同。它无法停止,也无法关闭,您也无法被程序禁止智能合约算法可以执行的操作没有限制,智能合约只是执行在满足合同要求时编程执行的操作,而无需第三方或人工干预。
[0004]现有技术中,每次的区块链网络调用到请求完成,和传统中心化系统相比速度都慢了几十倍上百倍,并且由于区块链的特点,在做与区块链交互的业务系统的时候,比如基于Nodejs的web3工具编写与以太坊的智能合约交互,我们会经常使用Promise等异步机制与区块链交互,但是往往会导致不一致性问题,后续处理极其麻烦。

技术实现思路

[0005]本专利技术提供了一种智能合约交互方法、装置和电子设备,用以进行统一的区块链网络调用,整体请求包作为一个事务进行统一管理,提高了区块链对分类业务的处理效率。
[0006]本说明书实施例提供一种智能合约交互方法,包括:
[0007]建立与以太坊网络节点的连接;
[0008]根据业务分类对所述以太坊网络节点部署相对应的业务智能合约;
[0009]获取多个业务请求信息;
[0010]对所述多个业务请求信息进行分类,并将分类后的所述多个业务请求信息写入消息队列;
[0011]对分类后的所述多个业务请求信息与所述业务智能合约进行关联;
[0012]将与所述业务智能合约相对应关联的业务请求信息广播至其他以太坊网络节点,当接收到其他以太坊网络节点确认后执行所述业务智能合约。
[0013]优选的,所述通过所述根据业务分类对所述以太坊网络节点部署相对应的业务智能合约,包括:
[0014]根据业务分类创建业务智能合约,对所述业务智能合约进行编译;
[0015]对编译后的所述业务智能合约部署至所述以太坊网络节点;
[0016]基于所述以太坊网络节点的确认,完成所述业务智能合约部署。
[0017]优选的,所述获取多个业务请求信息,包括:
[0018]多次获取业务请求信息;
[0019]通过转出的地址相对应的私钥对所述业务请求信息进行签名;
[0020]对签名的所述业务请求信息进行验证,得到通过验证的所述业务请求信息。
[0021]优选的,所述对签名的所述业务请求信息进行验证,包括:
[0022]判断所述业务请求信息的签名是否处于有效时间段;
[0023]当所述业务请求信息的签名处于有效时间段,则验证成功;
[0024]当所述业务请求信息的签名不处于有效时间段,则验证失败。
[0025]优选的,所述对分类后的所述多个业务请求信息与所述业务智能合约进行关联,包括:
[0026]读取所述消息队列中分类后的所述多个业务请求信息;
[0027]对读取的所述多个业务请求信息与所述业务智能合约进行关联。
[0028]优选的,对读取的所述多个业务请求信息与所述业务智能合约进行关联,包括:
[0029]当读取的所述多个业务请求信息与所述业务智能合约关联失败,则拒绝所述多个业务请求信息相对应的业务请求。
[0030]本说明书实施例还提供一种智能合约交互装置,包括:
[0031]节点连接模块,建立与以太坊网络节点的连接;
[0032]智能合约部署模块,根据业务分类对所述以太坊网络节点部署相对应的业务智能合约;
[0033]信息获取模块,获取多个业务请求信息;
[0034]信息分类模块,对所述多个业务请求信息进行分类,并将分类后的所述多个业务请求信息写入消息队列;
[0035]智能合约关联模块,对分类后的所述多个业务请求信息与所述业务智能合约进行关联;
[0036]智能合约执行模块,将与所述业务智能合约相对应关联的业务请求信息广播至其他以太坊网络节点,当接收到其他以太坊网络节点确认后执行所述业务智能合约。
[0037]优选的,所述通过所述根据业务分类对所述以太坊网络节点部署相对应的业务智能合约,包括:
[0038]根据业务分类创建业务智能合约,对所述业务智能合约进行编译;
[0039]对编译后的所述业务智能合约部署至所述以太坊网络节点;
[0040]基于所述以太坊网络节点的确认,完成所述业务智能合约部署。
[0041]优选的,所述获取多个业务请求信息,包括:
[0042]多次获取业务请求信息;
[0043]通过转出的地址相对应的私钥对所述业务请求信息进行签名;
[0044]对签名的所述业务请求信息进行验证,得到通过验证的所述业务请求信息。
[0045]优选的,所述对签名的所述业务请求信息进行验证,包括:
[0046]判断所述业务请求信息的签名是否处于有效时间段;
[0047]当所述业务请求信息的签名处于有效时间段,则验证成功;
[0048]当所述业务请求信息的签名不处于有效时间段,则验证失败。
[0049]优选的,所述对分类后的所述多个业务请求信息与所述业务智能合约进行关联,
包括:
[0050]读取所述消息队列中分类后的所述多个业务请求信息;
[0051]对读取的所述多个业务请求信息与所述业务智能合约进行关联。
[0052]优选的,对读取的所述多个业务请求信息与所述业务智能合约进行关联,包括:
[0053]当读取的所述多个业务请求信息与所述业务智能合约关联失败,则拒绝所述多个业务请求信息相对应的业务请求。
[0054]一种电子设备,其中,该电子设备包括:
[0055]处理器以及存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行上述任一项所述的方法。
[0056]一种计算机可读存储介质,其中,所述计算机可读存储介质存储一个或多个程序,所述一个或多个程序当被处理器执行时,实现上述任一项所述的方法。
[0057]其有益效果在于:
[0058]本专利技术基于业务系统的区块链请求,进行统一的区块链网络调用,整体请求包作为一个事务进行统一管理,失败整体回滚,成功整体提交。使多个区块链网络请求能够进行一次签名完成交互过程,显著减少了网络请求中签名和验证签名的资源,通过增加前置事务逻辑明显提高了系统与区块链网络的吞吐能力。其中,前置事物逻辑包括对业务请求本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种智能合约交互方法,其特征在于,包括:建立与以太坊网络节点的连接;根据业务分类对所述以太坊网络节点部署相对应的业务智能合约;获取多个业务请求信息;对所述多个业务请求信息进行分类,并将分类后的所述多个业务请求信息写入消息队列;对分类后的所述多个业务请求信息与所述业务智能合约进行关联;将与所述业务智能合约相对应关联的业务请求信息广播至其他以太坊网络节点,当接收到其他以太坊网络节点确认后执行所述业务智能合约。2.如权利要求1所述的一种智能合约交互方法,其特征在于,所述通过所述根据业务分类对所述以太坊网络节点部署相对应的业务智能合约,包括:根据业务分类创建业务智能合约,对所述业务智能合约进行编译;对编译后的所述业务智能合约部署至所述以太坊网络节点;基于所述以太坊网络节点的确认,完成所述业务智能合约部署。3.如权利要求1所述的一种智能合约交互方法,其特征在于,所述获取多个业务请求信息,包括:多次获取业务请求信息;通过转出的地址相对应的私钥对所述业务请求信息进行签名;对签名的所述业务请求信息进行验证,得到通过验证的所述业务请求信息。4.如权利要求3所述的一种智能合约交互方法,其特征在于,所述对签名的所述业务请求信息进行验证,包括:判断所述业务请求信息的签名是否处于有效时间段;当所述业务请求信息的签名处于有效时间段,则验证成功;当所述业务请求信息的签名不处于有效时间段,则验证失败。5.如权利要求1所述的一种智能合约交互方法,其特征在于,所述对分类后的所述多个业务请求信息与所述业务智能合约进行关联,包括:读取所述消息队列中分类后的所述多个业务请求信息;对读取的所述多个业务...

【专利技术属性】
技术研发人员:徐国兴
申请(专利权)人:上海淇玥信息技术有限公司
类型:发明
国别省市:

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

1