使用 Chainlink Keepers 实现智能合约函数的自动化执行

  • Chainlink
  • 更新于 2022-07-27 22:24
  • 阅读 2575

智能合约有一个经常被忽视的特点,就是它不能自行执行,而是需要一个外部实体来触发它们的内部逻辑,Chainlink Keepers 可以实现合约函数的自动化执行。

智能合约是在区块链上的确定性程序,当满足某些预定义条件时就会执行。智能合约的最初用例主要是发行基于区块链的通证,后来开发人员基于预言机网络创建了混合型智能合约,与不使用预言机的智能合约相比,混合型智能合约可以借助预言机,使用链下的数据和计算资源,以实现更复杂的应用程序。

对于一些功能比较复杂的智能合约来说,链下的计算基础设施有一个关键部分,即合约自动化执行工具 Keepers —— 当满足各种预定义条件时,它可以用来触发链上交易,这使得开发人员能够让智能合约的关键功能实现自动化。

在这篇文章中,我们将探索 Chainlink Keepers Job Scheduler —— 一个新的 UI,使智能合约的开发人员能够在几秒钟内快速、安全、可靠地实现基于时间的自动化工作。如果您想立即开始使用 Keepers Job Scheduler,请转到 Chainlink Keepers App 注册一个新的基于时间的 Upkeep

难题:智能合约无法自动执行

智能合约有一个经常被忽视的特点,就是它不能自行执行,而是需要一个外部实体来触发它们的内部逻辑。

为了克服这个问题,开发人员可以通过手动或者编写中心化的脚本来触发他们的智能合约,但是这些方法存在中心化风险和效率瓶颈。它们不仅给智能合约引入了安全漏洞,而且占用宝贵的开发时间和资源,原本这些时间和资源可用于提升协议。

unnamed-5.png

如上图所示,创建和维护中心化的基础设施(例如用于智能合约自动化的 cron 作业)会带来重大的安全风险。此外,如果开发人员想要自己的智能合约基于时间自动执行,就必须让自己的合约与自动化服务兼容,这意味着要重新部署合约和迁移用户,执行很花费 gas 的时间检查,还要分别注册每个自动化作业。

解决方案:使用 Chainlink Keepers Job Scheduler 执行基于时间的智能合约自动化任务

Chainlink Keepers 使开发人员能够以去中心化、经济高效和高度安全的方式让他们的智能合约功能实现自动化。

Chainlink Keepers中,开发人员可以指定预定义的条件,让Chainlink Keepers基于这个条件持续检查,一旦这些条件被满足时,Keepers 就发出链上交易,触发智能合约,实现合约函数的自动执行。

Chainlink Keepers Job Scheduler 是一个新的无代码 UI,它可以让开发人员几秒钟内在 Chainlink Keepers Network 上创建基于时间的智能合约自动化作业。通过 Keepers Job Scheduler,开发人员很简单就可以执行基于时间的合约自动化作业,同时,Chainlink Keepers Job SchedulerChainlink Keepers 以及 Chainlink Data Feeds 使用的是同一个去中心化预言机网络。

因此,通过使用 Chainlink Keepers Job Scheduler,开发人员可以节省宝贵的开发时间,去中心化他们的协议或 dApp。通过以去中心化的方式自动执行基于时间的 Solidity 函数,从而提高安全性和正常运行时间。与其花费宝贵的资源建设内部基础设施,Keepers Job Scheduler 是一个去中心化智能合约自动化的现成解决方案。

Chainlink Keepers Job Scheduler 的主要优势包括:

  • 易于使用 —— 使用易于使用的无代码 UI 在几秒钟内帮您实现智能合约自动化。
  • 去中心化 —— 通过利用去中心化的节点网络来执行维护作业,Keepers Job Scheduler 为其合约的自动化提供了更高的安全性、可靠性和正常运行时间保证。
  • 安全性 —— Chainlink Keepers 自己签署链上交易,无需在 Cron 脚本中暴露私钥即可执行智能合约。
  • Gas 效率 —— Keepers 作业调度程序省去了链上需要消耗大量 gas 的检查。

