Skip to content

Commit 9c7ed3f

Browse files
authored
Rework CIP-0005's headers and sections + remove h1 headers from various CIPs (#453)
* Rework CIP-0005's headers and sections according to new CIP-0001 * Remove h1 header from template and CIPs.
1 parent dc0d0ea commit 9c7ed3f

File tree

12 files changed

+48
-48
lines changed

12 files changed

+48
-48
lines changed

.github/CIP-TEMPLATE.md

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -26,9 +26,6 @@ License: CC-BY-4.0
2626
2727
-->
2828

29-
# CIP-XXXX: Title
30-
<!-- A reminder of the document's number & title, for readability. -->
31-
3229
## Abstract
3330
<!-- A short (\~200 word) description of the proposed solution and the technical issue being addressed. -->
3431

.github/CPS-TEMPLATE.md

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,9 +25,6 @@ Created: YYYY-MM-DD
2525
2626
-->
2727

28-
# CPS-XXXX: Title
29-
<!-- A reminder of the document's number & title, for readability. -->
30-
3128
## Abstract
3229
<!-- A short (\~200 word) description of the target goals and the technical obstacles to those goals. -->
3330

CIP-0001/README.md

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,6 @@ Created: 2020-03-21
1818
License: CC-BY-4.0
1919
---
2020

21-
# CIP-0001: Cardano Improvement Proposals
22-
2321
## Abstract
2422

2523
A Cardano Improvement Proposal (CIP) is a formalised design document for the Cardano community and the name of the process by which such documents are produced and listed. A CIP provides information or describes a change to the Cardano ecosystem, processes, or environment concisely and in sufficient technical detail. In this CIP, we explain what a CIP is; how the CIP process functions; the role of the CIP Editors; and how users should go about proposing, discussing and structuring a CIP.

CIP-0002/README.md

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,6 @@ Created: 2020-05-04
1313
License: CC-BY-4.0
1414
---
1515

16-
# CIP-0002: Coin Selection Algorithms for Cardano
17-
1816
## Abstract
1917

2018
This article describes, in _human-readable terms_, the coin selection

CIP-0003/README.md

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,6 @@ Created: 2020-05-07
1818
License: CC-BY-4.0
1919
---
2020

21-
# CIP-0003: Wallet Key Generation
22-
2321
## Abstract
2422

2523
Many wallets utilize some way of mapping a sentence of words (easy to read and write for humans) uniquely back and forth to a sized binary data (harder to remember).

CIP-0004/README.md

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,6 @@ Created: 2019-05-01
1616
License: Apache-2.0
1717
---
1818

19-
# CIP-0004: Wallet Checksums
20-
2119
## Abstract
2220

2321
We introduce a checksum algorithm to help users verify they are restoring the right wallet before the restoration actually takes place.

CIP-0005/README.md

Lines changed: 37 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,18 @@
11
---
22
CIP: 5
33
Title: Common Bech32 Prefixes
4-
Authors: Matthias Benkort <[email protected]>
5-
Comments-URI: https://forum.cardano.org/t/cip5-common-bech32-prefixes/35189
4+
Category: Tools
65
Status: Active
7-
Type: Standards
6+
Authors:
7+
- Matthias Benkort <[email protected]>
8+
Implementors: N/A
9+
Discussions:
10+
- https://forum.cardano.org/t/cip5-common-bech32-prefixes/35189
11+
- https://github.com/cardano-foundation/CIPs/pull/427
12+
- https://github.com/cardano-foundation/CIPs/pull/342
13+
- https://github.com/cardano-foundation/CIPs/pull/251
14+
- https://github.com/cardano-foundation/CIPs/pull/177
15+
- https://github.com/cardano-foundation/CIPs/pull/31
816
Created: 2020-05-28
917
License: Apache-2.0
1018
---
@@ -13,7 +21,7 @@ License: Apache-2.0
1321

