📢 Gate廣場獨家活動: #PUBLIC创作大赛# 正式開啓!
參與 Gate Launchpool 第 297 期 — PublicAI (PUBLIC),並在 Gate廣場發布你的原創內容,即有機會瓜分 4,000 枚 $PUBLIC 獎勵池!
🎨 活動時間
2025年8月18日 10:00 – 2025年8月22日 16:00 (UTC)
📌 參與方式
在 Gate廣場發布與 PublicAI (PUBLIC) 或當前 Launchpool 活動相關的原創內容
內容需不少於 100 字(可爲分析、教程、創意圖文、測評等)
添加話題: #PUBLIC创作大赛#
帖子需附帶 Launchpool 參與截圖(如質押記錄、領取頁面等)
🏆 獎勵設置(總計 4,000 枚 $PUBLIC)
🥇 一等獎(1名):1,500 $PUBLIC
🥈 二等獎(3名):每人 500 $PUBLIC
🥉 三等獎(5名):每人 200 $PUBLIC
📋 評選標準
內容質量(相關性、清晰度、創意性)
互動熱度(點讚、評論)
含有 Launchpool 參與截圖的帖子將優先考慮
📄 注意事項
所有內容須爲原創,嚴禁抄襲或虛假互動
獲獎用戶需完成 Gate廣場實名認證
Gate 保留本次活動的最終解釋權
Chainlink預言機: 區塊鏈世界與現實世界的橋梁
預言機技術深度解析
預言機是區塊鏈生態系統中的關鍵基礎設施,其核心功能是爲智能合約提供外部數據。作爲連接鏈上智能合約和鏈下真實世界的中間件,預言機扮演着至關重要的角色。
以太坊網路上的一個智能合約如果需要獲取某天的原油交易量數據,就無法直接訪問這種鏈下的現實世界信息。這時就需要通過預言機來實現數據傳輸。具體流程是:智能合約先將所需日期的原油交易量寫入事件日志,然後鏈下會啓動一個進程來監控該事件日志。當檢測到請求時,該進程會通過提交鏈上交易,調用合約相關方法,將指定日期的原油交易量數據上傳到智能合約中。
在衆多預言機項目中,Chainlink佔據了最大的市場份額。作爲一個去中心化的預言機網路,Chainlink致力於以最安全的方式向區塊鏈提供現實世界的數據。它在基本預言機原理之上,圍繞LINK代幣構建了一個經濟激勵驅動的良性生態系統。
Chainlink預言機的觸發需要通過轉帳LINK代幣來實現。LINK是以太坊網路上的ERC677合約代幣,這種基於LINK完成的預言機功能屬於請求/響應模式。
ERC677標準在ERC20基礎上增加了transferAndCall方法,將支付和服務請求合二爲一,更好地滿足了預言機業務場景的需求。當用戶調用transferAndCall進行轉帳時,除了標準ERC20轉帳外,還會判斷接收地址是否爲合約地址,如果是則調用該地址的onTokenTransfer方法。
在請求預言機服務之前,用戶需要先確認該預言機的可信度,因爲預言機提供服務前需要先付款。預言機的可信度可以根據多個維度來劃分。
當預言機消費者使用transferAndCall方法支付費用並請求服務時,預言機合約中的onTokenTransfer方法會進行一系列安全檢查,包括驗證轉帳代幣是否爲LINK、data長度是否超限、function selector是否正確等。檢查通過後,會通過delegatecall來調用當前oracle合約的oracleRequest方法。
oracleRequest方法會生成唯一的requestId,設置過期時間,並將相關信息添加到commitments映射中。最重要的是,它會發出一個OracleRequest事件,其中包含了請求數據。這個數據採用CBOR編碼格式,可以包含各種形式的信息。
鏈下節點會監聽OracleRequest事件。當檢測到新的請求時,節點會解析出具體信息,通過API調用獲取所需數據,然後提交交易調用Oracle合約的fulfillOracleRequest方法,將數據上傳到鏈上。
fulfillOracleRequest方法會進行一系列檢查,包括調用者授權、requestId有效性等。檢查通過後,會將請求費用累加到可提現金額中,從commitments映射中刪除該requestId,並調用請求者合約的回調函數。
回調函數會進行進一步的驗證,然後對返回的數據進行處理。對於價格預言機,通常是更新當前價格。
除了這種通用預言機流程,Chainlink還提供了更簡單的價格預言機接口。每個交易對都有一個單獨的Price Feed(Aggregator),開發者可以直接調用其latestRoundData()方法獲取最新價格,無需自行指定API地址等信息。
總的來說,預言機作爲區塊鏈世界與現實世界的橋梁,在去中心化應用中發揮着不可或缺的作用。Chainlink通過精心設計的激勵機制和安全機制,成爲了目前最廣泛使用的預言機解決方案。