gh_mirrors/cha/chains开源治理:决策流程与投票机制
gh_mirrors/cha/chains作为EVM链元数据管理的核心开源项目,其治理机制围绕链信息的添加、更新与维护建立了严谨的决策流程。本文将深入解析该项目如何通过社区协作确保链数据的准确性与安全性,以及核心的投票与冲突解决机制。## 链数据治理的核心原则项目的治理设计遵循三大核心原则,这些原则贯穿于所有决策流程中:- **防重放攻击优先**:链一旦添加永不删除,仅可标记为`dep
gh_mirrors/cha/chains开源治理:决策流程与投票机制
【免费下载链接】chains provides metadata for chains 项目地址: https://gitcode.com/gh_mirrors/cha/chains
gh_mirrors/cha/chains作为EVM链元数据管理的核心开源项目,其治理机制围绕链信息的添加、更新与维护建立了严谨的决策流程。本文将深入解析该项目如何通过社区协作确保链数据的准确性与安全性,以及核心的投票与冲突解决机制。
链数据治理的核心原则
项目的治理设计遵循三大核心原则,这些原则贯穿于所有决策流程中:
-
防重放攻击优先:链一旦添加永不删除,仅可标记为
deprecated状态。这一设计通过maintainer_checklist.md明确规定,旨在防止因链ID重复导致的安全风险。 -
链ID唯一性保障:每个链ID只能分配给一个链,首个通过PR提交的链将获得ID所有权。当旧链被标记为
deprecated后,新链方可申请复用ID,但会触发"reusedChainID"安全警示。 -
社区协作验证:所有链信息变更需通过PR提交,并经过自动化检查与人工审核双重验证。项目通过README.md详细定义了PR提交规范与验收标准。
链信息变更的决策流程
项目采用提交-审核-合并的三阶决策流程,确保每一项链信息变更都经过充分验证:
1. 提案提交阶段
开发者需按照规范格式提交链信息JSON文件至_data/chains目录,并确保:
- 符合CAIP-2命名规范(如
eip155-1.json对应以太坊主网) - 包含完整的链元数据(名称、RPC端点、原生代币等)
- 图标文件已同步至
_data/icons目录并符合IPFS格式要求
提交前必须通过本地验证:
./gradlew run # 执行格式与约束检查
npx prettier --write _data/*/*.json # 格式化JSON文件
2. 自动化验证阶段
PR提交后将触发CI流程,自动检查以下内容:
- JSON格式正确性与字段完整性
- 链ID与短名称的唯一性
- 图标文件的IPFS可访问性
- 父链引用的有效性(如L2链必须关联已存在的主链)
3. 人工审核阶段
维护者团队遵循maintainer_checklist.md进行审核,重点关注:
- 探索者是否真正遵循EIP3091标准
- 是否存在链ID冲突风险
- 数据准确性与实用性评估
审核优先级按PR提交时间排序,确保公平处理每一项提案。
冲突解决与投票机制
当出现链ID争议或重大变更决策时,项目采用社区共识+维护者投票的双层解决机制:
链ID冲突处理
根据README.md第92-95节规定:
- 首个提交者获得链ID所有权
- 争议链需证明原链已废弃且满足"reusedChainID"条件
- 维护者团队以2/3多数投票决定是否允许ID复用
重大变更投票流程
涉及以下情况的变更需启动维护者投票:
- 核心JSON schema修改(tools/schema/chain.schema.json)
- 治理规则调整
- 批量链数据更新
投票周期为7天,需获得至少50%维护者参与且2/3赞成方可通过。
治理工具与文档
项目提供完整的治理辅助工具与文档:
- 冲突检测工具:tools/schemaCheck.js自动检测链ID冲突
- 链移除工具:tools/rmNetwork.js支持安全的链废弃操作
- 维护者指南:maintainer_checklist.md详细列出审核要点
通过这些机制,gh_mirrors/cha/chains确保了链元数据的可靠性,为钱包、区块浏览器等应用提供了值得信赖的数据源,同时维护了开源社区的协作秩序。
【免费下载链接】chains provides metadata for chains 项目地址: https://gitcode.com/gh_mirrors/cha/chains
更多推荐
所有评论(0)