🎉 #Gate Alpha 第三届积分狂欢节 & ES Launchpool# 聯合推廣任務上線!
本次活動總獎池:1,250 枚 ES
任務目標:推廣 Eclipse($ES)Launchpool 和 Alpha 第11期 $ES 專場
📄 詳情參考:
Launchpool 公告:https://www.gate.com/zh/announcements/article/46134
Alpha 第11期公告:https://www.gate.com/zh/announcements/article/46137
🧩【任務內容】
請圍繞 Launchpool 和 Alpha 第11期 活動進行內容創作,並曬出參與截圖。
📸【參與方式】
1️⃣ 帶上Tag #Gate Alpha 第三届积分狂欢节 & ES Launchpool# 發帖
2️⃣ 曬出以下任一截圖:
Launchpool 質押截圖(BTC / ETH / ES)
Alpha 交易頁面截圖(交易 ES)
3️⃣ 發布圖文內容,可參考以下方向(≥60字):
簡介 ES/Eclipse 項目亮點、代幣機制等基本信息
分享你對 ES 項目的觀點、前景判斷、挖礦體驗等
分析 Launchpool 挖礦 或 Alpha 積分玩法的策略和收益對比
🎁【獎勵說明】
評選內容質量最優的 10 位 Launchpool/Gate
Chainlink:預言機如何連接區塊鏈與現實世界
預言機系統在區塊鏈中的重要性及Chainlink的實現機制
預言機是區塊鏈領域中的關鍵基礎設施,它能夠爲鏈上智能合約提供外部信息。作爲連接智能合約和區塊鏈外部世界的中間件,預言機發揮着至關重要的作用,其主要功能是爲區塊鏈上的智能合約提供數據。
舉個例子,如果我們在以太坊網路上部署了一個需要獲取某天原油交易量數據的智能合約。由於智能合約本身無法直接訪問鏈下的現實世界數據,因此需要通過預言機來實現這一功能。在這種情況下,智能合約會將所需日期的原油交易量寫入事件日志。隨後,鏈下會啓動一個進程來監控並訂閱這個事件日志。當監聽到交易中的請求時,該進程會通過提交鏈上交易,調用合約的相關方法,將指定日期的原油交易量信息上傳到智能合約中。
Chainlink是目前區塊鏈領域市場佔有率最大的預言機項目。它是一個去中心化的預言機系統,旨在以最安全的方式向區塊鏈提供現實世界中產生的數據。Chainlink在基本預言機原理的基礎上,通過LINK代幣構建了一個經濟激勵驅動的良性生態系統。Chainlink預言機需要通過LINK代幣的轉帳來觸發,而LINK是以太坊網路上的ERC677合約。基於LINK ERC677代幣實現的預言機功能屬於請求/響應模式。
ERC677代幣標準是Chainlink爲滿足預言機服務場景需求而提出的。它在標準ERC20的基礎上增加了transferAndCall方法,將支付和服務請求合二爲一。當用戶通過transferAndCall進行轉帳時,除了ERC20的轉帳功能外,還會判斷接收地址是否爲合約地址,如果是,則調用該地址的onTokenTransfer方法。
在Chainlink的實現中,當預言機消費者使用transferAndCall方法支付費用並請求服務時,預言機合約的onTokenTransfer方法會首先進行一系列安全檢查。這包括驗證轉帳是否爲LINK代幣、檢查數據長度是否超過限制,以及驗證函數選擇器等。檢查通過後,會通過delegatecall來調用當前oracle合約的oracleRequest方法。
oracleRequest方法會生成一個唯一的requestId,設置過期時間,並將相關信息添加到commitments映射中。最重要的是,它會發出一個OracleRequest事件,該事件包含了請求數據,採用CBOR(簡潔二進制對象表示)格式編碼。
鏈下節點會監聽這些OracleRequest事件。當檢測到新的請求時,節點會解析事件中的信息,通過API調用獲取所需數據,然後通過調用oracle合約的fulfillOracleRequest方法將數據提交到鏈上。這個方法會進行一系列驗證,然後調用請求者合約的回調函數,將結果返回給消費者合約。
對於開發者來說,如果只需要使用已有的幣對價格,可以直接使用Chainlink提供的Price Feed(也稱爲Aggregator)。每個交易對都有一個單獨的Price Feed,實際上是一個AggregatorProxy合約。這些合約提供了幾個查詢方法,包括獲取價格精度、描述、版本以及最新價格數據等。在大多數應用場景中,合約可能只需要讀取最新價格,即調用latestRoundData()方法。
值得注意的是,以USD爲計價單位的交易對,其價格精度通常統一爲8位,這簡化了不同代幣間精度處理的問題。這種設計讓開發者能夠更便捷地在智能合約中使用實時價格數據,而無需處理復雜的API調用和數據格式轉換。