Skip to content

Update hip-1.md in preparation to Hiero migration #1062

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 29 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
29 commits
Select commit Hold shift + click to select a range
5e3a23a
Update hip-1.md in preparation to Hiero migration
sergmetelin Oct 16, 2024
f98e66f
Update hip-1.md to reflect Hiero process
mgarbs Oct 22, 2024
7f41048
Update Hedera with Hiero
mgarbs Nov 25, 2024
7b9795e
Support for Hiero TSC Approval
mgarbs Nov 25, 2024
5b0dcda
Support for Hiero TSC in about
mgarbs Nov 25, 2024
1cc013c
pull latest merge resolve
mgarbs Dec 2, 2024
7798e58
update header validation script
mgarbs Dec 2, 2024
eee0bbe
remove uneeded workflows
mgarbs Dec 2, 2024
fdc471c
fix type category table on hip 1
mgarbs Dec 2, 2024
c8845b4
Update HIP/hip-1.md
mgarbs Dec 29, 2024
13f6c19
add create token details
mgarbs Jan 22, 2025
6da9778
Merge branch 'hiero-prep' of https://github.com/hashgraph/hedera-impr…
mgarbs Jan 22, 2025
1fb62ed
Merge branch 'main' of https://github.com/hashgraph/hedera-improvemen…
mgarbs Jan 27, 2025
2855efa
add TSC Approved, Hedera Review, Hedera Accepted, Historical notes to…
mgarbs Jan 27, 2025
e2ef13a
add statuses TSC Review|TSC Approved|Hedera Review|Hedera Accepted to…
mgarbs Jan 27, 2025
b53e8ce
update table to reflect Hiero TSC and Hedera Reviews
mgarbs Jan 28, 2025
de0a76f
Update HIP/hip-1.md
mgarbs Jan 28, 2025
5897147
Update HIP/hip-1.md
mgarbs Jan 28, 2025
8990157
Update HIP/hip-1.md
mgarbs Jan 28, 2025
738f891
Update HIP/hip-1.md
mgarbs Jan 28, 2025
350e71c
Update HIP/hip-1.md
mgarbs Jan 28, 2025
eb91a70
Update HIP/hip-1.md
mgarbs Jan 28, 2025
c455b93
Update HIP/hip-1.md
mgarbs Jan 28, 2025
6c6f635
Update HIP/hip-1.md
mgarbs Jan 28, 2025
0806ad6
Merge branch 'main' into hiero-prep
mgarbs Jan 28, 2025
6700a39
Merge branch 'main' into hiero-prep
mgarbs Jan 28, 2025
89a520a
Update hip-1.md
sergmetelin Feb 3, 2025
e01b161
Merge branch 'main' of https://github.com/hashgraph/hedera-improvemen…
mgarbs Feb 20, 2025
dd88208
Merge branch 'main' of https://github.com/hashgraph/hedera-improvemen…
mgarbs Mar 5, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
274 changes: 151 additions & 123 deletions HIP/hip-1.md

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion _config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
# you will see them accessed via {{ site.title }}, {{ site.email }}, and so on.
# You can create any custom variable you would like, and they will be accessible
# in the templates via {{ site.myvariable }}.
title: Hedera Improvement Proposals
title: Hiero Improvement Proposals
description: >- # this means to ignore newlines until "baseurl:"
HIP stands for “Hedera Improvement Proposal”. These improvement proposals can range from core protocol changes, to the applications, frameworks, and protocols built on top of the Hedera public network and used by the community.
baseurl: "" # the subpath of your site, e.g. /blog
Expand Down
41 changes: 31 additions & 10 deletions _includes/hipstable.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,10 @@
<option value="draft">Draft</option>
<option value="review">Review</option>
<option value="last call">Last Call</option>
<option value="council review">Council Review</option>
<option value="accepted">Accepted</option>
<option value="tsc review">TSC Review</option>
<option value="tsc approved">TSC Approved</option>
<option value="hiero approved">Hiero Approved</option>
<option value="hedera accepted">Hedera Accepted</option>
<option value="rejected">Rejected</option>
<option value="final">Final</option>
<option value="active">Active</option>
Expand Down Expand Up @@ -52,19 +54,25 @@
<th class="numeric">Number</th>
<th>Title</th>
<th>Author</th>
<th>Needs Council Approval</th>
<th>Needs TSC Review</th>
<th>Needs Hedera Review</th>
</tr>
</thead>
<tbody class="draft-tbody"></tbody>
</table>

