在Solidity智能合約中獲取價格數據是DeFi應用的常見需求。在Solidity中為了獲取ETH,BTC或者其他加密貨幣的價格,你可以通過下面兩種方式之一完成:使用Chainlink的喂價獲取價格數據
通過Chainlink預言機使用外部API獲取價格數據
在本技術教程中,我們將詳細講解這兩種方法,并分享代碼案例幫助你構建、部署并測試智能合約。首先,我們快速了解一下為智能合約提供外部數據時,數據質量和端到端去中心化的重要性。
智能合約對準確、可靠的價格數據的需求
今年DeFi協議呈爆發式增長,DeFi的總鎖定價值從一月份6.8億美金激增到現在的140億美金。這些DeFi協議依賴外部價格數據作為數據源,因為區塊鏈不能在本地直接訪問外部數據。此外這些應用需要提供數據保障來保護應用免遭漏洞利用,如價格預言機攻擊等攻擊。
恒生電子:聯盟鏈的創新空間應集中在如何更好地服務中小和小微企業方面:金色財經報道,6月23日,恒生電子區塊鏈發展部運營經理林晗做客金色財經舉辦的“聯盟鏈-創新場景應用的偶然與必然”為主題的金色沙龍第64期活動。林晗表示中國的區塊鏈研究和專利成果,從一開始就比較集中在區塊鏈技術的應用和落地,也就是產業區塊鏈方面。現階段聯盟鏈適用于與具體細分產業相結合的場景,比如說產業金融領域,例如產業金融區塊鏈平臺范太鏈。聯盟鏈的創新空間應是集中如何利用區塊鏈解決小微企業的信任問題、更好提升小微企業運營效率來開展。因為區塊鏈能解決的一個核心痛點是信任問題,與本身就具有信任背書能力的大企業相比,在產業中往往是小企業才需要解決信任問題。區塊鏈作為一種劃時代意義的記賬技術,其最大的價值是應該被用來與實體產業結合,促進社會發展。[2021/6/23 0:00:23]
Chainlink喂價能夠降低這些攻擊的風險,實現方法是提供聚合自多種高質量數據提供商的數據,并通過Chainlink網絡上的去中心化預言機將數據輸入到鏈上。Chainlink的去中心化預言機機制能確保最終的價格數據反映廣泛的市場信息覆蓋,這意味著最終的價格數據是在匯總整個市場上各種不同的價格數據之后確定的,而不只是一小部分信息,同時也會考慮到其他因素,如成交量和流動性等。
直播|清水 > 交易所新秀WEX,如何憑借IVO突出重圍:金色財經 · 直播主辦的《 幣圈 “后浪” 仙女直播周》第13期15:00準時開始,本期“后浪”仙女WEX的CMO 清水將在直播間聊聊“交易所新秀WEX,如何憑借IVO突出重圍”,請掃碼移步收聽![2020/8/21]
現在我們理解了Solidity智能合約對準確、可靠的價格數據的需求以及Chainlink喂價預言機所扮演的重要角色,下面我們將詳細解讀使用Chainlink喂價獲取最新的以太坊價格數據的案例。下面的步驟也能應用到比特幣以及其他加密貨幣。
在以太坊上使用Chainlink喂價
Chainlink喂價使用多種高質量的數據輸入,并通過Chainlink預言機的去中心化網絡聚合這些數據,將價格數據輸入到參考合約中,這些數據結果會在聚合器智能合約中聚合成為最新的價格數據作為可信答案。使用多種節點聚合的多種數據源,我們能夠確保我們的價格數據達到最高質量,并且不會遭受漏洞利用或者價格預言機攻擊。
聲音 | 奧斯汀市雇員退休制度CIO:應關注加密資產如何適應現有的投資組合:據coindesk消息,今日在彭博社舉辦的Institutional Crypto會議上,美國德州奧斯汀市雇員退休制度首席投資官(CIO)David Veal表示:“我不確定加密資產是否需要被定位為可替代資產,我們應該看看它如何適應現有的投資組合。加密資產可以通過使如此多事物獲得流動性來消除非流動性。我們的投資組合多樣化正慢慢受到侵蝕,而加密可以帶來回報。”[2018/10/16]
創建智能合約
第一步是獲取測試網的ETH作為智能合約的gas費。在獲得一些ETH后,構建一個用上Chainlink喂價的智能合約的最簡單的方式是從標準的價格消費者合約開始。這是用于啟動對Chainlink喂價請求的基本合約。這部分基于演示目的,我們將使用已經定義在標準的價格消費者合約中的ETH/USD喂價,但是我們將詳細解釋這部分的代碼,便于你了解它的工作原理。
HeroNode創始人劉國平:工業革命以來最大的技術革命——區塊鏈如何實現去中心化:近日,HeroNode 創始人劉國平受邀前往平安總部進行區塊鏈技術演講。會上,劉國平就“區塊鏈到底是什么”和“區塊鏈有什么特點”兩個問題,用通俗易懂的語言深入淺出地進行講解,并著重介紹了區塊鏈對現有公司業務的挑戰。劉國平,區塊鏈應用技術專家、比特幣第一批礦工、Hero 移動跨平臺框架開發創始人,Hero 理事會會長。曾任職萬得資訊、第九城市、點融網等知名互聯網公司負責技術研發、并深度參與點融網區塊鏈應用場景開發。[2018/4/2]
首先,我們可以看到AggregatorV3Interface合約接口被導入。這樣我們的智能合約就可以引用部署在Kovan測試網絡的喂價合約。接著,我們創建一個合約實例并保存到本地變量中。
接下來,我們可以看到喂價參考合約在構造函數中被初始化。Kovan測試網上的ETH/USD喂價參考合約部署在地址為0x9326BFA02ADD2366b30bacB125260Af641031331上。
然后我們看到一個已經定義好的函數用于從喂價聚合合約中獲取最新的價格數據,該合約在上面提到的構造函數中實例化。為了獲取價格,我們定義一個新的函數從聚合器合約中調用latestRoundData函數。這是返回聚合器合約當前狀態的函數,在本例中,我們取出當前價格并將其返回到消費函數中。
部署和測試智能合約
現在我們準備部署和測試我們的合約。在Remix中編譯合約,然后在“部署”選項上,將環境更改為“InjectedWeb3”,并確保下面的錢包地址是你的MetaMask錢包中包含前面獲得ETH的錢包地址,點擊部署按鈕,然后按照步驟操作即可。最終結果是你將智能合約部署到了Kovan測試網。需要記錄一下通過Remix控制臺中的事務輸出記錄的已部署的合約地址。
部署后,我們只需要執行“getLatestPrice”函數。結果應該是該函數從ETH/USD聚合器合約返回的最新價格,然后可以在我們的智能合約中鏈上調用這個數據。注意我們不需要為請求發送任何LINK代幣,也不使用任何ETH,該交易純粹是讀取鏈上ETH-USD聚合器合約中的數據。
ETH/USD喂價結果
在Solidity中獲取其他價格數據
Chainlink喂價提供了大量的位于頭部的DeFi價格對的價格數據。如果你需要在你的智能合約中獲取的資產價格數據沒有被現有的喂價合約覆蓋到,比如特定的股票的價格,你可以自定義Chainlink預言機以調用任何的外部API。使用Chainlink預言機獲取外部價格數據的最簡單方法是從標準Chainlink的APIConsumer合約開始。這是通過Chainlink預言機來啟動對外部數據請求的標準化合約。
完成創建APIConsumer合約后,就可以去找到想要從中獲取價格數據的API。如,你可以使用AlphaVantageAPI查找IBM股票的當前價格。
有了API端點后,你只需要在合約中設置正確的參數并將請求發送給Chainlink預言機。可以在Chainlink文檔中找到有關此內容以及如何使用標準APIConsumer合約的更多信息。
請記住在生產環境中,你將會希望把這種使用方法去中心化,或者從喂價合約本身獲取此特定數據。
總結
Chainlink喂價提供了一種可靠的方法來獲取高質量的比特幣、以太坊以及其他加密貨幣價格數據到Solidity智能合約中。此外,Chainlink的預言機框架還提供了可以快速、輕松地獲取其他價格數據的靈活性,如股票、商品和其他資產的價格數據。
Tags:INKLINKNLINKChaintronlink錢包哪個國家的link幣最新消息前景TronLink錢包europechain
鏈聞消息,DeFi抵押借貸平臺CreamFinance發布2月平臺儲備金管理報告,根據該報告,CreamFinance已于今年2月17日至2月22日期間.
1900/1/1 0:00:00據Sperax團隊消息,為感謝所有支持Sperax的社區伙伴和SPA持幣者,同時將未來的治理權利下放給社區,Sperax將在通過一個系列針對現有SPA代幣持有者空投活動的形式回饋支持者.
1900/1/1 0:00:00尊敬的瓦特合約用戶: 瓦特合約將于新加坡時間2021年2月26日16:00正式上線MIR/USDT、MASK/USDT、TORN/USDT3個正向永續合約交易幣對.
1900/1/1 0:00:00VitalikButerin認為,EIP-1559對客戶端產生的風險并不會比固定gaslimit的機制更高.
1900/1/1 0:00:00當昨日的幣圈都在為搶不到MASK的ITO而傷心難過的時候,有的人已經偷偷的上車即將拆分的BTCST,算上避開的大盤跌幅,獲利近一倍.
1900/1/1 0:00:00盡管比特幣、DeFi?在2月21日市值突破?1萬億美元、總鎖倉量達到?445億美元之后,加密貨幣市場出現大幅回調,但2021年長期走牛、DeFi在本輪牛市唱主角的基本面并沒有改變.
1900/1/1 0:00:00