如何开始使用

首先进入到 Chainlink Keepers App 并选择 “Register new Upkeep”。

输入包含您想要自动化的功能的目标合约地址。

unnamed-6.png

选择您要调用的函数,并根据需要指定函数输入。

unnamed-1-2.png

指定您的触发时间表(编写 Cron 表达式):

unnamed-2-2.png

在指定 Upkeep 名称、gas 限制和初始 LINK 余额后,在 Chainlink Keeper 网络上注册您的 Upkeep

unnamed-3-2.png

最后,确认交易以部署 CRON Job 合约并将您的基于时间的 UpKeep 注册到 Chainlink Keepers Network。在将您的合约在 Keepers 中注册为 UpKeep 后,Keepers 会监控 UpKeep 并且执行您的函数。

unnamed-4-1.png

在控制面板查看和管理您的 Upkeeps

unnamed-5-1.png

你完成了!使用 Chainlink Keepers 可以很容易地开始自动化任何智能合约功能。

Chainlink Keepers Job Scheduler 示例用例

Chainlink Keepers 已经支持以太坊PolygonAvalancheBNB 链上的 Solidity 开发人员构建功能齐全的去中心化和端到端全自动的 dApp。如果你想深入了解 Chainlink Keepers 支持的大量智能合约自动化用例,请阅读这篇文章

以下只是 Chainlink Keepers Job Scheduler 解锁的许多基于时间的智能合约自动化用例的几个示例。

开始和停止游戏回合

预测市场和无损储蓄游戏等智能合约应用程序具有需要在特定时间间隔触发的功能,例如开始、停止或暂停游戏或回合。

这些 dApp 需要一个 keeper 网络来监控时间的流逝并以特定的时间间隔触发某些事件。Keepers Job Scheduler 可以可靠地自动执行对应用程序智能合约的这些调用,以触发不同回合或游戏阶段的开始或结束。

奖励支出

许多 DeFi 和 NFT 平台旨在通过财务激励来吸引流动性并鼓励用户参与。定期向一组特定用户分配奖励的协议可以使用 Chainlink Keepers Job Scheduler 以去中心化的方式让奖励分配过程自动化。

Job Scheduler 有助于确保按预定义的时间间隔将奖励分配给用户,而无需任何手动输入,从而为开发团队创造流畅的用户体验并简化智能合约管理。

Rebase 通证

弹性供应通证通过一种称为 rebase 的机制定期调整其供应,以实现所需的功能——通常是与目标指数保持挂钩。

自动化弹性供应通证的 rebase 机制一般是智能合约的一个维护任务,它必须定期执行以实现所需的挂钩。在这里,Chainlink Keepers Job Scheduler 可以定期调用智能合约并以高度可靠和去中心化的方式启动弹性供应通证的 rebase 机制。

动态 NFT

动态 NFT 是不可替代的通证 (NFT)基于外部数据的变化来获取新的属性。NFT 项目可以通过使用 Chainlink Data Feeds 或使用定制的外部适配器连接到任何外部 API 来使用真实数据更新其 NFT。

作为基于时间的智能合约自动化任务的可靠去中心化调度器,Keepers Job Scheduler 可以很好的升级基于时间预定义条件的 NFT。

总结

Chainlink Keepers Job Scheduler 使开发人员能够以去中心化的方式安全、轻松地自动化执行基于时间的智能合约函数。开发人员可以使用 Job Scheduler 替换中心化 Cron Jobs,增强协议的安全性和正常运行时间,并将开发能力从运维中开发出来。

点赞 6
收藏 7
分享
本文参与登链社区写作激励计划 ,好文好收益,欢迎正在阅读的你也加入。

4 条评论

请先 登录 后评论
Chainlink
Chainlink
顶尖的智能合约去中心化预言机网络解决方案 https://chain.link/