· × 公示(Last Call)——假如仍然需要对草案举办须要的变动,CIP 进入公示(Last Call)阶段的请求会被驳回。我们但愿所有 CIP 都只需要进入公示(Last Call)阶段一次。
author: 作者姓名和/或用户名列表,或作者姓名和邮箱地点列表详细细节如下。
通过 CIP 的提案,可以相识到 Conflux 网络参加者、存眷者们的最新动向、如何筹划 Conflux 网络的将来,并能感知到项目自身需要面临的挑战。
CIP 全称是 Conflux Improvement Proposals,即 Conflux 改造提案。CIP 是一个设计文件,向 Conflux 社区提供信息,或划定 Conflux 的一些新成果、流程或情况。CIP 中该当简介该成果的技能类型以及根基道理。每个 CIP 必需以 RFC 822 样式的前导码开头,并在其后跟三个连字符(-)。此标头在 Jekyll 中被称为“前件”(front matter)。标头必需凭据以下顺序分列:标有“ *”的标题是可选的,如下所述。其他所有的标头都是必选的。
CIP 大概包括一个需求标头,表白 CIP 编号。
· 想法——假如 CIP 拥护者已经问过 Conflux 社区是否有任何通过的时机,他们会撰写一份 CIP 草案举办拉取请求(PR)。假如执行有助于人们研究 CIP,可以思量提供一个执行。
每次状态改观都需要由 CIP 作者提倡请求而且由 CIP 编辑审核。利用 PR 更新状态。请附带链接利便人们继承接头您的 CIP。CIP 编辑会按照以下条件处理惩罚这些请求。
包括日期的标头必需回收 ISO 8601(yyyy-mm-dd)名目。
* review-period-end: 审核竣事日期
假如 CIP 筹备停当可以入库了,CIP 编辑就会:
建设日期标头
· 最终版——在最终通过之前,CIP 必需要先被执行。执行完成而且被社区回收时,CIP 状态会被变动为“最终生成”。
转让 CIP 所有权
·提交一个 CIP 草案。草案中应接头如安在硬分叉中实现改观。
范例标头
· 草案(Draft)——作者可能想要回收该 CIP 的拥护者可以请求变动草案状态。
· 公示(Last Call)——假如 CIP 可以接管,编辑会将 CIP 指定为公示(Last Call)阶段,并配置审核竣事日期(review-period-end),凡是为14天。
·期待硬分叉以实现改观。变动 CIP 状态至“最终生成”。
有闪电网络(Lightning Network)、Taproot/Schnorr 签名、Miniscripts 以及很多改造进级,同样也有 EIP20、EIP137、EIP1155、EIP1679 和 EIP1559 等提案,每一个提案都对其网络的运行发生了重大影响。
* superseded-by: CIP 编号
· 阅读 CIP 并查抄是否已经停当:CIP 需要公道、完善。纵然不必然能走到最终版阶段,想法也必然要有技能意义。
包括列表的标头必需用逗号脱离差异元素。
· 已接管——乐成的公示,不需要做须要变动、没有未办理的技能问题的 CIP 将进入“承认”状态。
其他异常状态包罗:
志同,而气合。
强烈发起单个 CIP 仅包括一个要害提议或想法,CIP 针对性越强,被通过的乐成率就越高。仅涉及到一个客户端的变动不需要 CIP,会影响多个客户端或界说多个应用措施利用尺度的变动需要 CIP。
· 向后兼容性——所有引入向后不兼容性的 CIP 必需包括一部门描写这些不兼容性及其严重性。CIP 中必需表明作者发起如那里理惩罚这些不兼容问题。没有足够向后兼容性接头的 CIP 大概会被完全驳回。
CIP 将成为 Conflux 网络提案新成果、收集社区发起以及记录提案文档的主要机制。
孝敬提案的方法
· 标题必需可以或许精确地归纳综合内容。
* resolution: 指向此 CIP 办理方案的链接
· × 草案(Draft)——驳回草案的原因包罗不足专注、过于宽泛、反复事情、技能上不足健全、没有提供适当的念头、没有办理向后兼容性问题,可能不切合 Conflux 理念。
· 公示(Last Call)——该 CIP 将在网站上的显眼位置列出。
Conflux 认为,技能最大的代价在于去中心化和安详性,而只有基于 PoW(事情量证明)的共鸣机制才气最大限度地保存这些利益。
· 草案(Draft)——假如 CIP 可以接管,编辑会为该 CIP 分派一个编号(凡是是与该 CIP 相关的问题或 PR 的编号)并归并您的 PR。CIP 编辑不会毫无来由地驳回 CIP。
CIP 历程
办理方案标头
4.请求 Conflux CIP 库拉取你的提交(Pull Request,PR)。
·提交 PR 执行该 CIP。
· 版权宽免——所有的 CIP 必需合用于民众规模。版权宽免的示例请参阅此 CIP 的底部。
链接到 CIP 中的某张图片的相关链如:../assets/cip-1/image.png.
您的 PR 被归并后,我们会有呆板人自动将 PR 归并至 CIP 中。为确保这一点,呆板人需要可以或许确认您对当前 PR 的所有权,因此,请确保您提交的 CIP“作者”栏包括您的 GitHub 用户名或电子邮箱地点。假如您选择利用电子邮箱地点,该地点必需是您在 GitHub 小我私家资料上果真展示的地点。
·在 Conflux 协议库中建设与该 CIP 相关的问题。
CIP 可以包括附件,如图表等。附件定名名目必需是:CIP-N-Y.ext,N 是指 CIP 编号,Y 是序列号码,从1开始,将 ext 替换为实际的文件拓展名,如 “png”。
· 测试案例——对付影响共鸣改观的 CIP 来说,执行的测试案例是必需的。假如合用,其他 CIP 也可以选择附带测试案例的链接。
· 草案(Draft)——焦点开拓人员可以自行抉择将此 CIP 退回草案状态。譬喻:在 CIP 中发明白一个但可更正的缺陷。
· 念头(*可选)——对付想要变动 Conflux 协议的 CIP 至关重要。应该清楚地表明为什么现有协议类型不敷以办理 CIP 应该办理的问题。没有足够念头的 CIP 大概会被完全驳回。
一个乐成的 CIP 必需满意必然的最低尺度。它必需清晰、完整地描写了提议的改造成果,改造成果必需是净改造。提议的执行(假如合用)必需是靠得住的,而且不能使协议过于巨大。
· 根基道理——通过描写设计发生的念头以及做出特定设计决定的原因来完善类型。应该描写所思量的替代设计和相关事情,譬喻:其他语言如何支持该成果。根基道理部门还可以提供社区内告竣共鸣的证据,并应接头在接头进程中提出的重要异议或关怀。
· 最终生成(Final)——焦点开拓者抉择执行并将在将来的硬分叉中宣布,或已经在硬分叉中宣布过的 CIP。
在开始编写正式的 CIP 之前,您应该先审视一下本身的想法。首先需要询问 Conflux 社区您的想法是否是独创的,制止因为之前已有过相关研究会被拒绝而挥霍时间。因此发起您在此存储库的“问题(issue)”部门中打开一个接头线程。
cip: CIP 编号(由 CIP 编辑指定)
· 承认(Accepted)——此状态表白不需要举办须要变动,Conflux 客户端开拓人员应思量将此 CIP 包罗在现实打算内。焦点开拓人员抉择是否将 CIP 作为硬分叉的一部门编码进客户端的进程不属于 CIP 历程。
当 CIP 是草案时,接头链接标头指示正在接头 CIP 的邮件列表或URL。假如正在与作者私下接头该 CIP,则无需接头链接标头。
· 指定一个 CIP 编号(凡是是 PR 编号,假如关于此 CIP 的库中的问题部门有接头过这个问题,作者更倾向于利用问题编号的话,也可以利用问题编号)。
参加此进程的各方包罗您,也就是 CIP 孝敬者或原作者,以及 CIP 编辑者和 Conflux 焦点开拓者。
假如你有意得到某个 CIP 的所有权,可以向原作者和 CIP 编辑发信息申请经受。假如原作者没有实时回回音息,CIP 编辑会做出片面抉择(但这个抉择是大概会逆转的)。
* updated: 逗号脱离的日期列表
·提交 PR 执行该 CIP。
Random J. User (@username)
· × ——假如公示阶段发明需要须要的变动或未办理的技能问题,CIP 会被退回草案状态。
CIP 事情流程
* replaces: CIP 编号
· 安详留意事项——所有 CIP 必需包括的部门,接头与提议改观相关的安详影响/留意事项。包罗对安详性接头大概很重要的信息、袒露风险,可以在提案的整个生命周期中利用。譬喻:包罗与安详性相关的设计决定、存眷点、重要接头、指向执行的指南和陷阱、威胁和风险概述以及如何办理这些威胁和风险。缺少“安详留意事项”部门的 CIP 将被驳回。审阅者认为没有足够的安详留意事项接头的 CIP 无法进入“最终版”阶段。
title: CIP 标题
必需利用 Markdown 名目写 CIP。图片文件应该安排在 CIP 资产文件夹的子目次中,如:
· 草案(Draft)——归并第一份草案后,您可以提交后续的 PR,并对草案举办进一步变动,直到您认为 CIP 成熟并筹备好进入下一阶段。
· 承认(Accepted)——已经进入公示极阶段至少2周的 CIP,而且作者已包办理了所有须要的技能改观问题。焦点开拓者抉择是否将一个 CIP 作为硬分叉的一部门编码进客户端的进程不属于 CIP 历程。假如做出了这样的抉择,CIP 就会进入“最终生成(Final)”阶段。
· 执行——在所有 CIP 的状态变动为“最终版”之前必需完成执行,但在将 CIP 归并为草稿之前不必完成。尽量可以在编写代码之前就类型和根基道理告竣共鸣,但在举办很多 API 细节接头时,“大致共鸣和运行代码”的原则仍然很有用。
乐成的 CIP 包括什么?
CIP 为 Conflux 网络实现技能研发的去中心化提供了类型的提案尺度,迈出了从中心化开拓团队到去中心化开拓的重要一步,也是 Conflux 践行去中心化理念的重要摸索之一。
我们打算将 CIP 作为提议新成果、收集社区对问题的意见以及记录已纳入 Conflux 的设计决定的主要机制。CIP 作者认真在社区内构建共鸣、记录有异议的概念。由于 CIP 在版本库中作为文本文件举办维护,因此 CIP 的修订汗青记录就是成果提案的汗青记录。
您的第一个 PR 应该是最终通过的 CIP 的草案(Draft),必需切合开拓要求的名目尺度(凡是要在标头中包括正确的元数据)。CIP 编辑会人工审核每个新的 CIP 的首个 PR,并在归并前为其指定一个 CIP 编号。确保包括接头链接,附带接头论坛或开放 GitHub 的链接,以便人们可以接头整个 CIP。
· 想法阶段 -> 草案阶段 -> 公示(Last Call) -> 承认(Accepted) -> 最终版
乐成通过的 CIP 流程如下:
由于 CIP 需要将客户端执行视为最终版符号(请参阅下面的“ CIP历程”),您需要提供客户端执行,或说服客户端执行您的 CIP。
数据库/ RPC 改观:更新的客户端可以或许与以前的版本共存,可是它可以更新现有 RPC 的接口或行为,可能可以变动区块链数据库名目。需要按照这些 RPC 对应用措施举办修改和/或清理数据库以从头开始举办同步。要提交数据库/RPC改观,可以凭据上述步调举办操纵,但必需先提交一个问题。
CIP 标头前导码
建设日期标头记录了 CIP 被指定编号时的日期。两个标头都应回收 yyyy-mm-dd 的名目,譬喻 2001-08-14。
· 激活——假如有些 CIP 自己是无法最终完成的,也大概会包括“激活”状态。如:CIP-1 (本 CIP)。
· 最终生成(Final)——此时的 CIP 代表了当前的最新程度。最终版的 CIP 只有在举办勘误时才可以更新。
1.阅读 CIP-1。
· 被驳回——被焦点开拓人员从基础上驳回的 CIP,而且不会被执行。进入此阶段的 CIP 不会再更新为其他状态。
CIP 引导
type: 向后兼容改观/数据库/RPC改观/协议改观/类型改观
· 向 CIP 作者复书,奉告下一步。
CIP 大概还会有一个被代替标头,暗示该 CIP 已被更高版本的文档裁减;该值是替换当前文档的 CIP 的编号。新的 CIP 必需具有替换标头,包括已被代替的 CIP 的编号。
附件
· 摘要——对要办理的技能问题的简短描写(约200字)。
created: 建设日期
需求标头
Conflux 改造提案(CIP)划定了 Conflux 平台的尺度,包罗焦点协议类型、客户端 API 和条约尺度。
CIP 针对 Conflux 网络的新成果或新的运行情况提供具体描写,包罗全节点成果的改造提案,,如新增 VM 指令等,亦包括周边开拓的尺度(类 ERC20)等。CIP 将焦点代码进级类型化、开放化,为 Conflux 网络去中心化研发的有序高效率举办提供了基本。
status: 草案(Draft)/公示(Last Call)/承认(Accepted)/最终版/激活/遗弃/被驳回/被代替
· 被代替——之前的最终版 CIP,可是不再是当前的最新程度。会有新的 CIP 进入最终版状态,并引用被代替的 CIP。进入此阶段的 CIP 不会再更新为其他状态。
·提交 PR 至 Conflux 协议库按照该 CIP 变动类型。
CIP 提案共有四种状态,别离为草案(Draft)、公示(Last Call)、承认(Accepted)和最终生成(Final)。
当您认为本身的 CIP 已经成熟而且筹备好通过草案(Draft)阶段时,可以提倡请求将您的问题添加到即将进行的全体焦点开拓者集会会议(All Core Devs meeting)的议程中,可以在集会会议上接头是否将其包括在未来的硬分叉中。假如执行者同意将其包括进去,CIP 编辑就会更新你的 CIP 状态为“承认(Accepted)”。
CIP 状态术语
每一个 CIP 都需要包括以下部门:
· 类型——技能类型应划定所有新成果的语法和语义。该类型应足够具体,以答允当前所有的 Conflux 平台(conflux-rust)可以举办竞争性、互操纵性的执行。
· 草案(Draft)——快速迭代和变动状态下的 CIP。
· 查抄 CIP 的语言(拼写、语法、句子布局等)、标志标记(GitHub 偏好 Markdown 名目)和代码范例。
· 类型改观:此类改观需要更新 Conflux 协议的类型,需要硬分叉才气实现改观,完全没有向后兼容性。举办类型改观的一般步调如下:
·审核、测试、和/或确认执行。PR 会被归并到主分支上。焦点开拓团队大概会选择将 PR 归并到其他分支,举办 Conflux-Rust 客户端宣布。
CIP 编辑会监督 CIP 的每一次改观,更正所有碰见的布局、语法、拼写或标志标记错误。
作者标头可以选择列出 CIP 作者/所有者的姓名、电子邮件地点或用户名。喜欢匿名的作者可以只利用用户名,也可以利用姓名和用户名。作者标头值的名目必需为:
· 被驳回——焦点开拓人员可以自行抉择将此 CIP 标志为被驳回。譬喻:在 CIP 中发明白一个且不行更正的缺陷。
一个破例环境是,接头链接标头不能指向 GitHub PR。
· 网络协议改观:这些变动不涉及 Conflux 协议的类型,需要更新 Conflux 或 Conflux-Rust 中的 P2P 网络协议。无需硬分叉即可实现变动,但需要非凡的协议版本处理惩罚和兼容性测试。要提交协议改观,请凭据以下步调操纵:
CIP链接:github.com/Conflux-Chain/CIPs
留意:今朝 Conflux-Rust 中的轻客户端模式是尝试性的。仅影响轻客户端的所有改观今朝都被视为“向后兼容改观”。
对付 Conflux 来说,去中心化的选择不只范围于组织创立 DAO 漫衍式自治社区,还要将 Conflux 网络将来的技能走向从几个研发人员的权限交付到每小我私家手中。
2.点击右上角的“Fork”复刻存储库。
或(假如包括电子邮箱地点或 GitHub 用户名)
今朝在 CIP 上已有 11 个提案,内容包围 CIP 提案撰写类型、数据布局和如那里理惩罚执行中细节问题等。有 4 种差异范例的 CIP:
·接头该草案直至草案承认。
·在 Conflux Rust 库中建设与该 CIP 相关的问题。
CIP,即 Conflux Improvement Proposal(Conflux 改造提案)。
范例标头指定 CIP 的详细范例:向后兼容改观、数据库/RPC改观、协议变、类型改观
· REVERT (0xfe)
什么是 CIP?
除了确保您的想法具有独创性之外,您还将作为作者向审稿人和相关方明晰您的想法,并邀请编辑、开拓人员和社区通过上述渠道提供反馈。您应该实验权衡一下 CIP 的存眷度是否与执行 CIP 所涉及的事情量以及有几多方必需遵守该 CIP 相一致。譬喻,执行类型改观 CIP 所需的事情量比执行向后兼容 CRC(轮回冗余校验码)大得多,而且 CIP 需要 Conflux 客户端产物团队足够多的存眷。负面的社区反馈将被思量在内,大概影响您的 CIP 通过草案阶段。
Conflux 乐于与公家和社区成员分享这种摸索,与志同道合的同伴配合促举办业的进步和开放式成长。
更新日期标头记录了 CIP 有更新时的日期。此标头仅对“草案”和“激活”状态下的 CIP 有效。
CIP 分类
3.将您的提案添加至您的存储库复刻。点击此处查察模板 CIP。
·提交一个 CIP 草案(Draft)。
编辑不会对 CIP 做出评判,只认真行政和编辑部门。
总之,作为 CIP 拥护者,您需要用以下名目写 CIP,在对应论坛中引导 CIP 的接头,并环绕这个想法成立社区共鸣。
* discussions-to: 指向官方接头线程的链接
CIP 编辑责任
假如您的 CIP 需要图片,图片应该放在 CIP assets 文件夹的子目次中,如:assets/CIP-N(N 是指 CIP 编号)。链接到 CIP 中的某张图片时,链接路径如:../assets/CIP-1/image.png.
有时有须要将 CIP 的所有权转让给新的拥护者。凡是环境下,我们但愿保存原作者作为所有权已转让的 CIP 的联相助者,但实际上是否保存由原作者抉择。转移 CIP 所有权的较好的原因是原作者不再有时间或乐趣来更新 CIP 或遵循 CIP 流程,可能已经失去网络接洽(即无法接洽到原作者或作者未回覆电子邮件)。转移所有权的不太好的原因包罗原作者差异意 CIP 的成长偏向等。我们会实验成立关于 CIP 的共鸣,可是假如无法告竣共鸣,您永远都可以选择提交一份竞争性的 CIP。
接头链接标头
Random J. User
假如 CIP 还没有停当,编辑会将其退回至作者举办修改,同时会给出详细指示。
作者标头
· 复刻 Conflux Rust 库,提交拉取请求(PR);
更新日期标头
·审核、测试、和/或确认执行。PR 会被归并到主分支上。
所有涉及焦点代码、生态开拓的内容,都可以在 CIP 长举办提案。提案会以“CIP-X”编号形式泛起,提案一旦在 CIP 上被接管,提案实施必需完成,当提案实施完成并被社区接管时,状态将变动为“最终生成(Final)”。
Random J. User <[email protected]
asset/cip-N(将 N 替换为 CIP 编号)。
· 前导码——RFC 822 样式标题,包括有关 CIP 的元数据,包罗 CIP 编号、简短的描写性标题(最多 44 个字符)和作者具体信息。详细细节如下。
·在 Conflux-Rust 中建设与该 CIP 相关的问题。
对付 Conflux 执行者来说,CIP 是一种很利便的追踪执行历程的方法。抱负环境下,执行的维护者会列出他们已经执行过的 CIP 的清单,这为终端用户提供了一种便捷的途径来相识指定执行或库的当前状态。
被代替和替换标头
* requires: CIP 编号
CIP 名目与模板
归并对应的 PR。
· 遗弃——原作者不再回收该 CIP,可能不再将它作为(技能上)的首选项。
· 假如是巨大改观,首先要提交问题与焦点开拓团队相同。
对付每一个新的 CIP,编辑都有如下责任:
假如 CIP 提及或提议对虚拟机举办变动,则它应参考其指令助记符的说明,并界说至少一次这些助记符的操纵码。首选方法如下:
·接头该草案(Draft)直至草案承认。请留意,在 CIP 中,指定当前执行如何与先前协议版本保持兼容性是很重要的(通过版本节制或其他技能实现)。假如无法做到这一点,则应将改观分别为类型改观。
和(假如没有提供电子邮箱地点)
办理方案标头要包括一个URL,指向发出有关 CIP 的声明的电子邮件或其他网页资源。
· 公示(Last Call)——劈头迭代阶段已经完成,筹备好给更大范畴评审者评审的 CIP。
郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。