EIP 全称是以太坊改进提案(Ethereum Improvement Proposal)。简单来说,EIP 是一份描述对以太坊的建议的文件,通常包含建议内容的技术规范和背后的原理。此外,EIP 作者负责在社区内建立共识并记录不同意见。任何人都可以创建 EIP。EIP-1 详细说明了提交 EIP 的要求和建议。
EIP 也作为以太坊的治理机制,因为 EIP 对于促使以太坊发生变化并对其进行记录至关重要。这是一个过程,以太坊社区成员提议、评估并实施网络更新。
EIP 的三种类型
标准 EIP
标准(Standards Track)EIP 描述影响大部分或所有以太坊机制的任何更改,例如网络协议的更改或区块或交易有效性规则的更改。标准 EIP 可以进一步细分为以下类别:
- 核心(Core):需要共识分叉或与网络核心开发相关的改进。
- 网络(Networking):围绕网络协议规范的改进。
- 接口(Interface):围绕客户端 API/RPC 规范和标准以及语言级标准的改进(如 EIP-6)。
- ERC(Ethereum Request for Comment):应用级标准和约定,包括合约标准,如代币标准(EIP-20)。也就是说,ERC 是 EIP 的子类别。
Meta EIP
Meta EIP 描述围绕以太坊的其他内容。Meta EIP 类似于标准 EIP,但适用于以太坊协议以外的领域。它们可能提出实施方案,但不适用于以太坊的代码库。它们通常需要社区共识。与信息性 EIP 不同,它们不仅仅是建议,用户通常无法忽略它们。示例包括更改以太坊开发中使用的工具或环境。
信息性 EIP
信息性 EIP 描述了以太坊设计问题或向以太坊社区提供一般性指南或信息,但不提议新功能。信息性 EIP 不一定代表以太坊社区共识或建议,因此用户和实施者可以自由忽略信息性 EIP 或遵循其建议。
EIP 编辑
EIP 编辑负责维护和管理 EIP。例如,EIP 编辑检查新提交的 EIP,看它们是否完整、无误,并分配 EIP 编号等。但 EIP 编辑仅执行管理和编辑任务。他们不对 EIP 发表意见。
当前的 EIP 编辑有:
- Alex Beregszaszi(@axic)
- Gavin John(@Pandapip1)
- Greg Colvin(@gcolvin)
- Matt Garnett(@lightclient)
- Sam Wilson(@SamWilsn)
EIP 的工作流程
- Idea(想法):一个想法是一个未记录的提案。由于其处于早期阶段,因此不予追踪。
- Draft(草案):草案代表 EIP 开发中的第一个正式追踪阶段。当格式正确时,EIP 编辑将 EIP 纳入 EIP 库。
- Review(审核):EIP 作者将 EIP 标记为准备好进行同行评审。
- Last Call(最后征求意见):Last Call 是 EIP 进入最终状态之前的最后评审窗口。EIP 编辑会分配 Last Call 状态并设置结束日期(通常是 14 天后)。如果这段时间导致必要的规范性变更,EIP 编辑将 EIP 恢复为审核状态。
- Final(最终):最终 EIP 表示过程已完成,结果是不可更改的。
- Stagnant(停滞):任何处于草案、审核或最后征求意见状态且已停滞不前六个月或更长时间的 EIP 将被移至停滞状态。其作者或 EIP 编辑可能会复活 EIP。如果未复活,EIP 将永远保持这种状态。
- Withdrawn(撤回):EIP 作者可以在过程中撤回 EIP。与最终状态类似,撤回是具有决定性的状态。撤回的 EIP 不能被复活。如果以后继续追求这个想法,它将被视为一个新的提案。
- Living(持续更新):一种特殊状态,用于那些设计为不断更新且不达到最终状态的 EIP。这包括最著名的 EIP-1。
你可能会对以下内容感兴趣: