📢 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通过精心设计的激励机制和安全机制,成为了目前最广泛使用的预言机解决方案。