链link服务协议详解:注册、创建与执行过程

需积分: 0 0 下载量 98 浏览量 更新于2024-09-02 收藏 431KB PDF 举报
Chainlink服务协议是一种去中心化的数据交互协议,用于在智能合约之间可靠地交换信息。协议的核心机制涉及预言机节点、服务协议提议和执行。以下是协议的主要步骤: 1. 预言机节点注册: 预言机节点通过在链上的"存款合约"中存入LINK(Chainlink的代币)来注册。这些LINK用于确保预言机节点的信誉和参与度。预言机节点通过调用预言机合约中的Deposit方法,指定所需的LINK数量。 2. 服务协议创建: 请求者发起CreateServiceAgreement,这是一种服务协议提议,包含了协议的所有详细信息。请求者会向选定的预言机节点发送此提议,每个节点会验证提议的哈希值,并在验证通过后对其签名。如果预言机节点满足执行条件(如足够的保证金),则会返回签名。 3. 服务协议提交与确认: 请求者收集所有预言机节点的签名后,将这些签名以及完整的ServiceAgreement数据提交到预言机合约。合约会检查参数的有效性,如果所有条件满足,服务协议就被记录下来,预言机可以取回多余的保证金。 4. 服务协议执行: 请求者指示预言机执行特定的任务,这可能通过直接调用预言机合约或通过消费者合约间接触发。执行请求包括ServiceAgreement ID (SAID)、作业请求参数、以及回调地址和回调函数选择器。预言机合约发布运行日志作为执行状态的证据。 5. 错误处理与重试: 如果预言机节点无法执行或者拒绝执行,它们会发送NACK。在这种情况下,请求者可以选择一组新的预言机节点重新发起服务协议流程。 6. 安全性与验证: 服务协议执行过程中,对每个预言机节点签名的验证至关重要,以确保数据的完整性和可信度。只有当签名正确、参数有效且顺序匹配时,预言机节点的保证金才能得到释放。 Chainlink服务协议是一个复杂的系统,它利用分布式网络确保智能合约与现实世界数据的准确交互,同时通过链上操作保证了交易的安全性和透明度。预言机节点的角色是数据提供者和验证者,而服务协议则是连接各方的关键纽带。