市值: $2.4136T -6.55%
成交额(24h): $192.7523B 16.16%
恐惧与贪婪指数:

14 - 极度恐惧

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

选择语种

选择语种

选择货币

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

什么是最小代理合同(EIP-1167)?

A minimal proxy contract efficiently forwards calls to an implementation contract using delegatecall, enabling cost-effective deployments and shared logic across multiple instances.

2025/07/15 05:00

了解最小代理合同

最少的代理合同是一项轻巧的智能合同,旨在将所有呼叫转发给另一个合同,同时保持最小的开销。它在基于以太坊的系统中起着至关重要的作用,尤其是在用共享逻辑部署合同的多个实例时。该概念是通过EIP-1167形式化的,该概念概述了使用最少的字节码创建现有合同克隆的标准。

这种机制背后的核心思想是代码重用。开发人员可以部署代理人将所有功能调用委派给现有的实施合同,而不是每次都使用相同的逻辑部署新合同,而是可以部署一个代理。这大大降低了部署成本并简化了升级。

关键概念:最小代理合同仅包含将执行重定向到目标合同的必要代码。

EIP-1167如何工作?

EIP-1167利用固定性以实现其功能。 VelegateCall允许一份合同从另一个合同中执行代码,同时保留呼叫合同的上下文(例如msg.sender和Storage)。在最少的代理人的情况下,这意味着代理人在不更改呼叫者上下文的情况下将所有传入的呼叫转发给实施合同。

这是其工作原理:

  • 代理合同包含一个单个存储插槽,该存储插槽包含实施合同的地址。
  • 当用户与代理进行交互时,触发了后备功能。
  • 这个后备函数使用授权函数将呼叫转发到存储的实现地址。

由于其简单性,代理合同几乎不需要天然气才能部署,通常不到50,000天气。这种效率使其成为需要快速,便宜地部署许多类似合同的场景。

最小代理合同的结构

最小代理合同通常遵循EIP-1167定义的严格结构。它包括:

  • 一个恒定的地址变量指向实施合同。
  • 在该实现地址执行授权的后备功能。
  • 没有超出实施地址的构造函数或状态变量。

该设计确保代理不会存储任何逻辑本身,而只是充当实施合同的渠道。以下是以坚固性书写的这种合同的简化版本:

 pragma solidity ^0.8.0;合同最小值{






address private immutable implementation; constructor(address _implementation) { implementation = _implementation; } fallback() external payable { address impl = implementation; assembly { let ptr := mload(0x40) calldatacopy(ptr, 0, calldatasize()) let result := delegatecall(gas(), impl, ptr, calldatasize(), 0, 0) let size := returndatasize() returndatacopy(ptr, 0, size) switch result case 0 { revert(ptr, size) } default { return(ptr, size) } } }

}

重要说明:在后备功能中使用内联装配对于保持代理最小和高效至关重要。

最小代理合同的用例

由于其效率和灵活性,最小代理合同在各种分散应用和协议中广泛使用。一些最常见的用例包括:

  • 令牌工厂:从单个实施合同中创建多个ERC-20或ERC-721令牌。
  • 可升级合同:作为升级性模式(例如透明代理或UUP)的基础层。
  • 高效部署:实例化数百或数千个合同时降低部署成本。
  • 合同模板:提供标准化模板,用于多个部署的可预测行为。

这些用例中的每一个都受益于减少的部署足迹以及在多个代理之间保持一致逻辑的能力。

最小代理与其他代理模式之间的差异

以太坊中有几种代理模式,包括透明代理,UUP(通用升级代理标准)和信标代理。在复杂性,升级性和汽油成本方面,每个人都有自己的权衡。

最小代理和其他代理类型之间的关键区别在于功能和可扩展性

  • 除非与其他基础架构配对,否则最小代理不支持升级。
  • 透明的代理包括管理逻辑和代理注册表,增加了气体使用和复杂性。
  • UUPS代理允许通过实施合同进行独立的升级。

最小的代理最适合在部署后实施或外部处理升级后保持静态的方案。

安全考虑和最佳实践

