Skip to content

Latest commit

 

History

History
42 lines (32 loc) · 2.56 KB

HIP-template.md

File metadata and controls

42 lines (32 loc) · 2.56 KB
Error in user YAML: (<unknown>): did not find expected alphabetic or numeric character while scanning an alias at line 1 column 8
---
  HIP: *number*
  Title: *title of the HIP*
  Authors: *Firstname LastName <[email protected]>*
  Status: *Draft, Rejected or Active*
  Discussions-To: https://github.com/Internet-of-People/HIPs/issues
  Address: *Hydra address used to collect votes for the specific HIP*
  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): *<HIP number(s)>*
  Replaces (optional): *<HIP number(s)>*
--- 

Preamble

RFC 822 style headers containing meta-data about the HIP, including the HIP 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 HIP must be licensed under the GPL v3.0 License.

Motivation

The motivation is critical for HIPs that want to change the Hydra protocol. It should clearly explain why the existing protocol specification is inadequate to address the problem that the HIP solves. HIP 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 HIPs that introduce backwards incompatibilities must include a section describing these incompatibilities and their severity. The HIP must explain how the author proposes to deal with these incompatibilities. HIP submissions without a sufficient backwards compatibility treatise may be rejected outright.

Reference Implementation

The reference implementation must be completed before any HIP is given status "Final", but it need not be completed before the HIP 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 Hydra protocol.