1422
This CIP defines a set of common prefixes (or so-called human-readable part in the [bech32](https://github.com/bitcoin/bips/blob/master/bip-0173.mediawiki)) encoding format) for various bech32-encoded binary data across the Cardano eco-system.
1523

16-
## Motivation
24+
## Motivation: why is this CIP necessary?
1725

1826
Many tools used within the Cardano eco-system are manipulating binary data. Binary data are typically encoded as hexadecimal text strings when shown in a user interface (might it be a console, a url or a structured document from a server). From the user perspective, it can be difficult to distinguish between various encoded data. From the tools developer perspective, it can also be difficult to validate inputs based only on raw bytes (in particular when encoded data often have the same length).
1927

@@ -23,7 +31,7 @@ Therefore, we can leverage bech32 for binary data encoding, with a set of common
2331

2432
We define the following set of common prefixes with their corresponding semantic. Any software willing to represent binary data in a human-friendly way should abide by these guidelines. Should a data-type be missing, we encourage developers to update this CIP and register a new prefix.
2533

26-
#### Keys
34+
### Keys
2735

2836
| Prefix | Meaning | Contents |
2937
| --- | --- | --- |
@@ -72,7 +80,7 @@ We define the following set of common prefixes with their corresponding semantic
7280
| `vrf_sk` | VRF signing key | VRF signing key |
7381
| `vrf_vk` | VRF verification key | VRF verification key |
7482

75-
#### Hashes
83+
### Hashes
7684

7785
| Prefix | Meaning | Contents |
7886
| --- | --- | --- |
@@ -89,7 +97,7 @@ We define the following set of common prefixes with their corresponding semantic
8997
| `datum` | Output datum hash | blake2b\_256 digest of output datum |
9098
| `script_data` | Script data hash | blake2b\_256 digest of script data |
9199

92-
#### Miscellaneous
100+
### Miscellaneous
93101

94102
| Prefix | Meaning | Contents |
95103
| --- | --- | --- |
@@ -98,34 +106,33 @@ We define the following set of common prefixes with their corresponding semantic
98106
| `stake` | Mainnet stake address | Network tag and stake credential |
99107
| `stake_test` | Testnet stake address | Network tag and stake credential |
100108

109+
## Rationale: how does this CIP achieve its goals?
101110

102-
## Rationale
103-
104-
#### About the `_test` suffix
111+
### About the `_test` suffix
105112

106113
Address already contains a discriminant tag, yet it requires one to peek at the internal binary payload. With Base58-encoded addresses, people have been used to look at first few characters and distinguish address this way. Not only this is cumbersome, but it is also made harder with both Shelley and Bech32-encoded addresses. On the one hand, the "common" part of the internal payload is much less than in Byron addresses and thus, the first bytes of the payload are varying much more. Plus, the bech32 prefix which can now be fixed makes it even more error-prone.
107114

108115
Therefore, having a clear human-readable indicator regarding the network discrimination is useful.
109116

110-
#### About `addr`
117+
### About `addr`
111118

112119
Addresses probably are the most user-facing object in the current Cardano eco-system. Being able to clearly identify them
113120

114121
> :bulb: Open question: with side-chains and multi-currencies coming soon, would it make sense to include the currency in the bech32 prefix? e.g. `ada1...` or `ada_addr1.`
115122
116-
#### About `stake`
123+
### About `stake`
117124

118125
Stake _addresses_ are references to reward account. They are used in many manipulation involving rewards (registering stake key, delegating, fetching reward balance etc..). We therefore make it a "first-class" object and assign it a dedicated prefix.
119126

120-
#### About `sk` & `vk`
127+
### About `sk` & `vk`
121128

122129
Both are rather transparent abbreviations for **s**igning **k**ey and **v**erification **k**ey.
123130

124-
#### About `xsk` & `xvk`
131+
### About `xsk` & `xvk`
125132

126133
The prefix `x` is typically used in cryptography to refer to e**x**tended keys (e.g. `xpub`, `xprv` ...). Following this convention, we prefix `sk` and `vk` as such when they refer to extended keys.
127134

128-
#### About `vkh`
135+
### About `vkh`
129136

130137
An abbreviation for **v**erification **k**ey **h**ash.
131138

@@ -136,13 +143,25 @@ deregistration certificates, etc. As a result, it seems useful to have a
136143
human-readable prefix by which one can discern the different kinds of
137144
verification key hashes.
138145

139-
## Backwards compatibility
146+
### Backwards compatibility
140147

141148
The only prior work done towards that direction has been [jcli](https://input-output-hk.github.io/jormungandr/jcli/introduction.html). Historically, prefixes evolved very organically and without any agreed-upon standard. jcli is however only compatible with Jörmungandr and is not intended to be compatible with the cardano-node. Therefore, there's little concern regarding compatibility here.
142149

143-
## Reference implementation
150+
## Path to Active
151+
152+
### Acceptance Criteria
153+
154+
- [x] There is a variety of tools and services utilizing this standard:
155+
- [x] Trezor, Ledger
156+
- [x] cardano-cli
157+
- [x] cardano-wallet
158+
- [x] Blockfrost
159+
- [x] cardanoscan, cexplorer
160+
- ... and more
161+
162+
### Implementation Plan
144163

145-
[cip5-js](https://www.npmjs.com/package/@dcspark/cip5-js)
164+
- Available JavaScript library: [cip5-js](https://www.npmjs.com/package/@dcspark/cip5-js)
146165

147166
## Copyright
148167

CIP-0013/README.md

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -19,21 +19,19 @@ Created: 2020-09-22
1919
License: CC-BY-4.0
2020
---
2121

22-
# CIP-0013: Cardano URI Scheme
23-
2422
## Abstract
2523

2624
This proposal describes a basic URI scheme to handle Ada transfers and links to single stake pools or weighted lists of multiple pools.
2725

2826
## Motivation: why is this CIP necessary?
2927

30-
### For payment URIs:
28+
### For payment URIs:
3129

3230
Users who create community content often want donations as a financial incentive. However, forcing users to open their wallet and copy-paste an address lowers the amount of people likely to send tokens (especially if they have to sync their wallet first).
3331

3432
If donating was as simple as clicking a link that opens a light wallet with pre-populated fields, users may be more willing to send tokens. URI schemes would enable users to easily make payments by simply clicking links on webpages or scanning QR Codes.
3533

36-
### For stake pool URIs:
34+
### For stake pool URIs:
3735

3836
Centralised sources of information have led a growing amount of stake to be disproportionately assigned to pools pushed near & beyond the saturation point.
3937

CIP-0020/README.md

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,8 +31,6 @@ Created: 2021-06-13
3131
License: CC-BY-4.0
3232
---
3333

34-
# CIP-0020: Transaction message/comment metadata
35-
3634
## Abstract
3735

3836
This CIP describes a basic JSON schema to add messages/comments/memos as transaction metadata by using the metadatum label **674**.

CIP-0031/README.md

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,9 @@
11
---
22
CIP: 31
33
Title: Reference inputs
4-
Authors: Michael Peyton Jones <[email protected]>
5-
Implementors:
4+
Authors:
5+
- Michael Peyton Jones <[email protected]>
6+
Implementors:
67
- Michael Peyton Jones <[email protected]>
78
- Jared Corduan <[email protected]>
89
Status: Active
@@ -11,8 +12,6 @@ Created: 2021-11-29
1112
License: CC-BY-4.0
1213
---
1314

14-
# Reference inputs
15-
1615
## Abstract
1716

1817
We introduce a new kind of input, a _reference_ input, which allows looking at an output without spending it.

0 commit comments

Comments
 (0)