Nervos Network RFCs

Nervos Network RFCs

Telegram Group

代码库 nervosnetwork/rfcs 包含了与 Nervos Network 相关的提案、标准和文档。

RFC(请求评论)流程旨在为新协议、优化建议和最佳实践提供一个开放的、由社区驱动的渠道,以便所有相关人员都能对 Nervos network 的发展方向充满信心。

发布在这里的 RFCs 只有其状态更新为标准(Standard)时,才意味着其成为正式的标准。

类别

不是所有的 RFCs 都是标准,主要会分成两类:

  • 标准类(Standards Track):这部分 RFC 是 Nervos network 中的协议、客户端和应用程序需要遵循的标准。
  • 信息类(Informational):任何和 Nervos network 相关的内容。

RFCs

编号题目作者类别状态
1The Nervos Network Positioning PaperThe Nervos TeamInformationalDraft
2Nervos CKB: A Common Knowledge Base for Crypto-EconomyJan XieInformationalDraft
3CKB-VMXuejie XiaoInformationalDraft
4CKB Block Synchronization ProtocolIan YangStandards TrackProposal
5Privileged architecture support for CKB VMXuejie XiaoInformationalDraft
6Merkle Tree for Static DataKe WangStandards TrackProposal
7P2P Scoring System And Network SecurityJinyang JiangStandards TrackProposal
8SerializationBoyu YangStandards TrackProposal
9VM SyscallsXuejie XiaoStandards TrackProposal
10Eaglesong (Proof-of-Work Function for Nervos CKB)Alan SzepieniecStandards TrackProposal
11Transaction FilterQuake WangStandards TrackProposal
12Node DiscoveryLinfeng Qian, Jinyang JiangStandards TrackProposal
13Block TemplateDingwei ZhangStandards TrackProposal
14VM Cycle LimitsXuejie XiaoStandards TrackProposal
15Crypto-Economics of the Nervos Common Knowledge BaseKevin Wang, Jan Xie, Jiasun Li, David ZouInformationalDraft
17Transaction valid sinceJinyang JiangStandards TrackProposal
19Data StructuresXuejie XiaoInformationalDraft
20CKB Consensus ProtocolRen ZhangInformationalDraft
21CKB Address FormatCipher WangStandards TrackProposal
22CKB Transaction StructureIan YangInformationalDraft
23Deposit and Withdraw in Nervos DAOJan Xie, Xuejie Xiao, Ian YangStandards TrackProposal
24CKB System Script ListDylan DuanInformationalDraft
25Simple UDTXuejie XiaoStandards TrackProposal
26Anyone-Can-Pay LockXuejie XiaoStandards TrackProposal

流程

RFC 流程会尽可能保持开始步骤的简单,同时与网络进展同步更新。

1. 和社区讨论你的想法

在正式向 nervosnetwork/rfcs 提交一个 RFC pull request 前,你应该在 Nervos RFCs Chatroom or Nervos RFCs Mailing List 提出你的想法,与社区展开讨论。

2. 提交你的 RFC

经过一番讨论后,请正式向 nervosnetwork/rfcs 提交一个 RFC pull request:

复制 0000-template 文件并移动至 rfcs 目录下,重命名文件为 0000-feature-name, 其中 feature-name 为 RFC 的简单功能描述。0000 暂时保持不变,不需要修改。

Nervos RFCs 应该用英语编写,除了英文版外,也可以提供其他语言的版本以辅助各个社区理解。英文版为公认版,若版本间存在偏差,以英文版为准。

Nervos RFCs 遵循 RFC 2119, RFC 6919 中的关键字约定。

3. 审查 / 接受

RFCs 的维护人员以及社区会对 PR 进行审查,你也可以根据 PR 上的 comments 对 RFC 进行更新。当 RFC 已经足够完善并且取得足够支持时,它将会采纳并且合并到 nervosnetwork/rfcs 这个代码库中。

信息类(Informational)的 RFC 将合并发布后其状态会处于草稿(Draft)阶段,在任何时候,原作者可以将其状态更新为完结(Final)。若在一年内其没有任何更新的话,RFC 维护人员也可以将其更新为完结。

4. 提交你的标准(Standards Track)

一个标准类(Standards Track)的 RFC 总共有三种状态:

  1. 提案(默认)
  2. 标准
  3. 过时

标准类的 RFC 刚开始会处于 提案 状态,在这个阶段你都可以通过 PR 对该 RFC 进行更新优化。当在完成充分的讨论后,你觉得该 RFC 已经足够严谨成熟了,你可以提交一个 PR 将其状态修改为 标准

RFCs 的维护人员会审查这份 RFC 提案,确认社区对该 RFC 没有任何异议以及进一步讨论优化的意愿后,PR 将会被采纳。

许可

nervosnetwork/rfcs 是符合 MIT 许可条款