尽管最少的代理合同很简单,但它们并非没有风险。开发人员应遵循最佳实践以确保安全使用:

  • 确保实施不变性:部署后,除非明确打算和确保,否则实施地址不应更改。
  • 避免存储冲突:由于代理和实施共享存储上下文,因此需要仔细计划,如果以后扩展代理。
  • 验证字节码:始终验证代理和实施合同的字节码以防止恶意修改。
  • 彻底测试:使用HardHat或Foundry之类的工具在MainNet部署前模拟相互作用和测试边缘案例。

关键提示:切勿假设代理合同从实施中继承安全性,必须单独审核。

常见问题

问:我可以升级最少的代理合同吗?虽然最小代理本身不包括升级逻辑,但您可以通过将它们与其他标准(例如UUP)相结合或使用外部控制器来管理实施地址来创建可升级的系统。

问:与完整合同相比,部署最少的代理人多少钱?部署最少的代理通常费用约为20,000-50,000天气,而​​部署完整合同的价格可能超过200万天然气,具体取决于复杂性。

问:有没有办法从部署的代理中检索实现地址?是的,实现地址通常存储在特定的存储插槽中(通常是插槽0)。您可以使用eth_getStorageAt或检查合同创建代码等工具阅读它。

问:最小的代理是否与所有固体版本兼容?它们与坚固0.5.0及以上的坚固性很好。但是,为了获得最佳的兼容性和节省的气体,建议使用0.8.x或更新。

免责声明:info@kdj.com

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

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

相关百科

期货中如何管理情绪和“报复性交易”?

期货中如何管理情绪和“报复性交易”?

2026-02-05 00:19:32

了解期货市场的情绪触发因素1. 市场波动直接影响心理状态,往往会因价格快速波动而加剧恐惧或兴奋。 2. 损失会激活大脑的威胁反应系统,导致冲动决策而不是系统分析。 3. 社交媒体信息和群聊经常强化情绪化叙事,扭曲客观风险评估。 4. 过度接触实时损益更新会增加皮质醇水平,从而降低头寸管理期间的认知灵...

如何使用蜡烛收盘确认进行期货入场?

如何使用蜡烛收盘确认进行期货入场?

2026-02-05 16:20:22

了解蜡烛收盘确认1. 当烛台的最终价格超出预定水平时,蜡烛收盘确认发生,表明潜在的趋势延续或逆转。 2. 交易者依赖的是收盘价,而不是日内烛线或开盘价,因为它反映了该时间间隔的集体市场共识。 3. 在期货交易中,杠杆会放大收益和损失,等待蜡烛完全收盘可以消除基于虚假突破的过早入场。 4. 此方法对于...

如何利用恐惧和贪婪指数分析市场情绪?

如何利用恐惧和贪婪指数分析市场情绪?

2026-02-05 07:40:21

了解恐惧和贪婪指数1. 恐惧和贪婪指数是一个综合指标,旨在量化加密货币投资者普遍的情绪状态。它汇总了多个来源的数据,包括波动性、市场势头、社交媒体活动、调查结果、Bitcoin 主导地位和搜索趋势。 2. 0分代表极度恐惧,100分代表极度贪婪。 0-24 之间的值表示强烈恐惧,25-49 表示恐惧...

如何使用成交量概况来查找关键的期货入场水平?

如何使用成交量概况来查找关键的期货入场水平?

2026-02-04 23:39:35

了解卷配置文件结构1. 成交量概况显示指定时间段内特定价格水平的交易量分布,在图表上形成水平直方图。 2. 控制点(POC)代表成交量集中度最高的价格水平,通常充当价格反转的磁石。 3. 价值区域高位 (VAH) 和价值区域低位 (VAL) 包含占总交易量 70% 的范围,标志着统计上显着的支撑和阻...

如何设置您的第一个加密货币期权交易以进行对冲?

如何设置您的第一个加密货币期权交易以进行对冲?

2026-02-05 17:59:32

市场波动模式1. Bitcoin 和以太坊等主要加密货币在 24 小时窗口内价格波动超过 15% 的情况经常发生。 2. 交易所订单簿失衡经常引发级联清算,尤其是在周末或亚洲交易时段等流动性较低的时期。 3. 稳定币脱钩事件(例如 2023 年 3 月的 USDC 偏离)直接发生在 BTC 在 72...

