市值: $2.2387T 1.83%
成交额(24h): $66.8145B 38.62%
恐惧与贪婪指数:

23 - 极度恐惧

  • 市值: $2.2387T 1.83%
  • 成交额(24h): $66.8145B 38.62%
  • 恐惧与贪婪指数:
  • 市值: $2.2387T 1.83%
加密货币
话题
百科
资讯
加密话题
视频
热门加密百科

选择语种

选择语种

选择货币

加密货币
话题
百科
资讯
加密话题
视频

如何升级智能合约?

Smart contract upgradability enables developers to enhance functionality or fix bugs without altering the contract's address or state, using methods like proxy contracts, unstructured storage, or eternal storage patterns.

2025/07/24 02:01

了解智能合同升级性

智能合约是通过设计不变的,这意味着一旦部署在区块链上,它们的代码就无法更改。但是,升级智能合约是需要修复错误,改善功能或适应不断变化条件的开发人员的至关重要要求。智能合约的升级性不是对现有合同的直接修改,而是涉及设计模式,该模式可以在保留合同的状态和地址的同时改变逻辑。

有几种方法可以实现这一目标,包括代理合同非结构化存储代理永恒的存储模式。每种方法都有其优点和缺点。开发人员必须仔细评估哪种方法最适合其用例,然后再将升级性升级到其智能合约中。

使用代理合同以升级

升级智能合约的最常见和安全方法之一是使用代理合同。这涉及部署两个合同:持有国家和转发电话的代理合同,以及包含实际逻辑的实施合同

  • 代理合同使用代理合同指向实施合同。
  • 部署包含智能合约逻辑的初始实施合同
  • 将代理合同的实施地址设置为指向实施合同的地址。
  • 需要升级时,请部署具有更新的逻辑的新实施合同
  • 更新代理合同的实施指针指向新的实施合同地址,而无需更改代理的地址或州。

此方法可确保用户与相同的合同地址进行交互,而基础逻辑可以无缝升级。

非结构化存储代理模式

非结构化存储代理模式是代理合同方法的高级版本。它使用存储插槽来存储实现地址,从而使其与意外覆盖更加安全。

  • 在代理合同中定义特定的存储插槽以存储实施地址。
  • 在代理合同中编写一个后备功能,该合同使用DelegateCall将所有功能调用转发到实施合同。
  • 部署代理合同和初始实施合同。
  • 使用内联装配或预定义功能在指定的存储插槽中设置实现地址
  • 要升级,请部署新版本的实现合同,并在存储插槽中更新代理的实现地址。

该方法将代理的存储与实施隔离,从而降低了存储碰撞的风险并确保更安全的升级。

实施永恒的存储模式

永恒的存储模式将数据存储与逻辑分开,从而使开发人员可以升级逻辑而不会影响数据。这对于数据持久性至关重要的长期合同特别有用。

  • 创建一个存储所有数据变量的存储合同
  • 制定通过功能调用与存储合同相互作用的逻辑合同
  • 将逻辑合同链接到部署期间或通过注册表合同期间的存储合同
  • 当需要升级时,请部署新的逻辑合同并在注册表或存储合同中更新参考。
  • 确保新的逻辑合同遵循与先前版本相同的接口和数据结构,以保持兼容性。

这种模式为升级逻辑提供了灵活性,同时保持数据完整,使其非常适合复杂的分散应用程序。

升级智能合约的考虑因素

升级智能合约并非没有风险。开发人员必须在实施升级之前考虑几个关键因素:

  • 安全含义:任何升级机制都引入了潜在的攻击向量。彻底审核代理和实施合同至关重要。
  • 访问控制:升级的能力应仅限于受信任的实体。实施多签名治理或时间表可以增强安全性。
  • 兼容性:新实施必须与现有数据结构和功能签名兼容,以避免违反合同。
  • 测试:需要严格的测试以确保升级按预期工作,并且不会引入新的错误或漏洞。
  • 文档:清晰的升级过程和机制的文档对于将来的维护和透明度至关重要。

