Skip to content

Latest commit

 

History

History
42 lines (32 loc) · 2.54 KB

AIP-template.md

File metadata and controls

42 lines (32 loc) · 2.54 KB
Error in user YAML: (<unknown>): did not find expected alphabetic or numeric character while scanning an alias at line 1 column 8
---
  AIP: *number*
  Title: *title of the AIP*
  Authors: *Firstname LastName <[email protected]>*
  Status: *Draft, Rejected or Active*
  Discussions-To: https://github.com/arkecosystem/AIPS/issues
  Address: *Ark address used to collect votes for the specific AIP*
  Type: *Standards (Applications, Consensus, Core, Network, Protocol)/Process/Informational*
  Category *only required for Standards Track: <Applications | Consensus | Core | Network | Protocol>
  Created: *YYYY-MM-DD*
  Last Update: *YYYY-MM-DD*
  Requires (*optional): <AIP number(s)>
  Replaces (*optional): <AIP number(s)>
--- 

Preamble

RFC 822 style headers containing meta-data about the AIP, including the AIP number, a short descriptive title (limited to a maximum of 44 characters), the names, and optionally the contact info for each author, etc.

Abstract

Short (~200 word) description of the technical issue being addressed.

Copyright

Each AIP must be licensed under the MIT License.

Motivation

The motivation is critical for AIPs that want to change the Ark protocol. It should clearly explain why the existing protocol specification is inadequate to address the problem that the AIP solves. AIP submissions without sufficient motivation may be rejected outright.

Specification

The technical specification should describe the syntax and semantics of any new feature. The specification should be detailed enough to allow competing, interoperable implementations.

Rationale

The rationale fleshes out the specification by describing what motivated the design and why particular design decisions were made. It should describe alternate designs that were considered and related work, e.g. how the feature is supported in other languages.

The rationale should provide evidence of consensus within the community and discuss important objections or concerns raised during discussion.

Backwards Compatibility

All AIPs that introduce backwards incompatibilities must include a section describing these incompatibilities and their severity. The AIP must explain how the author proposes to deal with these incompatibilities. AIP submissions without a sufficient backwards compatibility treatise may be rejected outright.

Reference Implementation

The reference implementation must be completed before any AIP is given status "Final", but it need not be completed before the AIP is accepted. It is better to finish the specification and rationale first and reach consensus on it before writing code.

The final implementation must include test code and documentation appropriate for the Ark protocol.