BING
BING

注册于 2021-04-27

江湖只有他的大名,没有他的介绍。

向TA求助
43学分数
84 经验值
0个粉丝

最近动态

2021-05-09 22:07 回答问题

这里提到了预言机,那么遵循预言机的思路就是:

1)如何确保数据源的可信 2)如何确保节点的可信

这可以总结为数据如何上链的问题。如果参考Chainlink的工作模式,可以展开为去中心化预言机网络是如何保证数据是高质量可信安全的。

去中心化就意味着对一个问题的答案需要多个参与方来回答,并通过共识算法来得到最终答案。节点网络之间可以通过P2P算法通信。数据上链有两种可能,一种是分别发布到链上,然后再通过链上的聚合器合约完成数据的聚合,如之前的FluxAggregator模式;另一种是链下聚合

2021-05-09 21:58 回答问题

这个可以参考阅读Chainlink的基本请求架构,这个读懂了,就可以很清楚地知道Chainlink的数据流是如何工作的了。

基本请求模型--单预言机工作模式 · 语雀 (yuque.com)

总体来说,基本请求模型包含链下和链上两个部分,链上是三类智能合约 ,链下是预言机节点

  • ChainlinkClient合约:客户端合约,会作为父类合约被

2021-05-09 21:30 回答问题

关于如何在Heco上使用Chainlink预言机,参考链接:Huobi Eco Chain Price Feeds | Chainlink Documentation

这里是已经完成集成的喂价合约的信息,可以直接在合约中使用。

2021-05-09 21:28 回答问题

以最常用的喂价数据为例,比如主流币种的价格信息,Chainlink是一种去中心化的预言机,是由稳定的节点在支撑的网络。节点的工作是将高质量的链下数据通过共识机制聚合成为一个可信结果,发布上链。在OCR(链下报告)之前,是各个节点将数据分别发布到链上,然后链上聚合,OCR是链下网络通过共识算法聚合之后,发布上链。

在data.chain.link上可以查看所有的喂价信息,点进去单个价格数据后,可以看到数据由多少个节点在维护,以及当前的响应状态。

2021-05-04 23:46 回答问题

在FluxAggregator阶段,每个价格对是节点将数据发布到链上,再链上聚合,所以需要多笔交易。现在逐渐切换到OCR,即数据在链下通过共识算法聚合后,再选择传输节点发布到链上,所以可以看做是链下聚合。

2021-05-03 16:11 回答问题

BSC上的Chainlink喂价合约地址 已经列出了价格对的聚合器合约地址,使用这些地址并配合下面的代码即可。

获取最新的价格


pragma solidity ^0.6.7;

import "@chainlink/contracts/src/v0.

2021-05-03 16:06 回答问题

可以参考本篇:https://www.yuque.com/u2390879/build-with-chainlink/rbpqdv

Chainlink的单节点的工作模式,搭建的节点和部署的预言机合约Oracle是一对一的。

image.png

当客户端合约调用Oracle合约中的onTokenTransfer函数后,Oracle合

2021-05-03 15:58 回答问题

如果要具体解决这个问题,需要你把你搭建的节点上配置的job spec贴出来,补上了APIKEY后测试发现返回的数据格式是:


{
    "Realtime Currency Exchange Rate": {
        "1. From_Currency Code": "BTC",
        "2. From_Currency Name": "Bitcoin",
        "3. To_Currency Code": "USD",
        "4. To_C

2021-05-03 15:34 发起提问

2021-04-28 16:42 关注了问题

2021-04-28 16:42 发起提问

2021-04-28 16:35 回答问题

这个问题可以参考Request and Receive API Data with Chainlink,即使用任意的API章节。

具体需要考虑的因素有,这个数据API返回的数据格式预处理问题,以及是否需要API_KEY的验证,如果需要的话,就需要借助于外部适配器来完成了,关于外部适配器的使用可以参考:[核心功能Demo之四:外部适配器 External Adapters的使用](https

2021-04-28 16:30 回答问题

这个问题看起来是搭建节点时候的配置文件中的chainID设置和infura这里的网络选择不匹配导致的,贴一下自己的.env配置文件看看吧。

2021-04-28 16:28 回答问题

这个问题主要是docker容器和宿主通信有问题。可以参考这篇:Chainlink节点搭建以及合约调用教程:Step by Step )

搭建节点。

2021-04-28 16:23 回答问题

第一个问题中的字段解释,首先需要知道这个函数的定义是下面这个:


function latestRoundData() external view 
    returns (
        uint80 roundId, 
        int256 answer, 
        uint256 startedAt, 
        uint256 updatedAt, 
        uint80 answeredInRound
    )