概述
预言机是收集、验证链下信息,并将验证后的数据“投喂”给区块链上的智能合约,以此来触发链上智能合约的自动执行。
预言机通常由链上运行的智能合约和一些链下组件构成。 链上合约接收其他智能合约的数据请求,并将这些请求传送给链下组件(称为预言机节点)。 这类预言机节点可以查询数据源—例如使用应用程序接口 (API)—并发送交易将请求的数据存储在智能合约的存储中。关于预言机的更多介绍可以查看官方文档。
本文主要以去中心化预言机——Chainlink为例,介绍定时触发智能合约执行的详细步骤,文中的操作在以太坊测试网络Sepolia上进行。
原理
首先,Chainlink在每个网络中都部署了一个智能合约,以Sepolia为例,该合约的地址为0x86EFBD0b6736Bed994962f9797049422A3A8E8Ad。其次,用户调用该合约的方法生成一个新的合约,正是这个新生成的合约根据我们配置的条件(条件在注册Upkeep时提供)来触发我们的智能合约,为了后文方便说明,我们把这个新生成的合约叫作“触发合约”。
准备工作