- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个预言机和 JobID,我想提交给预言机以获取 ETH 价格数据。我已经资助了该节点,并且正在遵循文档。但是,每次我请求价格时,我的 BTC 值都不会更新。契约(Contract)似乎是由 LINK 资助的,我没有收到 gas 错误,但由于某种原因,这个数字不会改变。到底是怎么回事?
solidity
pragma solidity ^0.6.0;
import "github.com/smartcontractkit/chainlink/evm-contracts/src/v0.6/ChainlinkClient.sol";
contract testingData is ChainlinkClient {
address public owner;
uint256 public btc;
address ORACLE = 0xB36d3709e22F7c708348E225b20b13eA546E6D9c;
bytes32 constant JOB = "f9528decb5c64044b6b4de54ca7ea63e";
uint256 constant private ORACLE_PAYMENT = 1 * LINK;
constructor() public {
setPublicChainlinkToken();
owner = msg.sender;
}
function getBTCPrice()
public
onlyOwner
{
Chainlink.Request memory req = buildChainlinkRequest(JOB, address(this), this.fulfill.selector);
req.add("get", "https://www.alphavantage.co/query?function=CURRENCY_EXCHANGE_RATE&from_currency=BTC&to_currency=USD&apikey=xxxx");
string[] memory copyPath = new string[](2);
copyPath[0] = "Realtime Currency Exchange Rate";
copyPath[1] = "5. Exchange Rate";
sendChainlinkRequestTo(ORACLE, req, ORACLE_PAYMENT);
}
function fulfill(bytes32 _requestId, uint256 _price)
public
recordChainlinkFulfillment(_requestId)
{
btc = _price;
}
modifier onlyOwner() {
require(msg.sender == owner);
_;
}
}
最佳答案
您需要为您的工作添加一个乘法适配器。在您的 getBTCPrice()
,添加一行:
run.addInt("times", 100000000);
solidity
pragma solidity ^0.6.0;
import "github.com/smartcontractkit/chainlink/evm-contracts/src/v0.6/ChainlinkClient.sol";
contract testingData is ChainlinkClient {
address public owner;
uint256 public btc;
address ORACLE = 0xB36d3709e22F7c708348E225b20b13eA546E6D9c;
bytes32 constant JOB = "f9528decb5c64044b6b4de54ca7ea63e";
uint256 constant private ORACLE_PAYMENT = 1 * LINK;
constructor() public {
setPublicChainlinkToken();
owner = msg.sender;
}
function getBTCPrice()
public
onlyOwner
{
Chainlink.Request memory req = buildChainlinkRequest(JOB, address(this), this.fulfill.selector);
req.add("get", "https://www.alphavantage.co/query?function=CURRENCY_EXCHANGE_RATE&from_currency=BTC&to_currency=USD&apikey=xxxx");
string[] memory copyPath = new string[](2);
copyPath[0] = "Realtime Currency Exchange Rate";
copyPath[1] = "5. Exchange Rate";
sendChainlinkRequestTo(ORACLE, req, ORACLE_PAYMENT);
}
function fulfill(bytes32 _requestId, uint256 _price)
public
recordChainlinkFulfillment(_requestId)
{
btc = _price;
}
modifier onlyOwner() {
require(msg.sender == owner);
_;
}
}
关于nodes - Chainlink 作业没有返回值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62162134/
我希望 Chainlink Keeper 根据一些参数调用一个函数,所以我的 checkUpkeep 函数如下: function checkUpkeep( bytes calldat
当我将版本更改为 0.8 时出现错误,但在 0.6 中工作正常,我如何查看最新版本? ,我尝试从 npm install @chainlink/contracts --save 下载,但仅适用于模拟模
在 PriceFeed 中获取最新价格的代码是: pragma solidity ^0.6.7; import "@chainlink/contracts/src/v0.6/interfaces/Ag
我正在为 chainlink 训练营做准备,我的 brownie 安装似乎没问题,但是当我尝试 brownie init 时出现错误,即使我以管理员身份运行并指定了文件。请参阅下面的链接以获取屏幕截图
我一直在学习 Chainlink API 并尝试构建一个简单的合约,该合约将对 API 进行外部调用并根据 Oracle 的请求结果向用户收费。 例如,“如果 API 结果为 true,我们将向您收取
我有一个预言机和 JobID,我想提交给预言机以获取 ETH 价格数据。我已经资助了该节点,并且正在遵循文档。但是,每次我请求价格时,我的 BTC 值都不会更新。契约(Contract)似乎是由 LI
我需要获取代币从特定时间到最近一轮的 Chainlink 价格。此时间因用户输入而异,但会根据 token 的心跳相对较短的窗口(最多 1 天到 2 周)。这用于计算智能合约和应用程序主页上的支出价格
今天是个好日子! 我目前正在开发智能合约并使用 Chainlink oracles 获取外部数据;我在 Chainlink 市场上搜索了预言机地址和工作 ID,但目前没有预言机在 kovan、rink
我正在开发一个外部适配器,但当我向我的本地 chainlink 节点发出请求时它无法正常工作。我在 encode_tx 中有这个错误步骤。 这是错误:ETHABIEncode: while conve
chainlink 节点是否需要访问 keystore.json? 如果我从虚拟机中删除它可以吗? 最佳答案 当然,你运行的节点有自己的EOA,当你执行反向交易时,它会存储链接并支付gas费用。 关于
bytes9 private _randomness; function getRandomness() public view returns (uint256) { ret
我正在认真学习 Chainlink,但我找不到有关创建 VRFConsumerBase 实例所需的协调器合约的信息 最佳答案 Chainlink VRF Coordinator是部署到区 block
我正在认真学习 Chainlink,但我找不到有关创建 VRFConsumerBase 实例所需的协调器合约的信息 最佳答案 Chainlink VRF Coordinator是部署到区 block
从 Brownie chainlink-mix 中,为什么 PriceFeed 在主网叉上运行良好,而 ApiConsumer 不能在同一网络上满足请求? 价格是否缓存在聚合器上? 最佳答案 当您 f
我正在尝试遵循此处找到的 Chainlink VRF 教程:https://docs.chain.link/docs/intermediates-tutorial/使用安全帽,在调用 rollDice
我正在尝试遵循此处找到的 Chainlink VRF 教程:https://docs.chain.link/docs/intermediates-tutorial/使用安全帽,在调用 rollDice
我正在尝试导入这段代码 import "@chainlink/contracts/src/v0.6/interfaces/AggregatorV3Interface.sol"; import "@ch
这是我第一次在 Remix 上部署合约以及学习如何在 Solidity 上编码。 我已经读过这个 guide并成功部署了提供的智能合约模板: pragma solidity ^0.6.7; impor
根据文档,我必须使用这个 token 来生成一个随机数 https://docs.chain.link/docs/vrf-contracts/#polygon-matic-mainnet 但我不知道从
我确实理解以太坊区 block 链中气体的概念,以及为什么需要气体来补偿矿工为网络提供计算能力。然而,当我阅读 chainlink vrf 获取随机数文档时,它说 keyhash 告诉你要使用的加油道
我是一名优秀的程序员,十分优秀!