by Zachary Belford, Shane Jonas, Donald McIntyre, Yaz Khoury, Anthony Lusardi, Tomaz Kariz
Star Improvement Proposals is an extension of the BIP/EIP/ECIP process, with some changes to allow for decentralization of the process. Its fundamental change involves determinism of proposal numbers and content-based versioning.
The Star is meant to be replaced with the prefix/acronym of the users choice, though the prefix MUST be the same for all participants of the particular protocol specification.
For example, All forks of the Star Improvement Proposal relating to the bitcoin network MUST be called BIP
. The differentiator being the location/domain/github organization to which the *IP belongs.
Star Improvement Proposals are versioned by the content of their name. First we create a hash of the preamble, then we use a portion of it to create the version hash.
SHA-3-512 of the proposal preamble encoded with BASE58.
MUST be derived by the last 8 characters of the Preamble Hash. This version
naming scheme is deterministic in that groups or individuals may choose to include another's proposal without any numbering conflicts.
Star improvement proposals will retain a human friendly proposal number. However, this number will be derived from the hash such that it remains deterministic. The proposal number will be derived as the trailing 4 integers from the Preamble Hash.
Once you have your *ip repo up, people submit proposals to it via pull requests, adding a file named {networkName}IP-{proposal number}. Once the proposal is implemented by your team / group, you may signal your readyness by merging the pull request.
Example:
- Proposed Preamble:
Title: Byzantium on block 696969
Author: Santa Clause <[email protected]>
Discussions-To: [email protected]
Status: Draft
Type: Standards Track
Created: 2020-05-25
Replaces: 5Vdb6jvjUGERa6UheajWnzRaSuNhW9i1dAyLVgbvXKJipV3H2x61xbcBKLEN2uh8dUb1qLK3Roo4BidhEMYQZyBP
Superseded-By: 3S2F1oTPmhrQuWNg4BDqJUkbVqHTU4jyhz5TgHicC74YpG5U8WwaEtSEb3cPgJ4efU4T9aFTqDSwPY1uyWq1MD71
- Base-58 Hash:
5Vdb6jvjUGERa6UheajWnzRaSuNhW9i1dAyLVgbvXKJipV3H2x61xbcBKLEN2uh8dUb1qLK3Roo4BidhEMYQZyBP
- Resulting *IP Name:
ECIP-Byzantium-EMYQZyBP
- Resulting Human-Friendly version number:
ZyBP
- Fork this repository.
- Change the name to your network prefix/ accronym.
- Create the first {your network accronym}IP to determine the standards and procedures for your StarIP repo.
- Take old proposals and move them in with new version hashes
How to contribute, build and release are outlined in CONTRIBUTING.md, BUILDING.md and RELEASING.md respectively. Commits in this repository follow the CONVENTIONAL_COMMITS.md specification.