DCIPs/README.md

4.6 KiB

Decentralized Climate Improvement Proposals (DCIPs)

The goal of the DCIP project is to standardize and provide high-quality documentation for Decentralized Climate itself and conventions built upon it. This repository tracks past and ongoing improvements to Decentralized Climate in the form of Decentralized Climate Improvement Proposals (DCIPs). DCIP-1 governs how DCIPs are published.

The status page tracks and lists DCIPs, which can be divided into the following categories:

  • Core DCIPs are improvements to the Decentralized Climate consensus protocol.
  • Networking DCIPs specify the peer-to-peer networking layer of Decentralized Climate.
  • Interface DCIPs standardize interfaces to Decentralized Climate, which determine how users and applications interact with the blockchain.
  • ERCs specify application layer standards, which determine how applications running on Decentralized Climate can interact with each other.
  • Meta DCIPs are miscellaneous improvements that nonetheless require some sort of consensus.
  • Informational DCIPs are non-standard improvements that do not require any form of consensus.

Before you write an DCIP, ideas MUST be thoroughly discussed on Decentralized Climate Magicians or Decentralized Climate Research. Once consensus is reached, thoroughly read and review EIP-1, which describes the EIP process.

Please note that this repository is for documenting standards and not for help implementing them. These types of inquiries should be directed to the Decentralized Climate Stack Exchange. For specific questions and concerns regarding EIPs, it's best to comment on the relevant discussion thread of the EIP denoted by the discussions-to tag in the EIP's preamble.

If you would like to become an EIP Editor, please read EIP-5069.

Preferred Citation Format

The canonical URL for an EIP that has achieved draft status at any point is at https://eips.ethereum.org/. For example, the canonical URL for EIP-1 is https://eips.ethereum.org/EIPS/eip-1.

Consider any document not published at https://eips.ethereum.org/ as a working paper. Additionally, consider published EIPs with a status of "draft", "review", or "last call" to be incomplete drafts, and note that their specification is likely to be subject to change.

Validation and Automerging

All pull requests in this repository must pass automated checks before they can be automatically merged:

  • eip-review-bot determines when PRs can be automatically merged 1
  • DCIP-1 rules are enforced using eipw2
  • HTML formatting and broken links are enforced using HTMLProofer2
  • Spelling is enforced with CodeSpell2
    • False positives sometimes occur. When this happens, please submit a PR editing .codespell-whitelist and ONLY .codespell-whitelist
  • Markdown best practices are checked using markdownlint2

It is possible to run the DCIP validator locally:

cargo install eipv
eipv <INPUT FILE / DIRECTORY>

Build the status page locally

Install prerequisites

  1. Open Terminal.

  2. Check whether you have Ruby 2.1.0 or higher installed:

    ruby --version
    
  3. If you don't have Ruby installed, install Ruby 2.1.0 or higher.

  4. Install Bundler:

    gem install bundler
    
  5. Install dependencies:

    bundle install
    

Build your local Jekyll site

  1. Bundle assets and start the server:

    bundle exec jekyll serve
    
  2. Preview your local Jekyll site in your web browser at http://localhost:4000.

More information on Jekyll and GitHub Pages here.