在Solidity智能合约中获取外汇汇率数据

原文链接:[https://docs.google.com/document/d/1lsUjd1Ps55MMrbHm_Mb5RyWQl787wk59Iw80380ILCA/mobilebasic](https://docs.google.com/document/d/1lsUjd1Ps55MMrbHm_Mb5RyWQl787wk59Iw80380I...

原文链接:[https://docs.google.com/document/d/1lsUjd1Ps55MMrbHm_Mb5RyWQl787wk59Iw80380ILCA/mobilebasic](https://docs.google.com/document/d/1lsUjd1Ps55MMrbHm_Mb5RyWQl787wk59Iw80380ILCA/mobilebasic) 原文标题:Fetch Foreign Exchange Rates in Solidity Smart Contracts 原文作者:Chainlink ![image.png](https://lh3.googleusercontent.com/kaVAGMtt_I6joSWr_WCqCWWq9K0A3LZ3BkGaJgrWxrhfClsAX9OvkWjIzU-t4roH-pUNz4_psxAJ1y1O4rx5P6ei9oA65ox_SxL0MnRvHufkMi9wPYwZ8xw4KD9ipJLmdRVg8cUK=s800) 价格数据是各种金融工具的核心,对去中心化金融(DeFi)应用来说尤其如此。外汇(FX)汇率数据在DeFi世界里对于创建期权、期货和其他复杂的衍生品特别重要。除了能够获取[安全的加密货币价格数据](),Chainlink喂价还可用于在智能合约中获取高质量的外汇价格数据。 在本技术教程中,我们将详细介绍如何在Solidity智能合约中使用Chainlink FX喂价。首先,我们快速浏览一下什么是外汇喂价,以及使用它们可以创建哪些类型的衍生品。 ## 什么是外汇喂价? 外汇市场是全球货币交易市场,日交易量接近7万亿美元。这个市场决定着每一种货币的汇率,包括以当前或确定的价格买卖和交换货币的各个方面的内容。由于这个市场的容量大和受欢迎程度高,许多DeFi应用会使用Chainlink外汇喂价,来确保外汇数据能以安全和去中心化的方式交付到其衍生品合约中,而不会出现任何单点故障。 [Synthetix交易所](https://www.google.com/url?q=https://www.google.com/url?q%3Dhttps://synthetix.exchange/%26amp;sa%3DD%26amp;source%3Deditors%26amp;ust%3D1613085848458000%26amp;usg%3DAOvVaw0CrUeDoV4ROc6o1LySu2E9&sa=D&source=editors&ust=1613085848484000&usg=AOvVaw0g9t1lv7bq-S07PjtnVmWe)是一家DeFi衍生品交易所,它使用Chainlink预言机提供的多个外汇喂价,以确保即使在高波动时期,也能根据其标的资产的真实市场价格进行防篡改的、准确的估值。 ![image.png](https://lh3.googleusercontent.com/z40IHTCssFh7yKWTow4Vq5Bbjuq1kWkVMzqJ52mcls2-dADfDRW3yW4yHcugfDDOaHcfSuyBRr-8ES8FcIzAXmXK0qArlyEEonOdjsN8OkUek43D1biHwLGfiOT8JaDgHU7zlFhz=s800) <Synthetix Exchange如何使用Chainlink预言机获取各种外汇货币的实时市场数据。> <ALT:Synthetix Exchange synths由Chainlink网络驱动。> _ ## 如何使用Chainlink外汇喂价? [Chainlink Price Feeds](https://www.google.com/url?q=https://www.google.com/url?q%3Dhttps://data.chain.link/%26amp;sa%3DD%26amp;source%3Deditors%26amp;ust%3D1613085848459000%26amp;usg%3DAOvVaw0aM9Lv5KKglNDhe-R_X2tf&sa=D&source=editors&ust=1613085848484000&usg=AOvVaw3GYDiqX90MOrOCkIQonz8X)使用数百个高质量数据源,并通过Chainlink预言机的去中心化网络将其聚合,其中Chainlink预言机会将价格数据输入到参考合约,在参考合约中,结果会在Aggregator合约中再次聚合并作为最新的、可信的答案。通过使用由去中心化节点网络聚合的大量数据源,Chainlink预言机确保价格数据具有最高质量,并且不易受到[漏洞利用或价格预言机攻击](https://www.google.com/url?q=https://www.google.com/url?q%3Dhttps://blog.chain.link/flash-loans-and-the-importance-of-tamper-proof-oracles/%26amp;sa%3DD%26amp;source%3Deditors%26amp;ust%3D1613085848459000%26amp;usg%3DAOvVaw22AfDu23PgfW1ElT4I0q3q&sa=D&source=editors&ust=1613085848484000&usg=AOvVaw1MBYVHNaKHS8UZfWrUWqTm)。 ## 创建智能合约 为了在智能合约中使用Chainlink外汇喂价,首先需要[获取测试网ETH代币](https://www.google.com/url?q=https://www.google.com/url?q%3Dhttps://gitter.im/kovan-testnet/faucet%26amp;sa%3DD%26amp;source%3Deditors%26amp;ust%3D1613085848460000%26amp;usg%3DAOvVaw1g95nJi8_rXUocsiIsltTv&sa=D&source=editors&ust=1613085848484000&usg=AOvVaw20BkPzBXWOMgpnC900Wf5s)在智能合约中用作gas。一旦你有了一些ETH代币后,最简单的开始建立一个使用Chainlink外汇喂价的智能合约的方法是部署[价格消费者合约](https://www.google.com/url?q=https://www.google.com/url?q%3Dhttps://remix.ethereum.org/%2523version%253Dsoljson-v0.6.7%252Bcommit.b8d736ae.js%2526optimize%253Dfalse%2526evmVersion%253Dnull%2526gist%253D0c5928a00094810d2ba01fd8d1083581%26amp;sa%3DD%26amp;source%3Deditors%26amp;ust%3D1613085848460000%26amp;usg%3DAOvVaw3-Mo9djsP2YEVME9z3b41n&sa=D&source=editors&ust=1613085848484000&usg=AOvVaw1m18b41D3HwkLX9LV9-qQ6)。这是一个基本合约,用于启动对Chainlink喂价的请求。首先,我们需要导入[AggregatorV3Interface](https://www.google.com/url?q=https://www.google.com/url?q%3Dhttps://github.com/smartcontractkit/chainlink/blob/master/evm-contracts/src/v0.6/interfaces/AggregatorV3Interface.sol%26amp;sa%3DD%26amp;source%3Deditors%26amp;ust%3D1613085848461000%26amp;usg%3DAOvVaw1YKIdZirKehSpEKUjrt3RR&sa=D&source=editors&ust=1613085848484000&usg=AOvVaw14Slpz18EzsIYvAo2C_LoW)合约接口,它允许我们的智能合约引用Kovan测试网的链上喂价。 ```bash import "https://github.com/smartcontractkit/chainlink/blob/master/evm-contracts/src/v0.6/interfaces/AggregatorV3Interface.sol"; ``` 然后在局部变量中创建它的实例。 ```bash AggregatorV3Interface internal priceFeed; ``` 在[喂价引用合约](https://www.google.com/url?q=https://www.google.com/url?q%3Dhttps://docs.chain.link/docs/ethereum-addresses%26amp;sa%3DD%26amp;source%3Deditors%26amp;ust%3D1613085848462000%26amp;usg%3DAOvVaw2PdLND9-rQXi1blRkTYtlS&sa=D&source=editors&ust=1613085848485000&usg=AOvVaw1sRQ4uqDm-SEtxRib-F0Dx)构造函数中,我们可以初始化我们需要用到的喂价合约的地址。通过浏览文档中的[以太坊喂价信息页面](https://www.google.com/url?q=https://www.google.com/url?q%3Dhttps://docs.chain.link/docs/ethereum-addresses%26amp;sa%3DD%26amp;source%3Deditors%26amp;ust%3D1613085848462000%26amp;usg%3DAOvVaw2PdLND9-rQXi1blRkTYtlS&sa=D&source=editors&ust=1613085848485000&usg=AOvVaw1sRQ4uqDm-SEtxRib-F0Dx),我们可以找到Chainlink当前提供的所有喂价合约地址。导航到页面上的Kovan测试网部分并选择一个外汇喂价。在本例中,我们将选择地址为[0x28b0061f44E6A9780224AA61BEc8C3Fcb0d37de9](https://www.google.com/url?q=https://www.google.com/url?q%3Dhttps://kovan.etherscan.io/address/0x28b0061f44E6A9780224AA61BEc8C3Fcb0d37de9%26amp;sa%3DD%26amp;source%3Deditors%26amp;ust%3D1613085848463000%26amp;usg%3DAOvVaw1NRM_P6HjJePTJm6xUNnwX&sa=D&source=editors&ust=1613085848485000&usg=AOvVaw2J9zeL_9MwWKFeGVXmf-d3)的[GBP/USD](https://www.google.com/url?q=https://www.google.com/url?q%3Dhttps://data.chain.link/gbp-usd%26amp;sa%3DD%26amp;source%3Deditors%26amp;ust%3D1613085848462000%26amp;usg%3DAOvVaw3zvcGKgBr-jO9AIPfXCA6W&sa=D&source=editors&ust=1613085848485000&usg=AOvVaw3kZgyJxu1nvj7JudFfmmQp)喂价合约。 ```javascript priceFeed = AggregatorV3Interface(0x28b0061f44E6A9780224AA61BEc8C3Fcb0d37de9); ``` 合约中已经定义了一个名为`getLatestPrice`的函数,用于从上述构造函数中实例化的喂价聚合器合约获取最新价格。为此,定义了一个新函数,从聚合器合约中调用[latestRoundData](https://www.google.com/url?q=https://www.google.com/url?q%3Dhttps://docs.chain.link/docs/price-feeds-api-reference%2523latestrounddata%26amp;sa%3DD%26amp;source%3Deditors%26amp;ust%3D1613085848463000%26amp;usg%3DAOvVaw0rFFR1bMYRXg4LHgoSoRzo&sa=D&source=editors&ust=1613085848485000&usg=AOvVaw31zkHYbtjrs4lVY4AFK2Yw)函数。这个函数返回聚合器合约的当前状态,在本例中,我们取当前价格并在我们的消费函数中返回它的值。 ```bash function getLatestPrice() public view returns (int) { ( uint80 roundID, int price, uint startedAt, uint timeStamp, uint80 answeredInRound ) = priceFeed.latestRoundData(); return price; } ``` ## 部署并测试智能合约 现在我们已经准备好部署和测试我们的合约了。在Remix中编译合约,然后在部署选项卡上,将环境更改为“Injected Web3”,并确保下面的钱包地址是MetaMask钱包中包含一些先前获得的ETH代币的地址,点击部署按钮,然后按照步骤进行操作。最终结果是智能合约被部署到Kovan测试网。你应当记录一下通过Remix控制台中的事务输出可以看到的已经部署的合约地址。 一旦部署完成,我们只需要执行“getLatestPrice”函数。结果应该是函数从GBP/USD聚合器合约返回最新价格,然后可以在我们的智能合约中链上使用。请注意,我们不需要为请求发送任何LINK代币,而且我们甚至也没有使用任何ETH代币,因为该交易是对链上GBP-USD聚合器合约中数据的纯读取操作。 ![image.png](https://lh4.googleusercontent.com/MUtgCa7vKpv0XsaqZoKOJzLyGr3NlsHuBMHdSeArcUpXqMz-eQuuupg4re07NsyTEYfpqROIny6OkS-ZmR-tBGRudhu3g9KtJOk_d_nhyw50TG1ZDbLanysYKzqhWJjxyykKz3ec=s800) <GBP/USD喂价结果> <ALT:GBP/USD喂价结果> ## 总结 Chainlink喂价提供了一种将高质量外汇价格数据提供给Solidity智能合约的可靠方法。此外,Chainlink的预言机框架还提供了快速方便地获取股票、加密货币、商品和许多其他资产类型的数据的灵活性。 如果你是一名开发者,并且希望快速将你的应用连接到Chainlink喂价,请访问[开发者文档](https://www.google.com/url?q=https://www.google.com/url?q%3Dhttps://docs.chain.link/%26amp;sa%3DD%26amp;source%3Deditors%26amp;ust%3D1613085848466000%26amp;usg%3DAOvVaw1nFk-KBrc4pTfoc4GBRgKv&sa=D&source=editors&ust=1613085848486000&usg=AOvVaw171_KDwKy2TAhibAJurQM7)并加入[Discord](https://www.google.com/url?q=https://www.google.com/url?q%3Dhttps://discordapp.com/invite/aSK4zew%26amp;sa%3DD%26amp;source%3Deditors%26amp;ust%3D1613085848467000%26amp;usg%3DAOvVaw3mPjZhozxw07QDkqs2B27j&sa=D&source=editors&ust=1613085848486000&usg=AOvVaw1o9xzQLI3bmjXAj8GwUQDn)中的技术讨论。 **关于本主题的更多内容** - [How to Fetch the Current Price of Ethereum, Bitcoin, and Other Cryptocurrencies in Solidity](https://www.google.com/url?q=https://www.google.com/url?q%3Dhttps://blog.chain.link/fetch-current-crypto-price-data-solidity/%26amp;sa%3DD%26amp;source%3Deditors%26amp;ust%3D1613085848467000%26amp;usg%3DAOvVaw0tFiTKzlx7EOHa9vNKQt5Y&sa=D&source=editors&ust=1613085848486000&usg=AOvVaw3RFQgO25QPx1-rIrvV32uW) - [The Top Ways for Smart Contract Developers to Use Chainlink](https://www.google.com/url?q=https://www.google.com/url?q%3Dhttps://blog.chain.link/smart-contract-api-price-random/%26amp;sa%3DD%26amp;source%3Deditors%26amp;ust%3D1613085848467000%26amp;usg%3DAOvVaw1jy_3s3ySYDp3FaohhmHuN&sa=D&source=editors&ust=1613085848487000&usg=AOvVaw0bHCakis2m_jG7cdp2Ho2i) - [Testing Chainlink Smart Contracts](https://www.google.com/url?q=https://www.google.com/url?q%3Dhttps://blog.chain.link/testing-chainlink-smart-contracts/%26amp;sa%3DD%26amp;source%3Deditors%26amp;ust%3D1613085848468000%26amp;usg%3DAOvVaw0iMt-WyWY-LcTBd04XH4hD&sa=D&source=editors&ust=1613085848487000&usg=AOvVaw2Mj_4ipjSG8TQDO5OWNeN6) - [如何在Solidity中获取以太坊、比特币和其他加密货币的当前价格](https://www.google.com/url?q=https://www.google.com/url?q%3Dhttps://blog.chain.link/fetch-current-crypto-price-data-solidity/%26amp;sa%3DD%26amp;source%3Deditors%26amp;ust%3D1613085848467000%26amp;usg%3DAOvVaw0tFiTKzlx7EOHa9vNKQt5Y&sa=D&source=editors&ust=1613085848486000&usg=AOvVaw3RFQgO25QPx1-rIrvV32uW) - [智能合约开发者使用Chainlink的主要方法总结](https://www.google.com/url?q=https://www.google.com/url?q%3Dhttps://blog.chain.link/smart-contract-api-price-random/%26amp;sa%3DD%26amp;source%3Deditors%26amp;ust%3D1613085848467000%26amp;usg%3DAOvVaw1jy_3s3ySYDp3FaohhmHuN&sa=D&source=editors&ust=1613085848487000&usg=AOvVaw0bHCakis2m_jG7cdp2Ho2i) - [测试Chainlink智能合约](https://www.google.com/url?q=https://www.google.com/url?q%3Dhttps://blog.chain.link/testing-chainlink-smart-contracts/%26amp;sa%3DD%26amp;source%3Deditors%26amp;ust%3D1613085848468000%26amp;usg%3DAOvVaw0iMt-WyWY-LcTBd04XH4hD&sa=D&source=editors&ust=1613085848487000&usg=AOvVaw2Mj_4ipjSG8TQDO5OWNeN6) [Website](https://www.google.com/url?q=https://www.google.com/url?q%3Dhttps://chain.link/%26amp;sa%3DD%26amp;source%3Deditors%26amp;ust%3D1613085848468000%26amp;usg%3DAOvVaw3eyStN2MtCrzLr-lwKsrB0&sa=D&source=editors&ust=1613085848487000&usg=AOvVaw3AufH4s_MeJuEzNhsj1N9j) | [Twitter](https://www.google.com/url?q=https://www.google.com/url?q%3Dhttps://twitter.com/chainlink%26amp;sa%3DD%26amp;source%3Deditors%26amp;ust%3D1613085848468000%26amp;usg%3DAOvVaw2p1RQncEKno0gT46HL7ubQ&sa=D&source=editors&ust=1613085848487000&usg=AOvVaw3S1XAzJ4cl5wl08TJERewd) |[ ](https://www.google.com/url?q=https://www.google.com/url?q%3Dhttps://www.reddit.com/r/Chainlink/%26amp;sa%3DD%26amp;source%3Deditors%26amp;ust%3D1613085848468000%26amp;usg%3DAOvVaw3lLcQRZV6p2VoGlPyEHXty&sa=D&source=editors&ust=1613085848487000&usg=AOvVaw2289ImYk0HSlrFRgf4jMZG)[Discord](https://www.google.com/url?q=https://www.google.com/url?q%3Dhttps://discordapp.com/invite/aSK4zew%26amp;sa%3DD%26amp;source%3Deditors%26amp;ust%3D1613085848469000%26amp;usg%3DAOvVaw1MFBa3iT49xBwSyHsS8wab&sa=D&source=editors&ust=1613085848487000&usg=AOvVaw10IUgv_Mmd9m_QQVhdROpe) | [Reddit](https://www.google.com/url?q=https://www.google.com/url?q%3Dhttps://www.reddit.com/r/Chainlink/%26amp;sa%3DD%26amp;source%3Deditors%26amp;ust%3D1613085848469000%26amp;usg%3DAOvVaw0QLCBsiojPSm2NUiY_uu72&sa=D&source=editors&ust=1613085848487000&usg=AOvVaw3i6knV2AtNdXeiQEciXeIc) | [YouTube](https://www.google.com/url?q=https://www.google.com/url?q%3Dhttps://www.youtube.com/channel/UCnjkrlqaWEBSnKZQ71gdyFA%26amp;sa%3DD%26amp;source%3Deditors%26amp;ust%3D1613085848469000%26amp;usg%3DAOvVaw2c-gdbu_eFst8xgqhk2SYX&sa=D&source=editors&ust=1613085848487000&usg=AOvVaw21NYrx9eDDejzToPQWuZgT) | [Telegram](https://www.google.com/url?q=https://www.google.com/url?q%3Dhttps://t.me/chainlinkofficial%26amp;sa%3DD%26amp;source%3Deditors%26amp;ust%3D1613085848469000%26amp;usg%3DAOvVaw3EDK5XlTNaBUZtoPETYts3&sa=D&source=editors&ust=1613085848487000&usg=AOvVaw3GudX7uqSnJxo4HwmA5wgq) | [Events](https://www.google.com/url?q=https://www.google.com/url?q%3Dhttps://blog.chain.link/tag/events/%26amp;sa%3DD%26amp;source%3Deditors%26amp;ust%3D1613085848469000%26amp;usg%3DAOvVaw2vNOObL2Lz5FWnKBr-m_1i&sa=D&source=editors&ust=1613085848487000&usg=AOvVaw1NIBX5olwnepvZFBHbIbUi) | [GitHub](https://www.google.com/url?q=https://www.google.com/url?q%3Dhttps://github.com/smartcontractkit/chainlink%26amp;sa%3DD%26amp;source%3Deditors%26amp;ust%3D1613085848470000%26amp;usg%3DAOvVaw0A07DJVBDbE5uEAc1H67i4&sa=D&source=editors&ust=1613085848487000&usg=AOvVaw0nJyMyb1rJl_v2VijlZ6Od) | [Price Feeds](https://www.google.com/url?q=https://www.google.com/url?q%3Dhttps://feeds.chain.link/%26amp;sa%3DD%26amp;source%3Deditors%26amp;ust%3D1613085848470000%26amp;usg%3DAOvVaw0iZIg-YNbWyq3A0DkRYFhA&sa=D&source=editors&ust=1613085848487000&usg=AOvVaw3No5nJL8FqPVvtIK0ki-Me) | [DeFi](https://www.google.com/url?q=https://www.google.com/url?q%3Dhttps://defi.chain.link/%26amp;sa%3DD%26amp;source%3Deditors%26amp;ust%3D1613085848470000%26amp;usg%3DAOvVaw2O69OMnaju4TKAHV6jA8CG&sa=D&source=editors&ust=1613085848488000&usg=AOvVaw34tSVZmzb74cvQHfWkqx51)

原文链接:https://docs.google.com/document/d/1lsUjd1Ps55MMrbHm_Mb5RyWQl787wk59Iw80380ILCA/mobilebasic 原文标题:Fetch Foreign Exchange Rates in Solidity Smart Contracts 原文作者:Chainlink

价格数据是各种金融工具的核心,对去中心化金融(DeFi)应用来说尤其如此。外汇(FX)汇率数据在DeFi世界里对于创建期权、期货和其他复杂的衍生品特别重要。除了能够获取[安全的加密货币价格数据](),Chainlink喂价还可用于在智能合约中获取高质量的外汇价格数据。

在本技术教程中,我们将详细介绍如何在Solidity智能合约中使用Chainlink FX喂价。首先,我们快速浏览一下什么是外汇喂价,以及使用它们可以创建哪些类型的衍生品。

什么是外汇喂价?

外汇市场是全球货币交易市场,日交易量接近7万亿美元。这个市场决定着每一种货币的汇率,包括以当前或确定的价格买卖和交换货币的各个方面的内容。由于这个市场的容量大和受欢迎程度高,许多DeFi应用会使用Chainlink外汇喂价,来确保外汇数据能以安全和去中心化的方式交付到其衍生品合约中,而不会出现任何单点故障。

Synthetix交易所是一家DeFi衍生品交易所,它使用Chainlink预言机提供的多个外汇喂价,以确保即使在高波动时期,也能根据其标的资产的真实市场价格进行防篡改的、准确的估值。

<Synthetix Exchange如何使用Chainlink预言机获取各种外汇货币的实时市场数据。>

<ALT:Synthetix Exchange synths由Chainlink网络驱动。> _

如何使用Chainlink外汇喂价?

Chainlink Price Feeds使用数百个高质量数据源,并通过Chainlink预言机的去中心化网络将其聚合,其中Chainlink预言机会将价格数据输入到参考合约,在参考合约中,结果会在Aggregator合约中再次聚合并作为最新的、可信的答案。通过使用由去中心化节点网络聚合的大量数据源,Chainlink预言机确保价格数据具有最高质量,并且不易受到漏洞利用或价格预言机攻击。

创建智能合约

为了在智能合约中使用Chainlink外汇喂价,首先需要获取测试网ETH代币在智能合约中用作gas。一旦你有了一些ETH代币后,最简单的开始建立一个使用Chainlink外汇喂价的智能合约的方法是部署价格消费者合约。这是一个基本合约,用于启动对Chainlink喂价的请求。首先,我们需要导入AggregatorV3Interface合约接口,它允许我们的智能合约引用Kovan测试网的链上喂价。

import "https://github.com/smartcontractkit/chainlink/blob/master/evm-contracts/src/v0.6/interfaces/AggregatorV3Interface.sol";

然后在局部变量中创建它的实例。

AggregatorV3Interface internal priceFeed;

在喂价引用合约构造函数中,我们可以初始化我们需要用到的喂价合约的地址。通过浏览文档中的以太坊喂价信息页面,我们可以找到Chainlink当前提供的所有喂价合约地址。导航到页面上的Kovan测试网部分并选择一个外汇喂价。在本例中,我们将选择地址为0x28b0061f44E6A9780224AA61BEc8C3Fcb0d37de9的GBP/USD喂价合约。

priceFeed = AggregatorV3Interface(0x28b0061f44E6A9780224AA61BEc8C3Fcb0d37de9);

合约中已经定义了一个名为getLatestPrice的函数,用于从上述构造函数中实例化的喂价聚合器合约获取最新价格。为此,定义了一个新函数,从聚合器合约中调用latestRoundData函数。这个函数返回聚合器合约的当前状态,在本例中,我们取当前价格并在我们的消费函数中返回它的值。

function getLatestPrice() public view returns (int) {
        (
            uint80 roundID,
            int price,
            uint startedAt,
            uint timeStamp,
            uint80 answeredInRound
        ) = priceFeed.latestRoundData();
        return price;
}

部署并测试智能合约

现在我们已经准备好部署和测试我们的合约了。在Remix中编译合约,然后在部署选项卡上,将环境更改为“Injected Web3”,并确保下面的钱包地址是MetaMask钱包中包含一些先前获得的ETH代币的地址,点击部署按钮,然后按照步骤进行操作。最终结果是智能合约被部署到Kovan测试网。你应当记录一下通过Remix控制台中的事务输出可以看到的已经部署的合约地址。

一旦部署完成,我们只需要执行“getLatestPrice”函数。结果应该是函数从GBP/USD聚合器合约返回最新价格,然后可以在我们的智能合约中链上使用。请注意,我们不需要为请求发送任何LINK代币,而且我们甚至也没有使用任何ETH代币,因为该交易是对链上GBP-USD聚合器合约中数据的纯读取操作。

<GBP/USD喂价结果> <ALT:GBP/USD喂价结果>

总结

Chainlink喂价提供了一种将高质量外汇价格数据提供给Solidity智能合约的可靠方法。此外,Chainlink的预言机框架还提供了快速方便地获取股票、加密货币、商品和许多其他资产类型的数据的灵活性。

如果你是一名开发者,并且希望快速将你的应用连接到Chainlink喂价,请访问开发者文档并加入Discord中的技术讨论。

关于本主题的更多内容

  • How to Fetch the Current Price of Ethereum, Bitcoin, and Other Cryptocurrencies in Solidity

  • The Top Ways for Smart Contract Developers to Use Chainlink

  • Testing Chainlink Smart Contracts

  • 如何在Solidity中获取以太坊、比特币和其他加密货币的当前价格

  • 智能合约开发者使用Chainlink的主要方法总结

  • 测试Chainlink智能合约

Website | Twitter | Discord | Reddit | YouTube | Telegram | Events | GitHub | Price Feeds | DeFi

区块链技术网。

  • 发表于 2021-03-02 13:38
  • 阅读 ( 915 )
  • 学分 ( 5 )
  • 分类:ChainLink

评论