在Solidity智能合約中獲取價格數據是DeFi應用的常見需求。在Solidity中為了獲取ETH,BTC或者其他加密貨幣的價格,你可以通過下面兩種方式之一完成:使用Chainlink的喂價獲取價格數據
通過Chainlink預言機使用外部API獲取價格數據
在本技術教程中,我們將詳細講解這兩種方法,并分享代碼案例幫助你構建、部署并測試智能合約。首先,我們快速了解一下為智能合約提供外部數據時,數據質量和端到端去中心化的重要性。
智能合約對準確、可靠的價格數據的需求
今年DeFi協議呈爆發式增長,DeFi的總鎖定價值從一月份6.8億美金激增到現在的140億美金。這些DeFi協議依賴外部價格數據作為數據源,因為區塊鏈不能在本地直接訪問外部數據。此外這些應用需要提供數據保障來保護應用免遭漏洞利用,如價格預言機攻擊等攻擊。
美國國會成員置評美聯儲CBDC報告:美聯儲未能表明其如何保護數據:1月21日消息,美國國會參議院共和黨成員Toomey置評美聯儲央行數字貨幣(CBDC)報告:美聯儲未能表明其如何保護數據,這讓人深感擔憂。[2022/1/21 9:03:35]
Chainlink喂價能夠降低這些攻擊的風險,實現方法是提供聚合自多種高質量數據提供商的數據,并通過Chainlink網絡上的去中心化預言機將數據輸入到鏈上。Chainlink的去中心化預言機機制能確保最終的價格數據反映廣泛的市場信息覆蓋,這意味著最終的價格數據是在匯總整個市場上各種不同的價格數據之后確定的,而不只是一小部分信息,同時也會考慮到其他因素,如成交量和流動性等。
現在我們理解了Solidity智能合約對準確、可靠的價格數據的需求以及Chainlink喂價預言機所扮演的重要角色,下面我們將詳細解讀使用Chainlink喂價獲取最新的以太坊價格數據的案例。下面的步驟也能應用到比特幣以及其他加密貨幣。
聲音 | 陳建奇:區塊鏈應用還在于如何構建讓區塊鏈技術有效運行的機制:據人民日報無線新媒體報道,中共中央黨校國際戰略研究所世界經濟室副主任陳建奇指出,區塊鏈最核心的創新在于解決信任問題,非對稱加密是區塊鏈技術基礎。區塊鏈應用不僅在于技術,還在于如何構建讓區塊鏈技術有效運行的機制。他強調,區塊鏈技術進步面臨的挑戰也不容低估:一是量子計算的發展對加密技術的沖擊;二是區塊鏈技術在貨幣金融領域的應用與有效監管的問題;三是用戶規模的問題,不同應用的用戶不足以認證;四是不同應用區塊鏈平臺之間的對接問題。[2019/12/29]
在以太坊上使用Chainlink喂價
Chainlink喂價使用多種高質量的數據輸入,并通過Chainlink預言機的去中心化網絡聚合這些數據,將價格數據輸入到參考合約中,這些數據結果會在聚合器智能合約中聚合成為最新的價格數據作為可信答案。使用多種節點聚合的多種數據源,我們能夠確保我們的價格數據達到最高質量,并且不會遭受漏洞利用或者價格預言機攻擊。
動態 | 受監管代幣交易商尋求SEC澄清數字資產如何符合美國證券法:據Coindesk報道,受監管的代幣交易商Templum希望美國證券交易委員會(SEC)澄清在區塊鏈上跟蹤或代幣化的數字資產如何符合美國證券法規。為此,該公司上周向SEC提交了一份規則制定請愿書,其中概述了在某些形式的證券交易中如何利用加密資產和區塊鏈技術。Templum聯合創始人兼首席執行官Vince Molinari表示,該公司要求明確這些新生技術如何適應當前的監管計劃。 至少在他們看來,它們并不存在于現有框架中。具體而言,Templum希望SEC解釋區塊鏈平臺何時必須注冊為清算公司或清算公司可以如何使用區塊鏈,以及區塊鏈平臺何時必須注冊為轉賬代理或告知數字資產發行人何時必須使用區塊鏈轉賬代理人。該公司還試圖了解SEC會何時可對現有的托管和客戶保護規則進行改善,以允許用于跟蹤證券交易的區塊鏈。[2018/12/21]
創建智能合約
金色財經獨家整理 貿易戰對比特幣走勢影響如何?貿易戰避險,比特幣“效果不錯”:
今日凌晨,中美史上最大貿易戰打響,全球股市重挫,數字資產比特幣走勢如何再被討論。重溫早在3月2日Brian Kelly在CNBC的關于貿易戰的言論:貿易戰將加強美元貶值、物價上漲的預期,由于普遍擔憂通脹,人們愿意投資比特幣這樣的“新黃金”、 “硬資產”(避險),“在貿易戰中,比特幣效果不錯”。
Brian Kelly的觀點發表于300億美元貿易戰規模預測下,而今600萬“變本加厲”。中國已于今晨展開“反擊”,外媒也普遍預測美國為長期輸家。股市下跌將支撐黃金,金價在昨日由于加息和貿易戰擔憂下收于兩周最高點,而比特幣為何反而下跌?據CNBC稱:比特幣未守住9000美元關口或因日本對加密數字貨幣加強監管力度的政策可能。金色財經認為,由于政策目前仍為影響比特幣的主要因素,在最晚今年7月份國際監管措施出臺、政策逐步趨穩后,數字貨幣價格將逐漸與黃金漲跌保持相似的變動。[2018/3/23]
第一步是獲取測試網的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:LINKINKChainLinkNLINKlink幣發行量是多少SPACELINKchainlink幣怎么挖tronlink錢包騙局
2021年2月23日,美聯儲主席鮑威爾出席參議院聽證會,再次重申寬松貨幣政策姿態,將保持利率接近0,直到充分就業和通貨膨脹上升到2%,并有望在一段時間內適當超過2%.
1900/1/1 0:00:00親愛的庫幣用戶: 我們很高興的宣布,庫幣將上線SparkPoint(SRK)項目并支持交易對SRK/USDT和SRK/BTC.
1900/1/1 0:00:00尊敬的LBank用戶: 為回饋LBK社區用戶,LBank將開啟「LBK周四GO」WOO八折專場售賣。本次售賣將于3月4日啟動,本輪售賣共打折出售等值50,000USDT的WOO.
1900/1/1 0:00:00比特幣隔夜在連續下探測試45000一線支撐不破后迎來反彈,日內價格震蕩走高,但是晚間反彈至51400一線出現連續性承壓,小時線多次測試此位置均未能有效企穩,短線價格開始回落.
1900/1/1 0:00:00根據XEM官方公告快照時間,Gate.io確定將于XEM區塊高度3,105,500附近的整點時間2021年03月12日早上9:00按照用戶XEM持倉快照為用戶空投Symbol代幣XYM.
1900/1/1 0:00:00尊敬的用戶: WBF即將在開放區上線EAC/USDT、EAC/DUSD交易對,具體上線時間請關注官方公告.
1900/1/1 0:00:00