<!-- Then render the rest of the statuses -->
{% for status in site.data.statuses %}
{% assign hips = include.hips | where: "status", status | where: "category", category | where: "type", type | sort: "hip" | reverse %}
{% assign combined_hips = include.hips %}
{% if status == "hedera accepted" %}
{% assign hips = combined_hips | where_exp: "hip", "hip.status == 'accepted' or hip.status == 'hedera accepted'" | where: "category", category | where: "type", type | sort: "hip" | reverse %}
{% else %}
{% assign hips = combined_hips | where: "status", status | where: "category", category | where: "type", type | sort: "hip" | reverse %}
{% endif %}
{% assign count = hips.size %}
{% if count > 0 %}
<h2 id="{{ status | slugify }}">
{{ status | capitalize }}
{{ status | capitalize }}
<span class="status-tooltip" data-tooltip="{{ status }}">ⓘ</span>
</h2>

Expand All @@ -74,7 +82,8 @@
<th class="numeric">Number</th>
<th>Title</th>
<th>Author</th>
<th>Needs Council Approval</th>
<th>Needs TSC Review</th>
<th>Needs Hedera Review</th>
{% if status == "Last Call" %}
<th>Review Period Ends</th>
{% else %}
Expand All @@ -87,7 +96,9 @@
<tr data-type="{{ page.type | downcase }}"
data-category="{{ page.category | downcase }}"
data-status="{{ page.status | downcase }}"
data-council-approval="{{ page.needs-council-approval | downcase }}">
data-council-approval="{{ page.needs-council-approval | downcase }}"
data-tsc-review="{{ page.needs-tsc-review | default: page.needs-council-approval | downcase }}"
data-hedera-review="{{ page.needs-hedera-review | default: page.needs-council-approval | downcase }}">

<td class="hip-number">
<a href="{{ page.url | relative_url }}">{{ page.hip | xml_escape }}</a>
Expand All @@ -100,9 +111,19 @@
<td class="author">
{% include authorslist.html authors=page.author %}
</td>

<td class="council-approval">
{% if page.needs-council-approval %}

<td class="tsc-review">
{% if page.needs-tsc-review %}
Yes
{% else %}
No
{% endif %}
</td>

<td class="hedera-review">
{% if page.needs-hedera-review %}
Yes
{% elsif page.needs-council-approval %}
Yes
{% else %}
No
Expand Down
51 changes: 26 additions & 25 deletions _layouts/hip.html
Original file line number Diff line number Diff line change
Expand Up @@ -39,18 +39,27 @@ <h3>{{ page.description | xml_escape }}</h3>
<span class="tooltip" data-tooltip="{{ page.status }}" style="text-decoration:none">ⓘ</span>
</td>
</tr>
{% if page.needs-council-approval != undefined %}
{% if page.needs-council-approval != undefined or page.needs-tsc-review != undefined or page.needs-hedera-review != undefined %}
<!-- TSC Review Row -->
<tr>
<th>
Needs Council Approval
</th>
<th>Needs TSC Review</th>
<td>
{% if page.needs-tsc-review %}
Yes <span class="tooltip" data-tooltip="tsc" style="text-decoration:none">ⓘ</span>
{% else %}
No <span class="tooltip" data-tooltip="tsc" style="text-decoration:none">ⓘ</span>
{% endif %}
</td>
</tr>

