征求意见稿(RFC)是围绕 Cosmos SDK 设计与实现相关开放性主题的讨论记录,这类主题通常不要求立即作出决策。 RFC 的目的是作为高层讨论的历史记录;否则,这类讨论往往只会以临时方式记录下来(例如通过 gists 或 Google 文档),事后他人较难发现和检索。RFC 可以 引出面向 Cosmos SDK 的更具体架构决策,但这些决策必须单独记录在架构决策记录(ADR)中。 经验上,如果你已经能够清晰表述一个需要回答的具体问题,就应当编写 ADR。如果你仍需要探索该主题,并从他人处收集意见,以明确到底有哪些问题需要回答,那么 RFC 可能更合适。

RFC 内容

RFC 应包含:
  • 变更日志:记录 RFC 在何时以及如何发生了变更。
  • 摘要:对主题进行简要概述,使读者能够快速判断其是否与自身关注点相关。
  • 背景:帮助读者理解并参与讨论所需的背景信息(这里可以链接到其他文档)。
  • 讨论内容:本文档的主体内容。
rfc-template.md 文件中为这些部分提供了占位模板。

目录


A Request for Comments (RFC) is a record of discussion on an open-ended topic related to the design and implementation of the Cosmos SDK, for which no immediate decision is required. The purpose of an RFC is to serve as a historical record of a high-level discussion that might otherwise only be recorded in an ad-hoc way (for example, via gists or Google docs) that are difficult to discover for someone after the fact. An RFC may give rise to more specific architectural decisions for the Cosmos SDK, but those decisions must be recorded separately in Architecture Decision Records (ADR). As a rule of thumb, if you can articulate a specific question that needs to be answered, write an ADR. If you need to explore the topic and get input from others to know what questions need to be answered, an RFC may be appropriate.

RFC Content

An RFC should provide:
  • A changelog, documenting when and how the RFC has changed.
  • An abstract, briefly summarizing the topic so the reader can quickly tell whether it is relevant to their interest.
  • Any background a reader will need to understand and participate in the substance of the discussion (links to other documents are fine here).
  • The discussion, the primary content of the document.
The rfc-template.md file includes placeholders for these sections.

Table of Contents