From caf3259f32c4ec7d6c8c05532c5f115b80069647 Mon Sep 17 00:00:00 2001 From: Federico Franzoni <8609060+fed-franz@users.noreply.github.com> Date: Fri, 26 Apr 2024 15:52:16 +0200 Subject: [PATCH 1/3] Add DIP-1 draft --- dips/dip-0001.md | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 dips/dip-0001.md diff --git a/dips/dip-0001.md b/dips/dip-0001.md new file mode 100644 index 0000000..c16e44b --- /dev/null +++ b/dips/dip-0001.md @@ -0,0 +1,24 @@ +
+ DIP: 1 + Title: DIP Purpose and Guidelines + Author(s): @fed-franz, @HDauven, @autholykos + Status: Draft + Type: Process + Created: 18-08-2023 + Superseded-By: / ++ +## What is a DIP? + +## DIP Types + +## DIP Work Flow + +## What belongs in a successful BIP? + +## DIP Formats and Templates + +## DIP Editors + +## History +This document was mostly derived from Bitcoin's [BIP-1](https://github.com/bitcoin/bips/blob/master/bip-0001.mediawiki) and Ethereum's [EIP-1](https://github.com/ethereum/EIPs/blob/master/EIPS/eip-1.md), both of which were derived from Python's [PEP-1](https://peps.python.org/pep-0001/). \ No newline at end of file From eaf2fdcfa2ccb64447be683a9a75d09339e06292 Mon Sep 17 00:00:00 2001 From: Federico Franzoni <8609060+fed-franz@users.noreply.github.com> Date: Fri, 14 Jun 2024 13:09:20 +0200 Subject: [PATCH 2/3] What is a DIP --- dips/dip-0001.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/dips/dip-0001.md b/dips/dip-0001.md index c16e44b..2678fe9 100644 --- a/dips/dip-0001.md +++ b/dips/dip-0001.md @@ -9,6 +9,11 @@ ## What is a DIP? +DIP stands for Dusk Improvement Proposal. A DIP is a design document describing a modification or a new feature of the Dusk protocol or its processes or environment. The DIP should provide a concise technical specification of the feature and a rationale for its implementation. + +DIPs are intended to be the primary mechanisms for proposing and discussing modifications to the protocol and for documenting the design decisions that have gone into Dusk. For developers, DIPs are the point of reference to keep track of both past changes and current implementation progress. As such, DIPs should provide a summary of the discussion on the proposal, including favorable and dissenting opinions, advantages and disadvantages, and the motivation for each design choice. + +Changes to the proposal should be properly mentioned and described in the DIP document. ## DIP Types From 332817b3bb950f4187131119cad4f19e1f70c7c4 Mon Sep 17 00:00:00 2001 From: Federico Franzoni <8609060+fed-franz@users.noreply.github.com> Date: Fri, 14 Jun 2024 16:55:53 +0200 Subject: [PATCH 3/3] DIP Types --- dips/dip-0001.md | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/dips/dip-0001.md b/dips/dip-0001.md index 2678fe9..dc19886 100644 --- a/dips/dip-0001.md +++ b/dips/dip-0001.md @@ -1,7 +1,7 @@
DIP: 1 Title: DIP Purpose and Guidelines - Author(s): @fed-franz, @HDauven, @autholykos + Author(s): @fed-franz Status: Draft Type: Process Created: 18-08-2023 @@ -16,10 +16,17 @@ DIPs are intended to be the primary mechanisms for proposing and discussing modi Changes to the proposal should be properly mentioned and described in the DIP document. ## DIP Types +There are three types of DIP: + - A **Standard Track** DIP describes a change to the Dusk protocol or design; it affects all Dusk implementations and may require changes to the applications using Dusk (e.g., the wallets). A Standard Track DIP can fall into one of these categories: + - **Core**: includes changes to consensus rules, transaction or block data structures, the VM, or any other internal component; + - **Networking**: includes changes to the underlying P2P protocol and message structures; + - **Interface**: includes changes to node and contracts' ABI; + - An **Informational** DIP describes a Dusk design issue, or provides general guidelines or information to the Dusk community, but do not propose a new feature. Informational DIPs include standard definitions and best-practice recommendations to users and developers; while important, they are not part of the Dusk protocol and can be ignored without affecting the ability to use Dusk; + - A **Process** DIP describes a process surrounding Dusk, or a change to an existing process; they may propose an implementation, but no the Dusk's codebase; they can relate to the DIP process, to development procedures, or generally to the Dusk protocol governance; Process DIPs are not simple recommendations and user and developers are typically required to stick to their instructions. ## DIP Work Flow -## What belongs in a successful BIP? +## What belongs in a successful DIP? ## DIP Formats and Templates