<!-- Hedera Review Row (includes legacy council approval logic) -->
<tr>
<th>Needs Hedera Review</th>
<td>
{% if page.needs-council-approval %}
Yes <span class="tooltip" data-tooltip="{{ page.needs-council-approval | jsonify }}"
style="text-decoration:none">ⓘ</span>
{% if page.needs-hedera-review or page.needs-council-approval %}
Yes <span class="tooltip" data-tooltip="hedera" style="text-decoration:none">ⓘ</span>
{% else %}
No <span class="tooltip" data-tooltip="{{ page.needs-council-approval | jsonify }}"
style="text-decoration:none">ⓘ</span>
No <span class="tooltip" data-tooltip="hedera" style="text-decoration:none">ⓘ</span>
{% endif %}
</td>
</tr>
Expand Down Expand Up @@ -137,18 +146,10 @@ <h2>Table of Contents</h2>

{% include anchor_headings.html html=content anchorClass="anchor-link" beforeHeading=true %}


<h2>Citation</h2>
<p>Please cite this document as:</p>
{% comment %}
IEEE specification for reference formatting:
https://ieee-dataport.org/sites/default/files/analysis/27/IEEE%20Citation%20Guidelines.pdf
{% endcomment %}
</div>
{% comment %}
Article schema specification:
https://schema.org/TechArticle
{% endcomment %}

<script type="application/ld+json">
{
"@context": "http://schema.org",
Expand Down Expand Up @@ -178,8 +179,10 @@ <h2>Citation</h2>
Stagnant: "🚧 No activity for 6+ months. Can return to Draft by Authors or Editors.",
Rejected: "❌ Not accepted. Rejected ideas are recorded with reasoning.",
"Last Call": "📢 Final review window before 'Accepted'. Subject to change if issues found.",
"Council Review": "⚖️ Under Council review. Awaiting approval, subject to feedback.",
Accepted: "👍 Went through 'Last Call' without content changes. Ready for implementation.",
"TSC Review": "⚖️ Under TSC review. Awaiting approval, subject to feedback.",
"Hedera Accepted": "👍 Went through 'Last Call' without content changes. Ready for implementation.",
"TSC Approved": "👍 Approved by the Technical Steering Committee.",
"Hiero Approved": "👍 Approved by Hiero.",
Final: "✅ Implemented in code and released. Represents a standard in a state of finality.",
Active: "🌟 Informational/Process HIPs that made it through Last Call. Can be 'Withdrawn' or 'Replaced'.",
Replaced: "🔄 Overwritten by a newer standard or implementation."
Expand All @@ -195,10 +198,9 @@ <h2>Citation</h2>
Mirror: "🔍 Mirror HIPs relate to the Hedera Mirror Node",
Application: "📱 Application HIPs are specific to applications built on top of the Hedera platform.",
},
"needs-council-approval": {
true: "👥 This HIP requires council approval for implementation because it makes changes at the protocol level.",
false: "✅ This HIP does not require council approval for implementation.",
},
council: "👥 This HIP required Hedera Council Approval (historical) because it made changes at the protocol level.",
tsc: "👥 This HIP requires TSC approval for implementation because it makes changes at the protocol level.",
hedera: "👥 This HIP requires Hedera review for implementation because it makes changes at the protocol level.",
"reviewPeriodEnds": "⏳ The last call review period ends on this date, after which the HIP's status may change.",
};

Expand All @@ -223,7 +225,6 @@ <h2>Citation</h2>
});
</script>


