繁体   English   中英

从其他智能合约调用chainlink?

[英]Call chainlink from other smart contract?

我需要从通过链环 oracle 读取的数组中获取一个值。 到目前为止一切顺利,但我需要在另一个合同中使用该值才能使用它,我怎么能做到这一点?

另外,我如何进行合并付款,当有人购买一项服务时,这笔钱也将用于支付 Chainlink 费用的汽油费?

谢谢!

要从 Chainlink 数据提要中读取值,您需要将提要的地址传递给AggregatorV3Interface.sol接口。

AggregatorV3Interface dataFeed = AggregatorV3Interface(0x9326....);

然后,您可以调用接口的latestRoundData() function,它会返回一个包含您请求的信息的值元组。 对于一个示例价格馈送:

(
  uint80 roundID, 
  int price,
  uint startedAt,
  uint timeStamp,
  uint80 answeredInRound
) = priceFeed.latestRoundData();

有关详细信息,请参阅https://docs.chain.link/docs/get-the-latest-price/

当您说联合付款时,您是什么意思? 如果在交易期间调用 Chainlink 数据馈送调用(如上),则该交易的气体将用于支付计算费用。 因此,如果用户购买服务并通过该调用发送 gas,然后在该调用中调用 data feed,原始发送者的 gas 将用于调用 data feed 方法。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM