BTC
ETH
HTX
SOL
BNB
查看行情
简中
繁中
English
日本語
한국어
ภาษาไทย
Tiếng Việt

如何在Solidity中獲取ETH、BTC和其他加密貨幣的當前價格

Chainlink
特邀专栏作者
本文約2305字,閱讀全文需要約4分鐘
在Solidity智能合約中獲取價格數據是DeFi應用的常見需求。
AI總結
展開
在Solidity智能合約中獲取價格數據是DeFi應用的常見需求。

在Solidity智能合約中獲取價格數據是DeFi應用的常見需求。在Solidity中為了獲取ETH,BTC或者其他加密貨幣的價格,你可以通過下面兩種方式之一完成:
  1. 使用Chainlink的餵價獲取價格數據

  2. 一級標題

一級標題

智能合約對準確、可靠的價格數據的需求

今年DeFi協議呈爆發式增長,DeFi的總鎖定價值從一月份6.8億美金激增到現在的140億美金。這些DeFi協議依賴外部價格數據作為數據源,因為區塊鏈不能在本地直接訪問外部數據。此外這些應用需要提供數據保障來保護應用免遭漏洞利用,如價格預言機攻擊等攻擊。

一級標題

一級標題

一級標題

一級標題

創建智能合約

第一步是獲取測試網的ETH作為智能合約的gas費。在獲得一些ETH後,構建一個用上Chainlink餵價的智能合約的最簡單的方式是從標準的價格消費者合約開始。這是用於啟動對Chainlink餵價請求的基本合約。這部分基於演示目的,我們將使用已經定義在標準的價格消費者合約中的ETH/USD餵價,但是我們將詳細解釋這部分的代碼,便於你了解它的工作原理。

首先,我們可以看到AggregatorV3Interface合約接口被導入。這樣我們的智能合約就可以引用部署在Kovan測試網絡的餵價合約。接著,我們創建一個合約實例並保存到本地變量中。

一級標題

一級標題

部署和測試智能合約

一級標題

圖片描述


一級標題

在Solidity中獲取其他價格數據

Chainlink餵價提供了大量的位於頭部的DeFi價格對的價格數據。如果你需要在你的智能合約中獲取的資產價格數據沒有被現有的餵價合約覆蓋到,比如特定的股票的價格,你可以自定義Chainlink預言機以調用任何的外部API。使用Chainlink預言機獲取外部價格數據的最簡單方法是從標準Chainlink的APIConsumer合約開始。這是通過Chainlink預言機來啟動對外部數據請求的標準化合約。

完成創建APIConsumer合約後,就可以去找到想要從中獲取價格數據的API。如,你可以使用Alpha Vantage API查找IBM股票的當前價格。

總結

總結

總結

Chainlink餵價提供了一種可靠的方法來獲取高質量的比特幣、以太坊以及其他加密貨幣價格數據到Solidity智能合約中。此外,Chainlink的預言機框架還提供了可以快速、輕鬆地獲取其他價格數據的靈活性,如股票、商品和其他資產的價格數據。

BTC
ETH
開發者
歡迎加入Odaily官方社群