[发明专利]一种基于智能合约的预言机调用过程实现方法及装置在审
申请号: | 202011606525.1 | 申请日: | 2020-12-30 |
公开(公告)号: | CN112650605A | 公开(公告)日: | 2021-04-13 |
发明(设计)人: | 邱炜伟;李伟;黄方蕾;张珂杰;胡麦芳 | 申请(专利权)人: | 杭州趣链科技有限公司 |
主分类号: | G06F9/54 | 分类号: | G06F9/54;G06F9/52;G06F21/53 |
代理公司: | 深圳智汇远见知识产权代理有限公司 44481 | 代理人: | 艾青;牛悦涵 |
地址: | 310051 浙江省杭州市*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 智能 合约 预言 调用 过程 实现 方法 装置 | ||
1.一种基于智能合约的预言机调用过程实现方法,其特征在于,包括:由执行器执行的请求调用预言机的步骤和由可信执行环境模块执行的预言机回调的步骤,其中,
所述请求调用预言机的步骤包括:
获取原始交易的预言机调用事件;所述原始交易为含有请求预言机服务的交易,所述预言机调用事件包括:预言机调用请求、请求标识,以及所述原始交易的智能合约的智能合约地址,所述请求标识基于所述预言机调用请求生成且全局唯一;
在所述原始交易写块时,将所述预言机调用事件发送给所述可信执行环境模块;
所述预言机回调的步骤包括:
启动一个定时器并向外部发送基于所述预言机调用请求的数据获取请求;
若在所述定时器走完前收到外部对所述数据获取请求的响应,则构造一笔第一回调交易并发送给所述执行器,以使所述执行器执行所述第一回调交易,进而执行所述原始交易的智能合约的回调逻辑;所述第一回调交易包括请求结果和与所述请求标识对应的相关请求标识。
2.根据权利要求1所述的方法,其特征在于,所述预言机回调的步骤,还包括:
若在所述定时器走完时未收到外部对所述数据获取请求的响应则构造一笔第二回调交易并发送给所述执行器,以使所述执行器执行所述第二回调交易;所述第二回调交易包括超时信息和与所述请求标识对应的相关请求标识。
3.根据权利要求1所述的方法,其特征在于,获取原始交易的预言机调用事件,包括:
执行所述原始交易中智能合约的调用预言机方法,向本地方法发送所述预言机调用请求;
在所述本地方法中为所述预言机调用请求生成所述请求标识,并将所述请求标识存入到账本;
将所述预言机调用请求、所述请求标识,以及所述原始交易的智能合约的智能合约地址打包成所述预言机调用事件,并将所述预言机调用事件存入所述账本中。
4.根据权利要求1至3任一项所述的方法,其特征在于,将所述预言机调用事件发送给所述可信执行环境模块,包括:
发送所述预言机调用事件给事件中心;
所述事件中心将所述预言机调用事件发送给所述可信执行环境模块。
5.根据权利要求1至3任一项所述的方法,其特征在于,所述执行器执行所述第一回调交易,进而执行所述原始交易的智能合约的回调逻辑的过程包括:
对所述第一回调交易进行共识操作;
在所述共识操作通过后,执行所述原始交易的智能合约的内部回调逻辑;
根据所述内部回调逻辑对所述第一回调交易中的相关请求标识进行验证;
若所述第一回调交易中的相关请求标识验证通过,调用所述原始交易的智能合约的回调逻辑并且禁止在所述原始交易的智能合约的回调逻辑中再次调用预言机。
6.一种基于智能合约的预言机调用过程实现装置,其特征在于,包括:执行请求调用预言机步骤的执行器和执行的预言机回调步骤的可信执行环境模块,其中,
所述执行器包括:
获取单元,用于获取原始交易的预言机调用事件;所述原始交易为含有请求预言机服务的交易,所述预言机调用事件包括:预言机调用请求、请求标识,以及所述原始交易的智能合约的智能合约地址,所述请求标识基于所述预言机调用请求生成且全局唯一;
第一发送单元,用于在所述原始交易写块时,将所述预言机调用事件发送给所述可信执行环境模块;
所述可信执行环境模块包括:
第二发送单元,用于启动一个定时器并向外部发送基于所述预言机调用请求的数据获取请求;
构造单元,用于若在所述定时器走完前收到外部对所述数据获取请求的响应,则构造一笔第一回调交易并发送给所述执行器,以使所述执行器执行所述第一回调交易,进而执行所述原始交易的智能合约的回调逻辑;所述第一回调交易包括请求结果和与所述请求标识对应的相关请求标识。
7.根据权利要求6所述的装置,其特征在于,所述构造单元还用于:
若在所述定时器走完时未收到外部对所述数据获取请求的响应则构造一笔第二回调交易并发送给所述执行器,以使所述执行器执行所述第二回调交易;所述第二回调交易包括超时信息和与所述请求标识对应的相关请求标识。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州趣链科技有限公司,未经杭州趣链科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011606525.1/1.html,转载请声明来源钻瓜专利网。