Chainlink预言机基本原理(三)

本文通过Chainlink的TestnetConsumer合约中requestEthereumPrice方法,详细解析了请求响应模式下预言机的工作流程。从调用API获取ETH/USD价格,到请求的发送、接收、处理及结果反馈,全面展示了预言机如何连接链上链下数据。

Part1
Part2在这里插入图片描述
我们以Chainlink提供的TestnetConsumer合约中的一个requestEthereumPrice 方法为例来简单讲一下请求响应的流程。这个函数定义如下:

    function requestEthereumPrice(address _oracle, string _jobId)
        public
        onlyOwner
      {
        Chainlink.Request memory req = buildChainlinkRequest(stringToBytes32(_jobId), this, this.fulfillEthereumPrice.selector);
        req.add("get", "https://min-api.cryptocompare.com/data/price?fsym=ETH&tsyms=USD");
        req.add("path", "USD");
        req.addInt("times", 100);
        sendChainlinkRequestTo(_oracle, req, ORACLE_PAYMENT);
      }

它所实现的功能就是从指定的API(cryptocompare)获取ETH/USD的交易价格。函数传入的参数是指定的oracle地址和jobId。将一些列的请求参数组好后,调用sendChainlinkRequestTo 方法将请求发出。sendChainlinkRequestTo是定义在Chainlink提供的库中

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值