这些考虑因素有助于确保升级机制坚固,安全和可维护。

常见问题

谁能升级智能合同?不,升级智能合约的能力通常仅限于合同中定义的特定地址或角色。这些角色可能包括所有者地址,治理合同或多智钱包。

无需使用代理合同而可以升级性吗?是的,尽管代理合同是最常见的方法,但其他方法(例如永恒的存储方式或模块化合同设计)也可以根据体系结构升级。

合同升级期间用户资金会发生什么?在升级期间,用户资金仍然安全,因为代理合同维护相同的地址和状态。基础逻辑已更新,但存储和平衡仍然不受影响。

在部署前如何测试智能合同升级?您可以通过模拟升级过程来测试本地区块链或TestNet上的升级。使用Hardhat或Truffle等工具在受控环境中部署和测试代理和实施合同。

免责声明:info@kdj.com

所提供的信息并非交易建议。根据本文提供的信息进行的任何投资,kdj.com不承担任何责任。加密货币具有高波动性,强烈建议您深入研究后,谨慎投资!

如您认为本网站上使用的内容侵犯了您的版权,请立即联系我们(info@kdj.com),我们将及时删除。

相关百科

什么是资金费率翻转?为什么它经常预示着市场情绪的变化

什么是资金费率翻转?为什么它经常预示着市场情绪的变化

2026-06-14 03:57:05

市场波动模式1. Bitcoin 在重大宏观经济公告期间,24 小时内价格波动往往超过 10%。 2. 合并事件期间,以太坊的波动性指数飙升至 95 以上,反映出 Layer 1 和 Layer 2 生态系统的深度流动性碎片化。 3. 稳定币脱钩——例如 USDC 在 2023 年 3 月暂时偏离至...

如何识别加密货币期货市场中的市场操纵信号

如何识别加密货币期货市场中的市场操纵信号

2026-06-12 17:26:02

Bitcoin 减半机制1. Bitcoin 的协议强制执行固定的发行时间表,其中大约每 210,000 个区块,区块奖励就会减少一半。 2. 该事件大约每四年发生一次,直接减少每个区块新进入流通的 BTC 数量。 3.截至2020年减半,矿工每区块获得6.25 BTC;下一次减少将使其达到 3.1...

什么是杠杆陷阱?为什么零售贸易商经常被抓

什么是杠杆陷阱?为什么零售贸易商经常被抓

2026-06-12 23:53:36

