🎉 #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還圍繞LINK代幣構建了一個通過經濟激勵形成良性循環的生態系統。在Chainlink網路中,預言機服務需要通過轉移LINK代幣來觸發,而LINK是以太坊上的一種ERC677代幣。基於LINK代幣實現的預言機功能屬於請求/響應模式。
ERC677標準在ERC20的基礎上增加了transferAndCall方法,將支付和服務請求合二爲一,更好地滿足了預言機業務場景的需求。當用戶調用transferAndCall進行轉帳時,除了常規的ERC20轉帳外,如果接收方是合約地址,還會調用該地址的onTokenTransfer方法。
在鏈上oracle請求過程中,當預言機消費者使用transferAndCall方法支付費用並請求服務時,預言機合約的onTokenTransfer方法會首先進行一系列安全檢查,包括驗證轉帳是否爲LINK代幣、檢查請求數據長度是否合規、驗證function selector等。通過這些檢查後,才會通過delegatecall來調用oracle合約的oracleRequest方法。
oracleRequest方法會生成唯一的requestId,設置請求過期時間,並將相關信息記錄到commitments映射中。最重要的是,它會發出一個包含請求數據的OracleRequest事件。這個事件中的數據通常採用CBOR(簡潔二進制對象表示)格式編碼,便於鏈下節點解析處理。
鏈下節點在響應請求時,會調用fulfillOracleRequest方法。該方法首先會進行一系列驗證,包括檢查調用者權限、驗證請求有效性等。驗證通過後,會更新可提取的代幣數量,刪除對應的commitment記錄,並最終調用請求者合約的回調函數。
對於開發者而言,如果只需使用現有的幣對價格數據,可以直接調用Chainlink提供的Price Feed接口。每個交易對都有一個獨立的Price Feed(也稱爲Aggregator),實際上是一個AggregatorProxy合約。這些接口提供了獲取價格精度、描述、版本號以及最新價格數據等功能。大多數應用場景下,合約可能只需讀取最新價格,通過調用latestRoundData()方法即可獲得。值得注意的是,以美元計價的交易對通常採用統一的8位精度,這簡化了不同代幣間的精度處理問題。