gpt4 book ai didi

javascript - 每次单击 "getLatestPrice"按钮时,如何更新某些 ChainLink 聚合器提供的数据?

转载 作者:行者123 更新时间:2023-12-04 12:32:01 26 4
gpt4 key购买 nike

这是我第一次在 Remix 上部署合约以及学习如何在 Solidity 上编码。

我已经读过这个 guide并成功部署了提供的智能合约模板:

pragma solidity ^0.6.7;

import "@chainlink/contracts/src/v0.6/interfaces/AggregatorV3Interface.sol";

contract PriceConsumerV3 {

AggregatorV3Interface internal priceFeed;

/**
* Network: Kovan
* Aggregator: BTC/USD
* Address: 0x6135b13325bfC4B00278B4abC5e20bbce2D6580e
*/
constructor() public {
priceFeed = AggregatorV3Interface(0x6135b13325bfC4B00278B4abC5e20bbce2D6580e);
}

/**
* Returns the latest price
*/
function getThePrice() public view returns (int) {
(
uint80 roundID,
int price,
uint startedAt,
uint timeStamp,
uint80 answeredInRound
) = priceFeed.latestRoundData();
return price;
}
}

但是,我认为在部署上面的模板之后,每当我点击 getLatestPrice button这样一对的价格会立即更新,我错了,第一次点击后价格实际上变得“卡住”。

所以,我想知道在上面的模板中必须输入什么才能实现该目标

此外,我尝试打印 timeStamp通过输入 return timeStamp;正下方 return price;但是在编译时,Remix 编译器回答:

TypeError: Return argument type uint256 is not implicitly convertible to expected type (type of first return variable) int256. return timeStamp; ^-------^

所以,出于好奇,我如何将 uint256 变量转换为 int256 变量以获得每个更新价格的时间戳(每次我点击 getLatestPrice button)?

感谢阅读

最佳答案

喂价合约实际上由一组 Chainlink 节点独立更新,您的合约只是从该合约中读取数据。

当您调用 getLatestPrice 时,它实际上只是从该契约(Contract)中读取数据。

此外,喂价合约会根据特定的阈值和偏差进行更新。尤其是在测试网上,它们的更新非常零星。


如果你能为你的 TypeError 提出一个单独的问题,那将是理想的,谢谢!

关于javascript - 每次单击 "getLatestPrice"按钮时,如何更新某些 ChainLink 聚合器提供的数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68417684/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com