如何解决如何从 2 个 URL 获取中值数据
These are 2 urls
api[0] = "https://www.bitstamp.net/api/v2/ticker/ethusd/";
api[1] = "https://api.pro.coinbase.com/products/eth-usd/ticker";
The path for URL 0 is last and the path for URL 1 is price
我希望chainlink节点从这2个网址获取数据(最后和价格)并计算来自2个网址的数据中位数 即中位数 = {last+price)/2; 如何在Chainlink中为这个逻辑编写代码
解决方法
首先,您需要在 Chainlink 文档之后进行 2 个 API 调用。 https://docs.chain.link/docs/make-a-http-get-request/
类似于:
function makeAPICall() public returns (bytes32 requestId)
{
Chainlink.Request memory request = buildChainlinkRequest(jobId,address(this),this.fulfill.selector);
request.add("get","https://min-api.cryptocompare.com/data/pricemultifull?fsyms=ETH&tsyms=USD");
int timesAmount = 10**18;
request.addInt("times",timesAmount);
return sendChainlinkRequestTo(oracle,request,fee);
}
然后,在您的履行功能中,您将采用列表的中位数。
function fulfill(bytes32 _requestId,uint256 _volume) public recordChainlinkFulfillment(_requestId)
{
answers.push(_volume);
// loop through list and take median
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。