如何以100倍杠杆交易Bitcoin期货? (高风险设置)

如何以100倍杠杆交易Bitcoin期货? (高风险设置)

2026-02-05 11:00:08

了解 Bitcoin 期货机制1. Bitcoin 期货合约代表在未来以预定价格和日期买卖 BTC 的协议,在受监管或离岸衍生品交易所进行交易。 2. 与现货交易不同,期货允许交易者通过多头和空头头寸从价格上涨和下跌中获利。 3. 每个合约都有标准化的规格——报价大小、保证金要求、资金费率区间和清算...

期货中如何管理情绪和“报复性交易”?

期货中如何管理情绪和“报复性交易”?

2026-02-05 00:19:32

了解期货市场的情绪触发因素1. 市场波动直接影响心理状态,往往会因价格快速波动而加剧恐惧或兴奋。 2. 损失会激活大脑的威胁反应系统,导致冲动决策而不是系统分析。 3. 社交媒体信息和群聊经常强化情绪化叙事,扭曲客观风险评估。 4. 过度接触实时损益更新会增加皮质醇水平,从而降低头寸管理期间的认知灵...

如何使用蜡烛收盘确认进行期货入场?

如何使用蜡烛收盘确认进行期货入场?

2026-02-05 16:20:22

了解蜡烛收盘确认1. 当烛台的最终价格超出预定水平时,蜡烛收盘确认发生,表明潜在的趋势延续或逆转。 2. 交易者依赖的是收盘价,而不是日内烛线或开盘价,因为它反映了该时间间隔的集体市场共识。 3. 在期货交易中,杠杆会放大收益和损失,等待蜡烛完全收盘可以消除基于虚假突破的过早入场。 4. 此方法对于...

如何利用恐惧和贪婪指数分析市场情绪?

如何利用恐惧和贪婪指数分析市场情绪?

2026-02-05 07:40:21

了解恐惧和贪婪指数1. 恐惧和贪婪指数是一个综合指标,旨在量化加密货币投资者普遍的情绪状态。它汇总了多个来源的数据,包括波动性、市场势头、社交媒体活动、调查结果、Bitcoin 主导地位和搜索趋势。 2. 0分代表极度恐惧,100分代表极度贪婪。 0-24 之间的值表示强烈恐惧,25-49 表示恐惧...

如何使用成交量概况来查找关键的期货入场水平?

如何使用成交量概况来查找关键的期货入场水平?

2026-02-04 23:39:35

了解卷配置文件结构1. 成交量概况显示指定时间段内特定价格水平的交易量分布,在图表上形成水平直方图。 2. 控制点(POC)代表成交量集中度最高的价格水平,通常充当价格反转的磁石。 3. 价值区域高位 (VAH) 和价值区域低位 (VAL) 包含占总交易量 70% 的范围,标志着统计上显着的支撑和阻...

如何设置您的第一个加密货币期权交易以进行对冲?

如何设置您的第一个加密货币期权交易以进行对冲?

2026-02-05 17:59:32

市场波动模式1. Bitcoin 和以太坊等主要加密货币在 24 小时窗口内价格波动超过 15% 的情况经常发生。 2. 交易所订单簿失衡经常引发级联清算,尤其是在周末或亚洲交易时段等流动性较低的时期。 3. 稳定币脱钩事件(例如 2023 年 3 月的 USDC 偏离)直接发生在 BTC 在 72...

如何以100倍杠杆交易Bitcoin期货? (高风险设置)

如何以100倍杠杆交易Bitcoin期货? (高风险设置)

2026-02-05 11:00:08

了解 Bitcoin 期货机制1. Bitcoin 期货合约代表在未来以预定价格和日期买卖 BTC 的协议,在受监管或离岸衍生品交易所进行交易。 2. 与现货交易不同,期货允许交易者通过多头和空头头寸从价格上涨和下跌中获利。 3. 每个合约都有标准化的规格——报价大小、保证金要求、资金费率区间和清算...

查看所有文章

User not found or password invalid

Your input is correct