Skip to main content

Command Palette

Search for a command to run...

How to write a EIP

Published
1 min read

How to write a EIP

  • 是的,我在写一个EIP,虽然很菜但总要去积极参与!

读懂EIP1

  • https://eips.ethereum.org/EIPS/eip-1

类型

  • 常规来说,大家提的都是标准EIP(Standard),标准包括子类:Core、Networking、Interface、ERC
  • ERC就是应用级别,是最广泛的,例如ERC721、ERC1155等等。

状态

  • 上篇文章已经说明过了。

  • 核心是:Idea-->Draft-->Review<-->Last Call-->Final

  • Review会进入Living状态,反复迭代修改
  • 也可能进入Stagnant的停滞状态

结构

标头

  • eip: EIP 编号(这由 EIP 编辑器确定)

    title: EIP 标题是几个字,不是一个完整的句子

    description:描述是一个完整(短)的句子

    author作者或作者姓名和/或用户名,或姓名和电子邮件的列表。详情如下。

    discussions-to:指向官方讨论帖的url

    status草案,审查,最后一次通话,最终,停滞,撤回,生活

    last-call-deadline最后一次通话时间结束的日期(可选字段,仅当状态为 时才需要Last Call

    type:之一Standards Track, Meta, 或Informational

    category: , , , or**之一Core``Networking``Interface``ERC(可选字段,仅Standards TrackEIP 需要)

    created:创建 EIP 的日期

    requires: EIP 编号(可选字段)

    withdrawal-reason:一句话解释EIP被撤回的原因。(可选字段,仅当状态为 时才需要Withdrawn

    允许列表的标题必须用逗号分隔元素。

    需要日期的标头始终采用 ISO 8601 (yyyy-mm-dd) 格式。

    author标题

摘要

  • 摘要是一个多句(短段落)的技术摘要。这应该是规范部分的非常简洁和人类可读的版本。有人应该只能阅读摘要来了解本规范的要点。

动机

  • 动机部分对于想要更改以太坊协议的 EIP 至关重要。它应该清楚地解释为什么现有的协议规范不足以解决 EIP 解决的问题。没有足够动机的 EIP 提交可能会被直接拒绝。

基本原理

  • 基本原理通过描述设计的动机以及做出特定设计决策的原因来充实规范。它应该描述所考虑的替代设计和相关工作,例如其他语言如何支持该功能。理由应讨论在围绕 EIP 进行讨论期间提出的重要反对意见或担忧。

向后兼容性

  • 所有引入向后不兼容性的 EIP 都必须包含描述这些不兼容性及其严重性的部分。EIP 必须解释作者建议如何处理这些不兼容性。没有足够的向后兼容性论文的 EIP 提交可能会被彻底拒绝。

测试用例

  • 实施的测试用例对于影响共识更改的 EIP 是强制性的。测试应该作为数据内联在 EIP 中(例如输入/预期输出对,或者包含在../assets/eip-###/<filename>.

参考实现

  • 包含参考/示例实现的可选部分,人们可以使用它来帮助理解或实现本规范。

安全注意事项

  • 所有 EIP 都必须包含一个部分,讨论与提议的更改相关的安全影响/注意事项。包括可能对安全讨论、暴露风险很重要的信息,并且可以在提案的整个生命周期中使用。例如,包括与安全相关的设计决策、关注点、重要讨论、特定于实施的指导和陷阱、威胁和风险的概述以及如何解决它们。缺少“安全注意事项”部分的 EIP 提交将被拒绝。如果没有审核人员认为足够的安全考虑讨论,EIP 无法进入“最终”状态。

版权弃权

  • 所有 EIP 必须在公共领域。有关版权放弃的示例,请参阅此 EIP 的底部。

  • 这里: 通过CC0放弃版权和相关权利。

Doing

  • 是的,作为建设者,开始尝试写一个EIP了,因此也整理了两篇文章,因为最好的学习方式是学习-->内化-->输出!
  • 本文会发布在Dapp Learning社区:https://github.com/Dapp-Learning-DAO/Dapp-Learning,以及个人Blog(jLab.tech)

More from this blog

让你的私钥随时更换,可以四处旅行

是的基于社交恢复和社区运行的TEE KMS,普通个体的私钥可以依赖多层安全机制:passkey+Email+社区KMS(硬件安全)+AA多签(可适配多种签名机制,增加抗量子签名模块)。听起来非常棒!是人类数字未来中需要的东西。下面是我的一个研究项目,进行中,有经验的大牛可以指点一下(嵌入式和硬件钱包开发、TEE、抗量子等等)。 STM32MP157F-DK2 Development Project STM32MP157F-DK2 开发项目 🇬🇧 Jump to English Vers...

Jan 25, 20263 min read

人性之光-以自由之名

以自由之名 v0.1.5 有点怪怪的标题,原谅理工男的简单和直接。 先分享一点感触和认知:某个角度看,人性是想象力、创造力和情感,是人类独有的特质。 人性是区别于AI和机器人,以及其他生命和造物的独有内核。人性是一种对自由的追求:发挥你的想象力、创造力,拥有自己的情感,是人存在的一种方式,这种方式,称为自由。 作为普通个体,想在人类社会拥有自由,除去国家和法律赋予的基础保障和基本权利之外,哈耶克有个观点是时间、空间和选择的范围,是自由的基础保障;而福柯则反向给出了规训的方式:时间空间和力量(并非...

Jan 25, 20261 min read

How to play with AI vibe coding?

我们要和 AI 沟通,要总结几个经验,供大家参考(血泪教学,迭代无数次): 三个重点 重设计、三层文档体系、渐进式开发。 第一点 最重要就是设计一定要占据你开发时间的一半以上,包括研究,包括和 AI 的交互讨论,包括提取一些专题,然后跟其他的 AI 交流生成深度的报告,包括自己阅读相关的报告和分析,以及一些范例的 repository。 第二点 要完整的文档体系,不管哪一种,都要跟随文档体系来去不断地迭代你的和 AI 交互的过程;我现在使用的是,嗯,三层的文档管理体系。第一层呢是backlog...

Aug 17, 20252 min read

It is Fun for me.

jFlow: from research to production 创新之路:最有趣的探索之路。 创新之路 Road of Exploration Research Input=Idea:描述你的 idea,进行严谨的论证过程,逻辑结构类似于缩小版本的 SCI 论文。通过分析论证,得出结论,是真正有价值创新。 output=Solution:定义你的产品,包括产品定位、目标用户、核心功能、商业模式,让团队、社区、早期投资者、用户、合作伙伴等,都快速了解你的产品的价值所在。 Devel...

Aug 12, 20251 min read

我的AI小助手:RAG 本地测试记录(updating...)

预期: 数据: 本地个人计划和隐私、正常论文相关的科研、业界跟踪和研究分析,三大类都存储在本地,不要流出个人电脑。 初步的7B模型(本人MiniMac的上限)进行大体分析。 可以使用外部deepseek和grok,claude等外部API,但沟通内容是隔离和脱敏的,最简单就是7B分析的结论,进行隐私脱敏(自行设定脱敏规则)和单独目录存储(独立知识库),这个动作是离线断网进行。 然后针对沟通外部的独立知识库,可以充分利用外部大模型能力。 个人计划是使用雷电连接mac book和mac m...

Mar 15, 20251 min read

jLab

69 posts

It is my Lab for curiosity!