织梦CMS - 轻松建站从此开始!

我的网站

当前位置: 主页 > 竞争币 > 以太坊

Chainlink Keepers 主网上线,如何为 DApp 提供安全且低成本的链下计算?(4)

时间:2021-08-23 13:51来源:未知 作者:admin 点击:
必须先验证条件是否满足再触发合约——条件满足时必须执行状态变更,而某些情况下,当条件不满足时是不能执行状态变更的,比如清算抵押率不足的贷
  • 必须先验证条件是否满足再触发合约——条件满足时必须执行状态变更,而某些情况下,当条件不满足时是不能执行状态变更的,比如清算抵押率不足的贷款或从锁定的合约中取出通证。在这种情况下,当调用 performUpkeep 函数时,智能合约必须验证条件是否满足,比如查看链上价格参考合约或区块号,在执行合约前确保状态变更的有效性。
  • 将高成本的计算放到链下展开,以尽量降低链上成本

    开发者还可以选择尽可能用 Chainlink Keepers 在链下进行计算,这样做的目的是在最大程度上降低链上成本,特别是减少调用链上函数时发送的数据。 

    一个方式是在链下查看大量地址和状态的条件是否满足,比如先查看哪些地址是空投的有效地址,然后针对满足合约条件的一个子集执行链上状态变更。开发者基于 checkUpkeep 函数返回的结果调用链上函数,并传入适当的数据。最理想的情况是智能合约在链上验证条件,而由于 keeper 只传入了一部分具有相关性的数据进行验证,因此可以在最大程度上降低 gas 费。

    在同一个智能合约中设置多个维护任务

    还可以用智能合约处理多个维护任务,帮助开发者管理链上成本并为更加高级的 dApp 自定义触发方式,比如在执行前验证多个不同的条件。以下是具体例子:

    • 管理无边界的维护任务——为 Chainlink Keepers 创建区间边界(range bound),在最大程度上减少不必要的链上计算,以降低合约在链上执行的计算复杂度。这样,开发者就可以在预设的活动范围内维护链上执行,交易执行的成本上限也比较容易预测。
    • 配置 checkUpkeep 函数——编写智能合约代码,基于 Keeper 的 calldata 来执行不同的逻辑,在同一个智能合约函数中执行不同的逻辑。开发者可以根据自身独特的应用需求来灵活使用这一功能,比如当条件满足时触发获取某一流动性挖矿的收益,或当条件不满足时重新投资头寸。

    开发者如果有兴趣进一步了解如何使用 Chainlink Keepers 进行开发,请点击下方链接查看 文档。

    安全的链下计算将推动高级混合型智能合约的未来发展

    Chainlink Keepers 将为开发者带来更加高级的去中心化服务,帮助他们打造下一代混合型智能合约,为用户解锁更大的价值。开发者不仅可以使用 Chainlink 预言机基础架构安全地接入链下数据源,还能使用 Chainlink Keepers 基于预定义的事件自动触发链上函数,并同时保障安全性和可靠性,降低成本并可以在链上验证。

    Chainlink Keepers 的出现让 Web3.0 在开发的成熟度和敏捷性方面与 Web2.0 进一步缩小了差距,让开发者可以轻松访问可验证的数据和链下计算服务,并同时保障安全性和可靠性。Chainlink 为开发者提供成熟且易于操作的去中心化预言机网络(DON),因此开发者可以专注于核心协议和产品开发,这将有助于推动智能合约经济的创新发展,并对整个社会带来深远影响。Chainlink Keepers 只是我们朝着 Chainlink2.0 总体目标迈出的第一步。最终,我们希望为开发者提供全套链下计算服务,帮助开发者在区块链上开发出更多丰富的产品。 (责任编辑:admin)

    织梦二维码生成器
    顶一下
    (0)
    0%
    踩一下
    (0)
    0%
    ------分隔线----------------------------
    发表评论
    请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
    评价:
    表情:
    用户名: 验证码:点击我更换图片
    栏目列表
    推荐内容