1.一种基于区块链预言机的业务处理方法,包括:
响应于业务方针对目标业务发起的外部数据获取请求,业务智能合约调用预言机智能合约的请求方法,以将基于该请求方法构造的请求信息发送给预言机智能合约,所述请求信息中至少携带有请求地址、回调地址和回调方法;
所述预言机智能合约为接收到的所述请求信息生成唯一性标识,并对应保存在本地,同时,将所述唯一性标识发送给所述业务智能合约,以便所述业务智能合约将该唯一性标识与所述目标业务对应保存;
数据采集终端在监听到所述预言机智能合约上的请求信息时,基于所述请求信息中的请求地址获取外部数据,并将所述外部数据和对应所述请求信息的唯一性标识构造成交易发送给所述预言机智能合约;
所述预言机智能合约根据交易中的唯一性标识查找相应的回调地址,并基于相应的回调方法将交易中的外部数据和唯一性标识返回给所述业务智能合约;
所述业务智能合约根据接收的回调结果中唯一性标识,使用所述外部数据执行相对应的目标业务。
2.如权利要求1所述的方法,所述数据采集终端记录有每次请求时的应用程序接口api查询记录,所述api查询记录至少包括:请求地址、请求结果、请求耗时;
则在数据采集终端将交易发送给预言机智能合约之后,所述方法还包括:
监管终端从链上获取请求信息和返回的外部数据,并基于api查询记录对数据进行审计。
3.如权利要求1所述的方法,所述请求地址为https的加密请求链接地址。
4.如权利要求1所述的方法,所述数据采集终端由可信的第三方运维,且在链上无直接业务参与。
5.如权利要求1-4任一项所述的方法,所述目标业务为基于区块链智能合约实现的公平游戏业务,相应地,所获取的外部数据为链外生成的随机数。
6.如权利要求1-4任一项所述的方法,所述目标业务为基于区块链智能合约实现的金融业务,相应地,所获取的外部数据为链外金融产品衍生的资产信息,所述资产信息至少包含:汇率、股票、利率、保证金。
7.一种基于区块链预言机的业务处理系统,包括:区块链上的业务智能合约、预言机智能合约,以及链外的数据采集终端;其中,
所述业务智能合约,响应于业务方针对目标业务发起的外部数据获取请求,调用预言机智能合约的请求方法,以将基于该请求方法构造的请求信息发送给预言机智能合约,所述请求信息中至少携带有请求地址、回调地址和回调方法;
所述预言机智能合约,为接收到的所述请求信息生成唯一性标识,并对应保存在本地,同时,将所述唯一性标识发送给所述业务智能合约,以便所述业务智能合约将该唯一性标识与所述目标业务对应保存;
所述数据采集终端,在监听到所述预言机智能合约上的请求信息时,基于所述请求信息中的请求地址获取外部数据,并将所述外部数据和对应所述请求信息的唯一性标识构造成交易发送给所述预言机智能合约;
所述预言机智能合约,根据交易中的唯一性标识查找相应的回调地址,并基于相应的回调方法将交易中的外部数据和唯一性标识返回给所述业务智能合约;
所述业务智能合约,根据接收的回调结果中唯一性标识,使用所述外部数据执行相对应的目标业务。
8.如权利要求7所述的系统,所述数据采集终端记录有每次请求时的应用程序接口api查询记录,所述api查询记录至少包括:请求地址、请求结果、请求耗时;则所述系统还包括:监管终端;
所述监管终端,在数据采集终端将交易发送给预言机智能合约之后,从链上获取请求信息和返回的外部数据,并基于api查询记录对数据进行审计。
9.如权利要求7所述的系统,所述请求地址为https的加密请求链接地址。
10.如权利要求7所述的系统,所述数据采集终端由可信的第三方运维,且在链上无直接业务参与。