当我 Review 了一个新 ERC 草案,终于知道提交一个 ERC 到底需要做到什么程度
很多以太坊开发者都有过类似的念头。在做完一个钱包、协议或者链上应用后,我们发现现有标准无法完全满足需求,于是很自然地想到:既然 ERC-20、ERC-721、ERC-4337 都是开发者提出来的,那么我是不是也可以写一个 ERC?打开 Ethereum 的 ERC 模板后,这件事看起来甚至没有想象中复杂。准备一个 Markdown 文件,填写标题、摘要、动机、接口、参考实现,再到 GitHub 提交 Pull Request,似乎就可以正式参与以太坊标准的制定。但当你真正走进 Ethereum Magicians,开始阅读那些仍处于 Draft 阶段的提案,就会发现现实完全不是这样。提交一个 ERC 的难点,从来不是把想法写成文档,也不是设计几个 Solidity 接口。真正困难的是,你必须证明这个问题不只属于自己的项目,提出的抽象值得被多个独立团队共同采用,并且这套规则足够清晰,让一个从未与你沟通过的开发者,仅凭规范就能写出兼容实现。EIP-1 对这件事的定义非常直接:EIP 是向以太坊社区提供信息或描述新功能的设计文档,必须同时包含简洁的技术规范和提出这一设计的理由;作者还要负责推动社区共识,并记录反对意见。对于 Standards Track 提案,内容不只是设计文档,还包括实现,以及在必要时对正式规范的更新。(Ethereum Improvement Proposals)换句话说,ERC 不是“我有一个创意,请大家看看”。它更接近于: