预言机Truora学习笔记4--预言机合约分析

1 Fiscobcos预研机工作原理

预言机工作过程中分为用户方和运营方。
运营方在链上部署核心的预言机合约,链下部署预言机事件监听服务程序,并提供常见的可靠数据源。
用户负责编写应用端合约,发出请求,读取结果。
获取链下API原理图:
获取链上可验证随机数(VRF):

2 整体流程

用户发起调用后,继承于FiscoOracleClient的应用端合约会调用 OracleCore 合约,此时会发起一个事件。Truora-Service 监听到事件后, 会从事件信息中取出以下几个信息字段:
* 请求编号(唯一)
* 请求地址和数据解析格式(URL)
* 倍数(防止小数,solidity 不支持浮点数)
* 返回值类型(支持 string,int256, bytes三种)
Truora-Service 获取到数据后,对 URL 发起一个 HTTP 调用,获取到数据,对数据按照解析格式进行处理,然后再调用 OracleCore 合约,根据请求编号将结果上传到链上,提供给其他合约来获取。
长安链的架构图:
  • 用户在智能合约中调用预言机智能合约中的请求方法,预言机智能合约校验相应参数,发送相应的链事件
  • 预言机服务监听到链上取数据事件,根据合约中指定的取数据配置,进行数据的获取
  • 预言机服务将取到数据通过调用预言机智能合约方法来将数据回传,预言机智能合约通过回调用户智能合约告知用户数据取到,用户合约做相应业务处理即可。

3 预言机合约架构

Truora的合约架构图, 采用了接口--抽象合约--应用合约模式。
用户请求数据流程图:
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值