市场波动模式1. Bitcoin 在 ETF 批准公告或重大交易所中断等高流动性事件期间,24 小时窗口内价格波动通常超过 5%。 2. 以太坊的波动性峰值与第 2 层采用指标密切相关,特别是当新的 Rollup 在主网上线并经历快速用户增长时。 3. 稳定币脱钩事件(例如 2023 年 3 月的 ...

什么是突破交易?期货交易者如何捕捉大幅价格变动

什么是突破交易?期货交易者如何捕捉大幅价格变动

2026-06-13 05:19:40

了解加密货币期货的突破机制1. 当 Bitcoin 或山寨币价格果断突破既定阻力位且交易量持续激增时,就会发生突破,通常会引发杠杆多头头寸的级联清算。 2. 在永续合约市场中,突破经常与融资利率飙升和未平仓合约扩张同时发生,这表明机构参与而不是散户噪音。 3. 与现货市场不同,加密货币期货的突破会被...

高杠杆期货头寸的最佳止损策略是什么?

高杠杆期货头寸的最佳止损策略是什么?

2026-06-14 14:19:32

高杠杆期货交易中的止损机制1. 止损设置必须符合价格扩散的统计特性,而不是任意的百分比阈值。在能源期货价差等均值回归市场中,最佳止损水平源自奥恩斯坦-乌伦贝克动力学下的首次退出时间分布。 2. 固定的 1% 或 2% 止损忽略了波动性聚集和状态转变。对取暖油/天然气-油半小时数据的实证回溯测试表明,...

如何在重大经济公告期间交易加密货币期货

如何在重大经济公告期间交易加密货币期货

2026-06-12 22:50:44

市场波动模式1. Bitcoin 在减半公告或主要交易所上市等高流动性事件期间,单个 24 小时窗口内的价格波动通常超过 5%。 2. 过去 36 个月,山寨币与 BTC 的相关性平均高于 0.78,表明对 Bitcoin 方向性走势的强烈依赖。 3. 期货未平仓合约的飙升常常先于急剧逆转——尤其是...

什么是资金费率翻转?为什么它经常预示着市场情绪的变化

什么是资金费率翻转?为什么它经常预示着市场情绪的变化

2026-06-14 03:57:05

市场波动模式1. Bitcoin 在重大宏观经济公告期间,24 小时内价格波动往往超过 10%。 2. 合并事件期间,以太坊的波动性指数飙升至 95 以上,反映出 Layer 1 和 Layer 2 生态系统的深度流动性碎片化。 3. 稳定币脱钩——例如 USDC 在 2023 年 3 月暂时偏离至...

如何识别加密货币期货市场中的市场操纵信号

如何识别加密货币期货市场中的市场操纵信号

2026-06-12 17:26:02

Bitcoin 减半机制1. Bitcoin 的协议强制执行固定的发行时间表,其中大约每 210,000 个区块,区块奖励就会减少一半。 2. 该事件大约每四年发生一次,直接减少每个区块新进入流通的 BTC 数量。 3.截至2020年减半,矿工每区块获得6.25 BTC;下一次减少将使其达到 3.1...

什么是杠杆陷阱?为什么零售贸易商经常被抓

什么是杠杆陷阱?为什么零售贸易商经常被抓

2026-06-12 23:53:36

市场波动模式1. Bitcoin 在 ETF 批准公告或重大交易所中断等高流动性事件期间,24 小时窗口内价格波动通常超过 5%。 2. 以太坊的波动性峰值与第 2 层采用指标密切相关,特别是当新的 Rollup 在主网上线并经历快速用户增长时。 3. 稳定币脱钩事件(例如 2023 年 3 月的 ...

什么是突破交易?期货交易者如何捕捉大幅价格变动

什么是突破交易?期货交易者如何捕捉大幅价格变动

2026-06-13 05:19:40

了解加密货币期货的突破机制1. 当 Bitcoin 或山寨币价格果断突破既定阻力位且交易量持续激增时,就会发生突破,通常会引发杠杆多头头寸的级联清算。 2. 在永续合约市场中,突破经常与融资利率飙升和未平仓合约扩张同时发生,这表明机构参与而不是散户噪音。 3. 与现货市场不同,加密货币期货的突破会被...

高杠杆期货头寸的最佳止损策略是什么?

高杠杆期货头寸的最佳止损策略是什么?

2026-06-14 14:19:32

高杠杆期货交易中的止损机制1. 止损设置必须符合价格扩散的统计特性,而不是任意的百分比阈值。在能源期货价差等均值回归市场中,最佳止损水平源自奥恩斯坦-乌伦贝克动力学下的首次退出时间分布。 2. 固定的 1% 或 2% 止损忽略了波动性聚集和状态转变。对取暖油/天然气-油半小时数据的实证回溯测试表明,...

如何在重大经济公告期间交易加密货币期货

如何在重大经济公告期间交易加密货币期货

2026-06-12 22:50:44

市场波动模式1. Bitcoin 在减半公告或主要交易所上市等高流动性事件期间,单个 24 小时窗口内的价格波动通常超过 5%。 2. 过去 36 个月,山寨币与 BTC 的相关性平均高于 0.78,表明对 Bitcoin 方向性走势的强烈依赖。 3. 期货未平仓合约的飙升常常先于急剧逆转——尤其是...

查看所有文章

User not found or password invalid

Your input is correct