You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Hardhat中deployed()方法的作用是什么?

Hardhat中deployed()方法的作用解析

先明确几个关键节点的逻辑:

  • 调用SimpleStorageFactory.deploy()时,只是向区块链网络发送了合约部署交易,此时交易可能还在内存池等待打包,合约并没有真正完成部署。
  • await simpleStorage.deployed()的核心作用是:等待部署交易被矿工打包确认,确保合约已经成功部署到链上,且合约地址已可正常使用。它内部会自动监听交易状态,直到部署交易被确认,此时你拿到的合约实例才是完全可用的,能安全调用合约方法。

再对比你代码里的await simpleStorage.deployTransaction.wait(6):

  • deployed()仅等待交易被确认1次(即被打包进区块),是保证合约可用的基础必要步骤。
  • deployTransaction.wait(6)是额外等待6个区块确认,进一步强化交易的最终性,属于可选的安全增强操作,适合对交易不可逆性要求较高的场景。

简单总结:deployed()是确保合约部署完成、实例可用的必备步骤,跳过它直接调用合约方法可能会因交易未确认而失败;后续的多区块等待是可选的进阶操作。

内容的提问来源于stack exchange,提问作者Ariel Kotch

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.06 17:31:15