🎉 #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旨在以最安全的方式向區塊鏈提供現實世界中產生的數據。Chainlink在基本預言機原理的基礎上,圍繞LINK代幣通過經濟激勵建立了一個良性循環的生態系統。Chainlink預言機需要通過LINK代幣的轉帳來觸發。LINK是以太坊網路上的ERC677合約,基於LINK代幣完成的預言機功能屬於請求/響應模式。
ERC677代幣標準在ERC20的基礎上增加了transferAndCall方法。該方法將支付和服務請求合二爲一,滿足了預言機業務場景的需求。當用戶進行transferAndCall轉帳時,除了ERC20的轉帳外,還會判斷接收地址是否爲合約地址,如果是則調用該地址的onTokenTransfer方法。
在請求預言機服務之前,用戶需要先確認該預言機的可信度,因爲預言機爲消費者提供服務前需要先付款。當預言機的消費者使用transferAndCall方法支付費用並請求服務時,預言機合約的onTokenTransfer方法會進行一系列安全檢查,包括驗證轉帳是否爲LINK代幣、檢查數據長度是否超限、驗證function selector等。檢查通過後,才會通過delegatecall來調用oracle合約的oracleRequest方法。
oracleRequest方法會生成唯一的requestId,設置過期時間,並發出OracleRequest事件。該事件包含了請求數據,採用CBOR編碼格式。鏈下節點會監聽這個事件,解析出請求信息,然後通過API調用獲取所需數據,最後通過提交交易的方式調用fulfillOracleRequest方法將數據提交到鏈上。
fulfillOracleRequest方法會進行一系列驗證,包括檢查調用者權限、驗證請求有效性等。驗證通過後,會記錄可提取的代幣數額,並調用請求者合約的回調函數返回數據。
對於開發者來說,如果只想使用已有的幣對價格數據,可以直接調用官方提供的Price Feed接口。每個交易對都有一個單獨的Price Feed(即Aggregator),實際上是AggregatorProxy合約。開發者可以通過調用latestRoundData()方法獲取最新價格數據,其中answer參數即爲最新價格。大多數以USD爲計價單位的交易對,精度統一爲8位,簡化了不同代幣間的精度處理。