| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 区块链 -> 如何使用Chainlink Keepers实现智能合约执行的自动化 -> 正文阅读 |
|
[区块链]如何使用Chainlink Keepers实现智能合约执行的自动化 |
Chainlink 2022春季黑客松已于4月22日拉开帷幕! 欢迎注册!请查看此页面以了解更多信息。 智能合约不能自己执行,这意味着它们需要一个外部拥有账户、预言机或合约来启动它们自己的功能。这给许多dApp带来了问题,比如这类dApp要求合约在固定时间间隔(如每24小时),或者满足预定条件(如以太坊达到特定价格),或者依据某种计算(如贷款被计算为抵押不足)执行。 在过去,开发者会创建并维护他们自己的中心化脚本或者手动触发智能合约的执行以解决问题。然而,这实际上破坏了构建去中心化区块链应用程序的目的,并且如果中心化脚本或手动触发过程失败,就会出现停机的可能。 在本教程中,你将学习如何使用Chainlink Keepers这种可靠的和去中心化的方式自动执行智能合约。 为什么每个智能合约开发者都应该使用去中心化的自动化方案?Chainlink Keepers解锁了一种新形式的去中心化智能合约自动化方案,使开发者能够改变他们构建和维护dApp的方式。去中心化智能合约自动化有三个主要好处。 首先,有必要消除运行中存在的任何中心化故障点。Chainlink Keepers由Keeper节点组成的去中心化网络驱动–这与目前通过Chainlink Data Feeds守护DeFi数百亿价值的超可靠节点相同,消除了单点故障。 其次,开发者不需要投入时间和资源来创建链上监控和合约执行的脚本,只需要创建一个与Keeper兼容的合约并注册,就可以集成优化的Chainlink Keepers基础设施。这节省了时间,也减少了DevOps的工作量,使开发者能够专注于编写更多优秀的代码。 最后,通过使用Chainlink Keepers,开发者可以增强其协议的安全性。 开发者不再需要冒险从中心化服务器发起交易时暴露自己私钥的风险–Chainlink Keeper网络上的节点将签署链上交易。 开始使用Chainlink Keepers你可以通过两个步骤用Chainlink Keepers自动化你的智能合约:
在这些步骤完成后,Chainlink Keepers将按照任务描述执行Upkeep工作,而不需要任何进一步的输入。 如果你是Solidity的新手,我们建议在继续之前先学习一些初级教程。这个教程特别全面和有用。我们现在将向你展示如何使你的合约与Keeper兼容。如果你更喜欢观看有关该主题的视频,请观看我们的视频教程。 如何编写与Keeper兼容的合约与Keeper兼容的合约有一个 导入与Keeper兼容的接口首先,将KeeperCompatibleInterface导入你的合约。
这个接口有两个函数: checkUpkeep函数
checkUpkeep函数需要一个名为checkData的字节参数,该参数在Keepers应用程序上注册Upkeep时被设置。这个值是可选的,可以在你的代码逻辑中使用,用于确定checkUpkeep是否返回true。 checkUpkeep返回一个名为upkeepNeeded的布尔值。当为真时,这将调用 performUpkeep函数 如果你的
轮流的节点选择过程可以防止节点之间的gas价格拍卖竞争,并能稳定你的合约自动化的成本。 下面是一个来自Chainlink Keepers用户Entropyfi的合约实例片段,checkUpkeep检查Entropyfi预测游戏是否要到期结算。
Chainlink Keepers将不断调用checkUpkeep函数,如果upkeepNeeded为真,那么节点将执行执行performUpkeep函数。
从一些示例代码开始无论你是创建一个新的合约,还是已经部署了一个包含需要自动化的函数的合约,在Chainlink Keepers开发者文档中都有一些指南可以帮助你开始。 从这里的合约示例开始。下面的例子代表了一个简单的计数器合约。
Chainlink Keepers可以监控任何链上或链下条件的状态,如时间的流逝(如是否过去了24小时?)或某种计算(如贷款是否被计算为抵押不足?) 一旦条件得到满足,Chainlink Keepers就会在链上提交一个交易,以触发该函数的执行。 你也可以使用Chainlink Keepers的实用合约,比如EthBalanceMonitor合约或这些例子。 如何将你的合约注册为网络上的Upkeep完成与Keeper兼容的合约后,就可以在Chainlink Keepers应用程序中点击“注册新的Upkeep”。 关于如何注册的详细步骤指南,请参阅Chainlink开发者文档。 ***重要提示(对于非以太坊链):***你的Upkeep必须用ERC-677标准的LINK(而不是ERC-20,这在许多桥上是通用的)进行充值。可以使用PegSwap来将你的LINK转换为与ERC-677兼容的版本。 注册和批准后,你可以添加额外的资金,并在Chainlink Keepers应用程序上看到你的Upkeep的所有细节。 今天就开始用起来吧现在你知道用Chainlink Keepers自动化你的智能合约是多么容易了,你可以开始集成Keepers并解锁大量的用例,如DEX限价单、跨链NFT铸造、重新调整和重新平衡通证等等。 访问开发者文档或加入Discord了解更多内容。要讨论集成问题,请点击此处联系专家。 要了解更多信息,请访问chain.link, 订阅Chainlink通讯,并在Twitter, YouTube和Reddit上关注Chainlink。 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/25 20:31:16- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |