Skip to content

Commit 7a0809f

Browse files
authored
refactor the website and update pip-1 (#126)
* refactor the website and update pip-1 * update pip-1 and add workflow * update pip template * fix broken link
1 parent 602699c commit 7a0809f

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

56 files changed

+340
-446
lines changed

.github/CODEOWNERS

-2
This file was deleted.

.github/ISSUE_TEMPLATE.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
ATTENTION! If you would like to submit an PIP and it has already been written as a draft (see the [template](https://github.com/pactus-project/PIPs/blob/main/pip-template.md) for an example), please submit it as a [Pull Request](https://github.com/pactus-project/PIPs/pulls).
1+
ATTENTION! If you would like to submit a PIP and it has already been written as a draft (see the [template](https://github.com/pactus-project/PIPs/blob/main/pip-template.md) for an example), please submit it as a [Pull Request](https://github.com/pactus-project/PIPs/pulls).
22

33
If you are considering a proposal but would like to get some feedback on the idea before submitting a draft, then continue opening an Issue as a thread for discussion. Note that the more clearly and completely you state your idea the higher the quality of the feedback you are likely to receive.
44

@@ -8,4 +8,4 @@ Keep in mind the following guidelines from [PIP-1](https://pips.Pactus.org/PIPs/
88
99
> Vetting an idea publicly before going as far as writing a PIP is meant to save the potential author time. Asking the Pactus community first if an idea is original helps prevent too much time being spent on something that is guaranteed to be rejected based on prior discussions (searching the Internet does not always do the trick). It also helps to make sure the idea is applicable to the entire community and not just the author. Just because an idea sounds good to the author does not mean it will work for most people in most areas where Pactus is used.
1010
11-
> Once the champion has asked the Pactus community as to whether an idea has any chance of acceptance, a draft PIP should be presented as a Pull Request. This gives the author a chance to flesh out the draft PIP to make properly formatted, of high quality, and to address initial concerns about the proposal.
11+
> Once the champion has asked the Pactus community as to whether an idea has any chance of acceptance, a draft PIP should be presented as a Pull Request. This gives the author a chance to flesh out the draft PIP to make properly formatted, of high quality, and to address initial concerns about the proposal.

.github/workflows/ci.yml

+7
Original file line numberDiff line numberDiff line change
@@ -51,8 +51,15 @@ jobs:
5151
bundle exec jekyll doctor
5252
bundle exec jekyll build
5353
54+
# TODO: Enable me later
55+
# - name: HTML5Validator
56+
# uses: Cyb3r-Jak3/html5validator-action@v7.2.0
57+
# with:
58+
# root: _site
59+
5460
- name: HTML Proofer
5561
run: bundle exec htmlproofer --allow-missing-href --disable-external --assume-extension '.html' --log-level=:info --cache='{"timeframe":{"external":"6w"}}' --checks 'Links,Images,Scripts,OpenGraph' --no-check-sri --ignore-empty-alt --no-enforce_https ./_site
62+
5663
- name: DNS Validator
5764
run: bundle exec github-pages
5865

PIPs/pip-1.md

+81-59
Original file line numberDiff line numberDiff line change
@@ -1,84 +1,106 @@
11
---
22
pip: 1
33
title: PIP Purpose and Guidelines
4-
status: Living
5-
type: Meta
6-
author: Javad Rajabzadeh <ja7ad@live.com>
4+
status: Active
5+
type: Process
6+
author: Pactus Development Team <info@pactus.org>
77
created: 2023-07-10
88
---
99

10-
## What is an PIP?
10+
## What is a PIP?
1111

12-
Pactus Improvement Proposals (PIPs) serve as a comprehensive framework for outlining and defining the standards
13-
for the Pactus platform's ongoing development and enhancement. These proposals cover various aspects of the platform,
14-
including core protocol specifications and client application programming interfaces (APIs). By establishing a clear
15-
and consistent set of guidelines, PIPs ensure seamless interoperability and extensibility across the Pactus ecosystem,
16-
fostering a robust and efficient environment for developers and users alike.
12+
A Pactus Improvement Proposal, or PIP, is a design document that provides information or
13+
describes a new feature for the Pactus blockchain.
14+
The primary goal of a PIP is to encourage the development team to write down ideas before implementation and
15+
invite the community to contribute more efficiently.
16+
It also helps to brainstorm, review, and discuss changes and potential issues before
17+
they can impact the production environment.
1718

18-
## PIP Rationale
19+
## PIP workflow
1920

20-
We intend PIPs to be the primary mechanisms for proposing new features, for collecting community technical input on an issue,
21-
and for documenting the design decisions that have gone into Pactus.
22-
Because the PIPs are maintained as text files in a versioned repository,
23-
their revision history is the historical record of the feature proposal.
21+
The PIP process starts with an idea for the Pactus blockchain.
22+
The author should document the idea in PIP format and explain it in simple and
23+
[plain English](https://plainenglish.co.uk/how-to-write-in-plain-english.html).
24+
The drafted PIP can then be submitted to the PIP repository.
2425

25-
For Pactus implementers, PIPs are a convenient way to track the progress of their implementation.
26-
Ideally, each implementation maintainer would list the PIPs that they have implemented.
27-
This will give end users a convenient way to know the current status of a given implementation or library.
26+
The PIP should be assigned a proper number and category before it gets merged.
27+
Once the PIP is merged into the repository,
28+
a [discussion](https://github.com/pactus-project/PIPs/discussions) page will be created for it.
29+
All discussions around the PIP will be conducted on this discussion page.
30+
31+
Authors can update drafts as needed through pull requests until the PIP is approved.
32+
Once a PIP is approved, the implementation of the PIP can begin.
33+
34+
## PIP Status
35+
36+
The typical paths of the status of PIPs are as follows:
37+
38+
![Status Workflow](../assets/pip-1/pactus-pip-workflow.png)
39+
40+
- **Draft**: The PIP is in the initial stage and is being actively worked on.
41+
It is open for feedback and suggestions from the community.
42+
43+
- **Accepted**: The PIP has been reviewed and accepted for implementation.
44+
It indicates that the idea has been thoroughly discussed and is ready to be worked on by developers.
45+
46+
- **Final**: The PIP has been fully implemented and is now part of the Pactus protocol.
47+
It indicates that the changes proposed in the PIP are live and operational.
48+
49+
- **Replaced**: The PIP has been replaced by a newer PIP.
50+
This typically happens when the proposed changes are superseded by a more effective or updated solution.
51+
52+
- **Deferred**: The PIP is on hold and not currently being considered for implementation.
53+
It may be revisited in the future based on community needs and priorities.
54+
55+
- **Withdrawn**: The PIP has been withdrawn by the author.
56+
This can occur if the author decides not to pursue the idea.
57+
58+
- **Rejected**: The PIP has been reviewed and rejected.
59+
This status indicates that the proposed changes are not suitable for implementation within the Pactus protocol.
60+
61+
- **Active**: The PIP is continually being updated and has not reached a state of finality.
62+
This status is typically reserved for documents that require ongoing updates and revisions,
63+
such as this document, PIP-1.
64+
65+
## PIP format
66+
67+
TODO: to complete
2868

2969
## PIP Types
3070

31-
There are three types of PIP:
71+
There are types of a PIP:
72+
73+
### Standards Track
74+
75+
Standards Track PIPs propose changes to the Pactus blockchain's protocols,
76+
including improvements to the core protocol, network, or any other standards.
3277

33-
**Standards Track** PIP:
34-
Describes any change that affects most or all Pactus implementations, such as—a change to the network protocol,
35-
a change in block or transaction validity rules, proposed application standards/conventions,
36-
or any change or addition that affects the interoperability of applications using Pactus.
37-
Standards Track PIPs consist of three parts—a design document, an implementation, and
38-
(if warranted) an update to the formal specification.
39-
Furthermore, Standards Track PIPs can be broken down into the following categories:
78+
### Informational
4079

41-
* *Core*: Improvements requiring a consensus fork, as well as changes that are not necessarily consensus critical but
42-
may be relevant to "core dev" discussions or any change to transaction, block, address or their new versions.
80+
Informational PIPs describe Pactus design issues, guidelines, or general information
81+
that is not suitable for the Standards Track.
82+
They may also propose features or ideas for further discussion within the community.
4383

44-
* *Networking*: Includes improvements around Pactus networking protocol.
84+
### Process
4585

46-
* *Interface*: Includes improvements around clients, API/RPCs specifications, and how users and
47-
applications interact with the blockchain.
48-
The label "interface" aligns with the interfaces repo, and discussion should primarily occur
49-
in that repository before a PIP is submitted to the PIPs repository.
86+
Process PIPs propose changes to the PIP process itself or suggest improvements to
87+
the decision-making process within the Pactus community.
5088

51-
* *PRC*: Application-level standards and conventions, including contract standards such as
52-
* token standards, name registries, URI schemes, library/package formats, and wallet formats.
89+
## PIP Categories
5390

54-
**Meta PIP**: Describes a process surrounding Pactus or proposes a change to (or an event in) a process.
55-
Process PIPs are like Standards Track PIPs but apply to areas other than the Pactus protocol itself.
56-
They may propose an implementation, but not to Pactus's codebase; they often require community consensus;
57-
unlike Informational PIPs, they are more than recommendations, and users are typically not free to ignore them.
58-
Examples include procedures, guidelines, changes to the decision-making process,
59-
and changes to the tools or environment used in Pactus development.
60-
Any meta-PIP is also considered a Process PIP.
91+
Standards PIPs are categorized into the following layers:
6192

62-
**Informational** PIP: Describes a Pactus design issue, or provides general guidelines or
63-
information to the Pactus community, but does not propose a new feature.
64-
Informational PIPs do not necessarily represent Pactus community consensus or a recommendation,
65-
so users and implementers are free to ignore Informational PIPs or follow their advice.
93+
### Core
6694

67-
It is highly recommended that a single PIP contain a single key proposal or new idea.
68-
The more focused the PIP, the more successful it tends to be.
69-
A change to one client doesn't require a PIP; a change that affects multiple clients,
70-
or defines a standard for multiple apps to use, does.
95+
Core PIPs propose changes to the fundamental aspects of the Pactus protocol.
96+
These changes are critical and require careful consideration due to their potential impact on the entire network.
7197

72-
A PIP must meet certain minimum criteria. It must be a clear and complete description of the proposed enhancement.
73-
The enhancement must represent a net improvement. The proposed implementation,
74-
if applicable, must be solid and must not complicate the protocol unduly.
98+
### Networ
7599

76-
## PIP Status Terms
100+
Network PIPs focus on changes related to network communication.
101+
This includes improvements to the peer-to-peer protocol, network topology, and related networking functionalities.
77102

78-
![Status Workflow](../assets/pip-1/status-flow.jpg)
103+
### Interface
79104

80-
* Draft - Proposal under active discussion and revision.
81-
* Accepted - Normative proposal accepted for implementation.
82-
* Final - Accepted and implementation complete, or no longer active.
83-
* Rejected - Formally declined and will not be accepted.
84-
* Withdrawn - Removed from consideration by sponsor or authors.
105+
Interface PIPs propose changes to the external interfaces of the Pactus protocol, such as APIs.
106+
These changes impact how developers interact with the Pactus blockchain.

PIPs/pip-11.md

+2-3
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,8 @@
22
pip: 11
33
title: Deterministic key hierarchy for BLS12-381 curve
44
author: Mostafa Sedaghat Joo (@b00f)
5-
status: Accepted
6-
type: Standards Track
7-
category: Core
5+
status: Final
6+
type: Informational
87
created: 2023-09-26
98
---
109

PIPs/pip-12.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ title: Automated Version Updates and Announcements in GUI and Daemon Client
44
author: Javad Rajabzadeh <ja7ad@live.com>
55
status: Rejected
66
type: Standards Track
7-
category: Interface
7+
category:
88
created: 2023-11-26
99
---
1010

PIPs/pip-13.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ description: Import private keys to wallet
55
author: Amir Babazadeh (@amirvalhalla)
66
status: Final
77
type: Standards Track
8-
category: Core
8+
category:
99
created: 2023-11-27
1010
---
1111

PIPs/pip-14.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ title: Client Agent Standard
44
author: Javad Rajabzadeh <ja7ad@live.com>
55
status: Final
66
type: Standards Track
7-
category: Networking
7+
category: Network
88
created: 2023-11-28
99
---
1010

PIPs/pip-15.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@ pip: 15
33
title: In-Memory Cache for Stored Items
44
status: Final
55
type: Standards Track
6-
category: Interface
76
author: Mostafa Sedaghat Joo (@b00f)
7+
category: Core
88
created: 2023-12-03
99
---
1010

PIPs/pip-16.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ title: Adding events in Pactus transactions
44
author: Kayhan Alizadeh <kehiiiiya@gmail.com>
55
status: Draft
66
type: Standards Track
7-
category: Core
7+
category:
88
created: 2023-12-17
99
---
1010

PIPs/pip-17.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ title: PNS Pactus Name System
44
author: Kayhan Alizadeh <kehiiiiya@gmail.com>
55
status: Draft
66
type: Standards Track
7-
category: PRC
7+
category: Network
88
created: 2023-12-17
99
---
1010

PIPs/pip-18.md

+4-4
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,11 @@ pip: 18
33
title: Clock Offset Calculation
44
description: Calculate the difference between System Time and Network Time
55
author: |
6-
Mr. HoDL (@Mr-HoDL58)
6+
Mr. HoDL (@Mr-HoDL58),
77
Mostafa Sedaghat Joo (@b00f)
8-
status: Accepted
9-
type: Standards
10-
category: Core
8+
status: Final
9+
type: Standards Tracks
10+
category: Network
1111
created: 28-12-2023
1212
---
1313

PIPs/pip-19.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ pip: 19
33
title: Availability Score for Validators
44
author: Mostafa Sedaghat Joo (@b00f)
55
status: Final
6-
type: Standards
6+
type: Standards Tracks
77
category: Core
88
created: 01-01-2024
99
---

PIPs/pip-2.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ title: Lock Time Transactions
44
author: Mostafa Sedaghat Joo (@b00f)
55
status: Final
66
type: Standards Track
7-
category: Interface
7+
category: Core
88
created: 2023-08-23
99
---
1010

PIPs/pip-20.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ pip: 20
33
title: Basic Authentication for gRPC APIs
44
author: Javad Rajabzadeh (@Ja7ad)
55
status: Final
6-
type: Standards
6+
type: Standards Tracks
77
category: Interface
88
created: 14-01-2024
99
---
@@ -63,7 +63,7 @@ Once the bcrypt-hashed password is obtained, it can be stored in the configurati
6363
[grpc]
6464
enable = true
6565
listen = "[::]:50052"
66-
auth = "foo:$2y$05$3DdFhI74T5PwNyxFdh9wiOttWZCzmVEcI2GoTfNh4b1YubZgyZadS"
66+
basic_auth = "foo:$2y$05$3DdFhI74T5PwNyxFdh9wiOttWZCzmVEcI2GoTfNh4b1YubZgyZadS"
6767
```
6868

6969
### Basic Authentication Middleware

PIPs/pip-21.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@ pip: 21
33
title: unbond token can rebond at any time.
44
author: Hui (@laosiji-io)
55
status: Rejected
6-
type: Standards
7-
category: core
6+
type: Standards Tracks
7+
category: Core
88
created: 15-01-2024
99
---
1010

PIPs/pip-22.md

+3-3
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,9 @@
22
pip: 22
33
title: Agent Node Defination
44
author: Nagaraj (@ragnarok87)
5-
status: Accepted
6-
type: Standards
7-
category: Interface
5+
status: Final
6+
type: Standards Track
7+
category: Network
88
created: 29-01-2024
99
requires: 14
1010
---

PIPs/pip-23.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@ pip: 23
33
title: Sign and verify message by public and private key account
44
author: Javad Rajabzadeh (@ja7ad)
55
status: Draft
6-
type: Standards
7-
category: Core
6+
type: Standards Tracks
7+
category:
88
created: 14-04-2024
99
---
1010

PIPs/pip-24.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ pip: 24
33
title: Change Proposer on Double Proposing
44
author: Mostafa Sedaghat (@b00f)
55
status: Draft
6-
type: Standards
6+
type: Standards Tracks
77
category: Core
88
created: 10-05-2024
99
---

PIPs/pip-25.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ pip: 25
33
title: Dynamic fees structure
44
author: Javad Rajabzadeh (@b00f)
55
status: Draft
6-
type: Standards
6+
type: Standards Tracks
77
category: Core
88
created: 1-06-2024
99
---

PIPs/pip-26.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ pip: 26
33
title: Minimum Availability Score
44
author: Mostafa Sedaghat Joo (@b00f)
55
status: Final
6-
type: Standards
6+
type: Standards Tracks
77
category: Core
88
created: 09-06-2024
99
---

PIPs/pip-4.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@ pip: 4
33
title: Indexing Public Keys
44
status: Final
55
type: Standards Track
6-
category: Core
76
author: Kayhan Alizadeh <kehiiiiya@gmail.com>
7+
category: Core
88
created: 2023-08-27
99
---
1010

0 commit comments

Comments
 (0)