DCIPs/index.html

62 lines
5.7 KiB
HTML

---
layout: default
title: Home
---
<h1 class="page-heading">DCPs
<a href="https://discord.gg/hRacPhf7"><img src="https://dcbadge.vercel.app/api/server/hRacPhf7?style=flat" alt="Discord channel DECA dcip collaboration"></a>
<a href="rss/all.xml"><img src="https://img.shields.io/badge/rss-Everything-red.svg" alt="RSS"></a>
<a href="rss/last-call.xml"><img src="https://img.shields.io/badge/rss-Last Calls-red.svg" alt="RSS"></a>
<a href="rss/nondcrc.xml"><img src="https://img.shields.io/badge/rss-All except DCRC-red.svg" alt="RSS"></a>
</h1>
<p>Decentralized CLimate Foundation (DCIPs) describe standards for the Decentralized Climate platform, including core protocol specifications, client APIs, and contract standards. Network upgrades are discussed separately in the <a target="_blank" href="https://github.com/DECENTRALIZEDCLIMATE/">Decentralized Climate Project Management</a> repository.</p>
<p>
</p>
<h2>Contributing</h2>
<p>First review <a href="DCPs/dcip-1">DCP-1</a>. Then clone the repository and add your DCP to it. There is a <a href="https://github.com/DECENTRALIZEDCLIMATE">template DCP here</a>. Then submit a Pull Request to Decentralized Foundation's <a href="https://github.com/DECENTRALIZEDCLIMATE/docs">DCPs repository</a>.</p>
<h2>DCP status terms</h2>
<ul>
<li><strong>Idea</strong> - An idea that is pre-draft. This is not tracked within the DCP Repository.
<li><strong>Draft</strong> - The first formally tracked stage of an DCP in development. An DCP is merged by an DCP Editor into the DCP repository when properly formatted.</li>
<li><strong>Review</strong> - An DCP Author marks an DCP as ready for and requesting Peer Review.</li>
<li><strong>Last Call</strong> - This is the final review window for an DCP before moving to FINAL. An DCP editor will assign Last Call status and set a review end date (`last-call-deadline`), typically 14 days later. If this period results in necessary normative changes it will revert the DCP to Review.</li>
<li><strong>Final</strong> - This DCP represents the final standard. A Final DCP exists in a state of finality and should only be updated to correct errata and add non-normative clarifications.</li>
<li><strong>Stagnant</strong> - Any DCP in Draft or Review if inactive for a period of 6 months or greater is moved to Stagnant. An DCP may be resurrected from this state by Authors or DCP Editors through moving it back to Draft.</li>
<li><strong>Withdrawn</strong> - The DCP Author(s) have withdrawn the proposed DCP. This state has finality and can no longer be resurrected using this DCP number. If the idea is pursued at later date it is considered a new proposal.</li>
<li><strong>Living</strong> - A special status for DCPs that are designed to be continually updated and not reach a state of finality. This includes most notably DCP-1 and DCP-2.</li>
</ul>
<h2>DCP Types</h2>
<p>DCPs are separated into a number of types, and each has its own list of DCPs.</p>
<h3>Standard Track ({{site.pages|where:"type","Standards Track"|size}})</h3>
<p>Describes any change that affects most or all Decentralized Foundation implementations, such as a change to the network protocol, a change in block or transaction validity rules, proposed application standards/conventions, or any change or addition that affects the interoperability of applications using Decentralized Foundation. Furthermore Standard DCPs can be broken down into the following categories.</p>
<h4><a href="{{"core"|relative_url}}">Core</a> ({{site.pages|where:"type","Standards Track"|where:"category","Core"|size}})</h4>
<p>Improvements requiring a consensus fork, as well as changes that are not necessarily consensus critical but may be relevant to “core dev” discussions </p>
<h4><a href="{{"networking"|relative_url}}">Networking</a> ({{site.pages|where:"type","Standards Track"|where:"category","Networking"|size}})</h4>
<p>Includes improvements around devp2p and Light Decentralized Foundation Subprotocol, as well as proposed improvements to network protocol specifications of whisper and swarm.</p>
<h4><a href="{{"interface"|relative_url}}">Interface</a> ({{site.pages|where:"type","Standards Track"|where:"category","Interface"|size}})</h4>
<p>Includes improvements around client API/RPC specifications and standards, and also certain language-level standards like method names and contract ABIs. The label “interface” aligns with the interfaces repo and discussion should primarily occur in that repository before an DCP is submitted to the DCPs repository.</p>
<h3><a href="{{"meta"|relative_url}}">Meta</a> ({{site.pages|where:"type","Meta"|size}})</h3>
<p>Describes a process surrounding Decentralized Foundation or proposes a change to (or an event in) a process. Process DCPs are like Standards Track DCPs but apply to areas other than the Decentralized Foundation protocol itself. They may propose an implementation, but not to Decentralized Foundation's codebase; they often require community consensus; unlike Informational DCPs, they are more than recommendations, and users are typically not free to ignore them. Examples include procedures, guidelines, changes to the decision-making process, and changes to the tools or environment used in Decentralized Foundation development. Any meta-DCP is also considered a Process DCP.</p>
<h3><a href="{{"informational"|relative_url}}">Informational</a> ({{site.pages|where:"type","Informational"|size}})</h3>
<p>Describes a Decentralized Foundation design issue, or provides general guidelines or information to the Decentralized Foundation community, but does not propose a new feature. Informational DCPs do not necessarily represent Decentralized Foundation community consensus or a recommendation, so users and implementers are free to ignore Informational DCPs or follow their advice.</p>