Skip to main content

What is a DIP?

DIP stands for Dijets Improvement Proposal. DIPs are design documents providing information to the wider Dijets community, or describing a new feature for Dijets Network or Ecosystem or a request for funds from the Treasury Wallet to be used in accordance to a proposal that was unanimously passed by the Governance Council during voting. The DIP should provide a concise technical or in-depth specification of the feature/idea and a rationale for the feature/idea. The Council member authoring and submitting the DIP is responsible for building consensus within the community and the rest of the council to seek a majority consent during the voting rounds, should the member wish to progress the DIP to formal submissions . DIP is a document that regulates and defines the behavior covering any of the five following domains.

Dijets Network & Protocol

Dijets Governance

Dijets Money Markets

Dijets Metaverse

Dijets Products & Services

DIPs are standardized documents voted upon by DGC Members (Dijets Governance Council Members). Each DIP can be added, amended, replaced, and removed with subsequent submissions.

The DIP should provide a concise technical or in-depth specification of the feature/idea and a rationale behind the said feature/idea. The Council member authoring and submitting the DIP is responsible for building consensus within the community and the rest of the council to seek a majority consent during the voting, should the DIP progress to the implementation stages.

Any dissenting opinions by other council members during the discussion phase of the DIP should be documented so a clear pattern can be devised for Dijets to establish a streamlined proposal submissions process.

The purpose of this process is to ensure that any changes to Dijets are fully transparent, well documented and well governed by Dijets Governance Council. Furthermore the proposals should all adhere to a set standard of acceptable parameters.

DIP Principles:

The key principles to note and follow when preparing a DIP are:

Specificity: A DIP must define and address a specific behavior, feature, or a single responsibility within a clearly specified ecosystem domain. Overburdened DIPs are not allowed.

Completeness: A DIP must be thorough. Relevant, specific particulars relating to the DIP being authored must not be left undefined or unreferenced.

Avoid overlap: Multiple DIPs must not implement the same type of behavior independently. For instance, there should not be two separate, interchangeable ways to appoint a sub-committee.

Clarity: A DIP must not have equally valid conflicting interpretations. A DIP must be as clear and easy to understand as possible.

Brevity: A DIP must be as short as possible, including only what is essential provided the core DIP authoring principles are adhered to.

DIP Rationale:

DIPs are meant to be the primary mechanism for proposing new features and or submitting an enhancement/improvement idea or to rectify any overlooked issues. Eventually the aim is to have a strong foundation for documenting all the design decisions that have alredy been implemented or yet to be implemented in any of the 5 Ecosystem Domains. Once the DIP has passed the formal submission phase , a text format copy of the DIPs will be maintained as in a versioned repository, allowing any and all changes to act as a record of the proposal.

Through an open, documented and fully traceable process, DGC Members can discuss and submit feedback which HAL can collect to allocate contribution scores plus help the council reach the broadest possible consensus on how Dijets Ecosystem should evolve. Furthermore, DIPs provide a mechanism for DGC members to define key issues and suggest amendments and ideas for the benefit of ecosystem. The DIPs process is conducted with a high level of transparency, rigor, and members input in order to minimize undesirable results.

For a current and historical view of proposed DIPs, please check out the DIPs Directory Portal. In short, the dips directory portal should be the go-to resource for anyone wanting to explore all DIPs and the subproposals derived from them in a reader-friendly manner. The Directory Portal features smart-linking, on-hover previews, predefined common queries (Views), and advanced queries with logical operators and filters.

Common Definitions

DIPs

DIPs are standardized design documents subject to members discussion, feedback and voting that, once implemented, define the behavior and general direction of Dijets Ecosystem across its five main domains. Collectively, DIPs are the dynamic body of law that steers and regulates Dijets Ecosystem and its advancement.

There are two main templates for submitting DIPs: technical if the DIP proposes changes or additions to its codebase and/or its smart contracts; or general for anything else.

Subproposals

Subproposals are a common recurring process. They are created and used as a means of proposing and enacting decisions nested within specific DIPs.

Just like DIPs, subproposals are standardized documents subject to voting. Once approved, they trigger a concrete action such as onboarding core personnel like Editors or Facilitators, modifying a proposal's budget, and so forth.

Authoring and Proposing

DIPs and subproposals can be brought forth and proposed by any of the existing DGC Members.

Members interested in proposing a DIP should continue reading below for a quick overview of the process and how to get started.

Getting Started with DIPs

DIPs are written using Markdown and hosted on GitHub. You can always count on the DIP Editor to help you out with the process, but having a passing knowledge of these tools will both benefit you with your overall proposal experience and make the process much smoother for everyone involved.

Markdown

Markdown is a very simple markup language for formatting text, i.e., adding headers, bullet lists, italicized text, et cetera. When working with DIPs, you should use GitHub-flavored Markdown.

GitHub’s Mastering Markdown will get you up to speed in no time. An online Markdown editor Marko can be used for practice and production.

GitHub

GitHub is a code hosting platform for version control and collaboration built on git, a version control software. GitHub is complex and may seem daunting at first, but only a basic familiarity is necessary for our purposes.

We recommend that you read these two short guides: Hello World and Forking Projects.

Templates

  • Technical DIPs affecting Dijets Codebase or Smart Contracts must conform to the Technical DIP Template.
  • General DIPs must conform to the General DIP Template.
  • Subproposals, require no designated templates but must conform to any of the aforementioned specific templates.

Proposing

Once you've picked the appropriate template for your proposal and have a workable draft, the next steps are the following two tasks:

DGC Members can contact the DIP Editor to help them with the above two tasks.

After the two above tasks have been completed, the DIP Editor will assign a number for the proposal. The proposed DIP then enters a period of council feedback (most frequently referred to as Request For Comments or RFC) where the rest of the council can discuss and submit feedback for the proposed DIP. Authoring members should utilise this opportunity to be proactive and interact with the rest of the council, take suggestions and answer any of their questions and improve the proposal. Once the feedback period is over and the authoring member has incorporated their final changes, the DIP is formally submitted for voting at Dijets Voting Portal

If the council collectively vote to pass the proposal, the DIP is formally published and implemented by HAL.

For a more detailed breakdown of the procedure, please read DIP0c3.

Contact Information

DIP Editor

Remember that the DIP Editor is there to clarify the process and help you. DGC Members should not hesitate to reach out if they need assistance!

DIP EditorQowaltsGitHubForum
Alisha Ramazannezhad@arama@arama@arama

Helpful Resources

Key DIPs

Several DIPS are essential to the process of understanding and participating in Dijets Governance. DGC Members are advised to familiarise themselves with each of the following DIPS listed below.

DIP0: Dijets Improvement Proposal Framework

DIP0 defines the Dijets Improvement Proposals (DIPs) Framework that all DIPs being proposed must comply with.

DIP1: DIP Amendment and Renewal process

DIP1 defines processes for the amendment and removal of accepted DIPs.

DIP2: Monthly Governance Cycle

DIP2 defines a monthly Governance Cycle that provides a predictable framework for Dijets governance decisions and its schedule.

DIP3: Onboarding Governance Sub-Committees

DIP3 defines the process and framework for managing governance sub-committees and modifying them in accordance to Dijets Primitives.