Skip to main content

CIP

The Core Improvement Proposal (CIP) sets standards for the Core platform, encompassing core protocol specifications, client APIs, and contract standards.

Contributing

You can begin by opening your proposal under the issues section of this repository.

Review

How to start

Begin by contributing to the issues section of this repository. Once done, you'll be able to draft a CIP using the associated issue number (if available).

Next steps:

  1. Review the template cip-0
  2. Create a CIP in the Online Editor

Or

  1. Fork this repository.
  2. Modify the template cip-0 and move it to the cip folder.
  3. Submit a Pull Request to the Core CIP repository.

For graphical content, place it in the CIP image directory /static/cip/cip-x, where 'x' is the CIP number. Link images using the path /cip/cip-x/cip-x-1.png.

Tags

  • Draft: Consideration phase for a CIP.
  • Accepted: A CIP set for immediate adoption, often slated for the next hard fork (relevant for Core/Consensus layer CIPs).
  • Final: A CIP adopted in a prior hard fork (pertinent to Core/Consensus layer CIPs).
  • Deferred: A CIP not up for immediate adoption, but might be reconsidered for future hard forks.

Categories

CIPs are categorized into various types, each with its own list:

  • Core: Improvements involving a consensus fork or changes significant to core development discussions.
  • Networking: Enhancements concerning network protocol specs.
  • Interface: Focuses on client API/RPC specs, language standards like method names, and contract ABIs. Discussions should mainly take place in the interfaces repo before submitting a CIP here.
  • CBC: Application standards and conventions like token standards and name registries.
  • Informational: Addresses Core design issues or offers guidelines to the Core community without suggesting new features.
  • Meta: Outlines processes around Core or proposes process changes. These are more binding than informational CIPs and often necessitate community consensus.

Channels