<script>
const tooltipElements = document.querySelectorAll('.tooltip');
tooltipElements.forEach(tooltip => {
Expand Down
65 changes: 34 additions & 31 deletions about-hips.html
Original file line number Diff line number Diff line change
Expand Up @@ -5,33 +5,36 @@

<p><img src="./assets/hedera_logo.png" alt="Hedera Hashgraph logo"></p>

{% assign repo = "hashgraph/hedera-improvement-proposal" %}
{% if site.github.repository_url contains "hiero" %}
{% assign repo = "hiero-ledger/hiero-improvement-proposals" %}
{% endif %}

<a href="https://discord.com/channels/373889138199494658/813488589773471774" target="_blank"><img
src="https://img.shields.io/discord/373889138199494658" alt="Discord Chat" style="margin-bottom: 20px;"></a>

<a href="https://github.com/hashgraph/hedera-improvement-proposal" target="_blank">
<a href="https://github.com/{{ repo }}" target="_blank">
<img alt="GitHub forks"
src="https://img.shields.io/github/forks/hashgraph/hedera-improvement-proposal?color=bright&label=fork%20me"
src="https://img.shields.io/github/forks/{{ repo }}?color=bright&label=fork%20me"
style="margin-bottom: 20px;">
</a>

<h2 id="what-is-a-hip-">What is a HIP?</h2>
<p>HIP stands for &quot;<i>Hedera Improvement Proposal</i>&quot;. These improvement proposals can range from core protocol
changes, to the applications, frameworks, and protocols built on top of the Hedera public network and used by the
community. The HIP author is responsible for building consensus within the community and documenting dissenting
opinions, as well as tracking their HIP through the process outlined below.</p>
<p>HIP stands for &quot;<i>Hiero Improvement Proposal</i>&quot;. These improvement proposals were originally managed by the Hedera Council and we're thus known as Hiero Improvement Proposals. With the transition of the codebase to the open source project Hiero, proposals that meet the criteria for requiring approval are now overseen by the Hiero Technical Steering Committee (TSC). These proposals can range from core protocol changes to applications, frameworks, and protocols built on top of the network and used by the community. The HIP author is responsible for building consensus within the community and documenting dissenting opinions, as well as tracking their HIP through the process outlined below.</p>

<h2 id="what-is-hedera-hashgraph-">What is Hedera Hashgraph?</h2>
<p><a href="https://hedera.com">Hedera Hashgraph</a> is the only public network built on top of <a
href="http://www.leemon.com/">Dr. Leemon Baird</a>s <a href="http://www.leemon.com/papers/2016b.pdf">Hashgraph
href="http://www.leemon.com/">Dr. Leemon Baird</a>'s <a href="http://www.leemon.com/papers/2016b.pdf">Hashgraph
consensus algorithm</a>. Hedera goes beyond blockchain to provide the fast, fair, and secure environment needed to
enable enterprise adoption of distributed ledger technologies. You can learn more about Hedera by <a
href="https://hedera.com/whitepaper">reading the Hedera whitepaper</a>, and for a more detailed
understanding of the Hashgraph Consensus Algorithm you can check out the <a
href="http://www.leemon.com/papers/2016b.pdf">hashgraph algorithm whitepaper</a>.</p>
<h2 id="purpose">Purpose</h2>
<p>The goal of HIPs is to have a place to propose new features, to collect community thoughts and input on a particular
issue, and further to document all these subject matters in one place. Its a great way to document these
discussions and proposals <a href="https://github.com/hashgraph/hedera-improvement-proposal">here on GitHub</a>,
because any <a href="https://github.com/hashgraph/hedera-improvement-proposal/commits/master">revisions made on
issue, and further to document all these subject matters in one place. It's a great way to document these
discussions and proposals <a href="https://github.com/{{ repo }}">here on GitHub</a>,
because any <a href="https://github.com/{{ repo }}/commits/master">revisions made on
these text files will be recorded</a>.</p>
<h2 id="process">Process</h2>
<p>See <a href="HIP/hip-1.html">HIP-1</a> for details on the HIP process.</p>
Expand All @@ -47,45 +50,45 @@ <h2>HIP Types</h2>

<ol>

<li>A <b>Standards Track</b> HIP describes a new feature or implementation for Hedera. It may also describe an
interoperability standard that will be supported outside of the official Hedera node software stack. The
Standards Track HIP abstract should include which part of the Hedera ecosystem it addresses. Standards Track
<li>A <b>Standards Track</b> HIP describes a new feature or implementation for Hiero. It may also describe an
interoperability standard that will be supported outside of the official node software stack. The
Standards Track HIP abstract should include which part of the ecosystem it addresses. Standards Track
HIPs require a specification and a reference implementation:

<ol class="ol-lower-latin">
<li><b>Core</b>: This includes proposals addressing the Hashgraph algorithm, peer-to-peer networking, etc.
These types of features are implemented on Hedera consensus nodes.
These types of features are implemented on consensus nodes.
</li>

<li><b>Service</b>: Hedera services sit on top of the Core node software and provide the functionalities
<li><b>Service</b>: Services sit on top of the Core node software and provide the functionalities
that are accessed by users. These currently include the File Service, Consensus Service, Token Service,
and Smart Contract Service. This type of proposal should be used to add to or improve the service-layer
of Hedera. These types of features are implemented on Hedera consensus nodes.
and Smart Contract Service. This type of proposal should be used to add to or improve the service-layer.
These types of features are implemented on consensus nodes.
</li>

<li><b>Mirror</b>: A mirror node runs software designed to retrieve all, or some of the records generated by
the Hedera consensus nodes and make those records available to users in a way that is meaningful,
the consensus nodes and make those records available to users in a way that is meaningful,
reliable, and trustworthy.
</li>

<li><b>Application</b>: Application standards may be used to standardize software in the Hedera ecosystem
<li><b>Application</b>: Application standards may be used to standardize software in the ecosystem
that aren't mirror or consensus nodes. This includes application network software, external contract
consensus nodes, multi-sig oracles, persistence mechanisms, enterprise software plugins, etc. An example of
an Application standard would be the Stablecoin Contract and Non-fungible Token Contract written in Java
as a layer-2 solution using the Hedera Consensus service to maintain trust.
as a layer-2 solution using the Consensus service to maintain trust.
</li>
</ol>
</li>

<li>An <b>Informational</b> HIP describes a Hedera design issue, or provides general guidelines or information to
the Hedera community, but does not propose a new feature. Informational HIPs do not necessarily represent a
Hedera community consensus or recommendation, so users and implementers are free to ignore Informational HIPs or
<li>An <b>Informational</b> HIP describes a design issue, or provides general guidelines or information to
the community, but does not propose a new feature. Informational HIPs do not necessarily represent a
community consensus or recommendation, so users and implementers are free to ignore Informational HIPs or
follow their direction.
</li>

<li>A <b>Process</b> HIP describes a process surrounding Hedera, or proposes a change to a process. Process HIPs are
<li>A <b>Process</b> HIP describes a process, or proposes a change to a process. Process HIPs are
like Standards Track HIPs but apply to areas other than the node and ecosystem software codebases. They may
propose an implementation, but not to Hedera's codebase; they often require community consensus; unlike
propose an implementation, but not to the codebase; they often require community consensus; unlike
Informational HIPs, they are more than recommendations, and users are typically not free to ignore them.
Examples include procedures, guidelines, and changes to the decision-making process. Any meta-HIP is also
considered a Process HIP.
Expand All @@ -95,12 +98,12 @@ <h2>HIP Types</h2>

<h2 id="before-submitting">Before Submitting</h2>
<ol>
<li><p>Evaluate your idea: consider why youd like to request changes or improvements, and how it benefits the
Hedera Hashgraph community.</p>
<li><p>Evaluate your idea: consider why you'd like to request changes or improvements, and how it benefits the
community.</p>
</li>
<li><p>Thoroughly look through those proposals already submitted to ensure there are no duplicates.</p>
</li>
<li><p>Ask the Hedera Hashgraph community first if your idea is original, or has already been through the HIP
<li><p>Ask the community first if your idea is original, or has already been through the HIP
process.</p>
</li>
<li><p>Reevaluate your proposal to ensure sure the idea is applicable to the entire community and not just to one
Expand All @@ -109,6 +112,6 @@ <h2 id="before-submitting">Before Submitting</h2>
</ol>
<h5 id="note">Note</h5>
<p>An excellent place to discuss your proposal and get feedback is in the <a
href="https://github.com/hashgraph/hip/issues">issues section of this repository</a>, or on <a
href="https://hedera.com/discord">Hedera&#39;s Discord Server</a>; there you can start formalizing the language
around your HIP and ensuring it has broad community support.</p>
href="https://github.com/{{ repo }}/issues">issues section of this repository</a>, or on <a
href="https://hedera.com/discord">Discord Server</a>; there you can start formalizing the language
around your HIP and ensuring it has broad community support.</p>
Binary file modified assets/hip-1/hip-states.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Loading