• 全部
  • 产业
  • Web 3.0
  • DAO
  • DeFi
  • 符文
  • 空投再质押
  • 以太坊
  • Meme
  • 比特币L2
  • 以太坊L2
  • 研报
  • 头条
  • 投资

免责声明:内容不构成买卖依据,投资有风险,入市需谨慎!

互联网计算机智能合约可设置自己的闹钟

2026-10-16 03:59:22
收藏

大多数区块链无法按预定时间运行智能合约

在大多数区块链上,智能合约通常处于空闲状态,直到外部交易将其“唤醒”。根据 Chainlink 的观点,智能合约无法自行触发其功能,需要外部实体通过链上交易来调用它们。许多项目依赖一种被称为“守护者(Keeper)”的外部实体来监控预定义的条件,并在条件满足时触发合约。

在实际操作中,项目方往往需要付费给外部机器人以确保按时发送这些触发信号。开发者也曾尝试运行自己的中心化脚本,但 Chainlink 的一份教程指出,这种方法违背了去中心化应用(DApp)的初衷,并且如果脚本出现故障,还会带来停机风险。

互联网计算机(ICP)定时器的工作原理

相比之下,来自 @dfinity 的互联网计算机(Internet Computer, IC)协议为每个智能合约(称为 Canister)内置了独立的定时器,使得网络能够在指定时间自动执行任务。

IC 文档指出,Canister 可以安排工作以自动运行,无论是经过延迟后执行还是按固定间隔重复执行,均无需任何外部触发器。这一能力是协议层面的原生特性,而非通过链外调度器添加的功能。

在协议层面,每个 Canister 拥有一个全局定时器,即与其状态一起存储的时间戳。当执行环境到达该时间点时,会向 Canister 发送一条消息,Canister 会像处理其他更新调用一样处理该消息。针对 Rust、Motoko 和 TypeScript (Azle) 的开发库在此基础上构建了支持多个定时器和周期性定时器的功能,使 Canister 能够一次性执行任务或按设定间隔重复执行。

原始设计还与网络的燃料模型紧密相关。空闲状态的定时器不消耗任何周期(Cycles,即 ICP 转换成的计算资源单位)。由库触发的任务仍需承担正常成本:文档指出,每个过期的任务都会启动一次 Canister 内部调用,并适用标准的跨 Canister 调用成本。

开发者需注意的限制

需要注意的是,定时器提供的是最小时间保证,而非精确的执行时刻。IC 文档将定时器描述为具有指定最小超时或间隔的调用,当网络繁忙时,任务可能会延迟执行。

此外,定时器本身不会随代码升级而自动保留。文档声明,定时器库不处理 Canister 升级事宜,开发者有责任在需要时对定时器进行序列化并在升级后重新激活。在实践中,开发者必须在升级后重新设置定时器。文档还 discourages 使用前置和后置升级钩子(hooks),称其容易出错,因此团队需要仔细规划此步骤。

总结

对于正在评估平台的开发者而言,这一功能消除了基于时间的逻辑(如定期支付或周期性清理任务)对外部基础设施的常见依赖。然而,它并不能保证精确的执行时间,这对于对时序要求严格的应用程序来说是一个重要的考量因素。

免责声明:

本网站、超链接、相关应用程序、论坛、博客等媒体账户以及其他平台和用户发布的所有内容均来源于第三方平台及平台用户。百亿财经对于网站及其内容不作任何类型的保证,网站所有区块链相关数据以及其他内容资料仅供用户学习及研究之用,不构成任何投资、法律等其他领域的建议和依据。百亿财经用户以及其他第三方平台在本网站发布的任何内容均由其个人负责,与百亿财经无关。百亿财经不对任何因使用本网站信息而导致的任何损失负责。您需谨慎使用相关数据及内容,并自行承担所带来的一切风险。强烈建议您独自对内容进行研究、审查、分析和验证。

展开阅读全文
更多新闻
自选
我的自选
查看全部
市值 价格 24h%