在Solidity智能合約中獲取價格數據是DeFi應用的常見需求。在Solidity中為了獲取ETH,BTC或者其他加密貨幣的價格,你可以通過下面兩種方式之一完成:使用Chainlink的喂價獲取價格數據
通過Chainlink預言機使用外部API獲取價格數據
在本技術教程中,我們將詳細講解這兩種方法,并分享代碼案例幫助你構建、部署并測試智能合約。首先,我們快速了解一下為智能合約提供外部數據時,數據質量和端到端去中心化的重要性。
智能合約對準確、可靠的價格數據的需求
今年DeFi協議呈爆發式增長,DeFi的總鎖定價值從一月份6.8億美金激增到現在的140億美金。這些DeFi協議依賴外部價格數據作為數據源,因為區塊鏈不能在本地直接訪問外部數據。此外這些應用需要提供數據保障來保護應用免遭漏洞利用,如價格預言機攻擊等攻擊。
Euler Finance社區就如何將追回的被盜資金分配給用戶進行投票:Euler Finance社區就如何將追回的被盜資金分配給用戶進行投票
金色財經報道,DeFi借貸協議Euler Finance背后社區正在就如何將追回的被盜資金分配給用戶進行投票,如果該計劃獲得批準,Euler將使用協議因黑客攻擊而被禁用時的價格來計算用戶資產和負債的價值。
此前報道,Euler Finance在3月份遭受了2億美元的黑客攻擊,該團隊上周表示,它已經收回了在黑客攻擊中被盜的所有“可追回資金”。根據Euler治理論壇的提議,收回的資金總額超過95,556個ETH和4300萬個DAI穩定幣。未追回的資金包括發送到Tornado Cash的1,100ETH和發送到與Lazarus Group相關地址的100ETH,Lazarus Group是一個據稱與朝鮮有關的黑客組織。[2023/4/11 13:55:39]
Chainlink喂價能夠降低這些攻擊的風險,實現方法是提供聚合自多種高質量數據提供商的數據,并通過Chainlink網絡上的去中心化預言機將數據輸入到鏈上。Chainlink的去中心化預言機機制能確保最終的價格數據反映廣泛的市場信息覆蓋,這意味著最終的價格數據是在匯總整個市場上各種不同的價格數據之后確定的,而不只是一小部分信息,同時也會考慮到其他因素,如成交量和流動性等。
沃爾瑪調查其與萊特幣合作的虛假新聞稿是如何發布的:9月14日消息,在與萊特幣合作的假消息傳出后,沃爾瑪公司表示正在調查欺詐性新聞稿是如何發布的。The Litecoin Foundation和Charlie Lee也在調查此事。此外,Globenewswire表示,它還將與當局合作,“要求并促進進行全面調查,包括與此事相關的任何犯罪活動。”(Bitcoin News)[2021/9/15 23:25:08]
現在我們理解了Solidity智能合約對準確、可靠的價格數據的需求以及Chainlink喂價預言機所扮演的重要角色,下面我們將詳細解讀使用Chainlink喂價獲取最新的以太坊價格數據的案例。下面的步驟也能應用到比特幣以及其他加密貨幣。
在以太坊上使用Chainlink喂價
Life預言機協議:正在探索如何把真實數據存儲在Filecoin網絡:北京時間2021年5月18日15時,Life預言機協議官方發布博客表示正在探索如何把真實數據存儲在Filecoin網絡。Life去中心化數據預言機協議啟動于2017年,旨在實現區塊鏈與現實世界的數據可信交互。Life是一個集成了智能合約、加密算法、通證經濟以及各種API的綜合性去中心化預言機網絡。生態參與者可依靠智能硬件采集設備進行海量數據收集,后端接入Life完成數據的加密存儲、確權和自由流轉。目前Life與可信硬件廠商的合作開發已經進展到了最后的階段,相關可信硬件(數據采集設備)已經研發完成,不久將會上市。Life技術團隊目前正基于Filecoin網絡完善相關的API,以實現可信硬件采集的數據可直接上傳至Filecoin網絡。[2021/5/19 22:20:00]
Chainlink喂價使用多種高質量的數據輸入,并通過Chainlink預言機的去中心化網絡聚合這些數據,將價格數據輸入到參考合約中,這些數據結果會在聚合器智能合約中聚合成為最新的價格數據作為可信答案。使用多種節點聚合的多種數據源,我們能夠確保我們的價格數據達到最高質量,并且不會遭受漏洞利用或者價格預言機攻擊。
聯想回應新品手機如何應用區塊鏈技術:目前沒有更多可披露的:20日下午,聯想發布新品手機Lenovo S5,并將其定義為“區塊鏈手機”。那么Lenovo S5是如何應用區塊鏈技術的?全天候科技就此向聯想方面求證,對方表示,“聯想S5首創雙域隔離、全域加密的安全空間——Z空間,創新性解決支付安全的行業難題,能全面保障用戶的賬號、密碼以及網絡購物的安全,并從底層支持最新的區塊鏈技術。關于區塊鏈其它的內容,目前還沒有更多可以披露的。”[2018/3/21]
創建智能合約
第一步是獲取測試網的ETH作為智能合約的gas費。在獲得一些ETH后,構建一個用上Chainlink喂價的智能合約的最簡單的方式是從標準的價格消費者合約開始。這是用于啟動對Chainlink喂價請求的基本合約。這部分基于演示目的,我們將使用已經定義在標準的價格消費者合約中的ETH/USD喂價,但是我們將詳細解釋這部分的代碼,便于你了解它的工作原理。
首先,我們可以看到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:CHALINKINKChainLinksupmchainlink幣未來會漲到1000美金嗎tronlink怎么提現不了了chainlink幣能漲到多少2025
尊敬的虎符用戶: 正月十五鬧元宵,萬千喜氣上眉梢。一年一度元宵到,愿友合約市場笑。元宵佳節來臨之際,現特推出元宵節合約活動,一起來歡樂鬧元宵吧!活動時間:2021年2月25日-3月3日共7日Hy.
1900/1/1 0:00:00前言 GX.COM交易平臺正式登陸全球知名加密貨幣行情網站——Coingecko.com!這標志著GX.COM全球化戰略布局進一步加深.
1900/1/1 0:00:00正月十五鬧元宵,賞花燈猜燈謎。元宵佳節,Gate.io與您一起共慶月圓時刻。22日至27日,參與動態區“慶元宵猜燈謎”活動,根據謎面提示,最先答對的用戶將贏得價值10美金限時點卡!具體活動內容如.
1900/1/1 0:00:00在本文中,我們將詳細介紹什么是期現套利交易,以及交易者如何使用該交易來捕捉比特幣現貨價格和期貨價格之間的差異.
1900/1/1 0:00:00據Bitcoinwin交易所平臺行情顯示:BTC在24小時內持續震蕩下跌,直至昨日晚間7點多,行情最多跌至44918美金,距離昨日最高點整整跌去了一萬點空間。
1900/1/1 0:00:00尊敬的LOEx用戶:LOEx進取區上線BPT!并開放BPT/USDT交易對具體時間如下:充提幣:2月28號17:00交易對:3月2日15:00注:未到充值開放時間請勿提前充值,如有異常充值資產.
1900/1/1 0:00:00