You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CIP-0001/README.md
-2Lines changed: 0 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -18,8 +18,6 @@ Created: 2020-03-21
18
18
License: CC-BY-4.0
19
19
---
20
20
21
-
# CIP-0001: Cardano Improvement Proposals
22
-
23
21
## Abstract
24
22
25
23
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.
Copy file name to clipboardExpand all lines: CIP-0003/README.md
-2Lines changed: 0 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -18,8 +18,6 @@ Created: 2020-05-07
18
18
License: CC-BY-4.0
19
19
---
20
20
21
-
# CIP-0003: Wallet Key Generation
22
-
23
21
## Abstract
24
22
25
23
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).
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.
15
23
16
-
## Motivation
24
+
## Motivation: why is this CIP necessary?
17
25
18
26
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).
19
27
@@ -23,7 +31,7 @@ Therefore, we can leverage bech32 for binary data encoding, with a set of common
23
31
24
32
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.
25
33
26
-
####Keys
34
+
### Keys
27
35
28
36
| Prefix | Meaning | Contents |
29
37
| --- | --- | --- |
@@ -72,7 +80,7 @@ We define the following set of common prefixes with their corresponding semantic
@@ -89,7 +97,7 @@ We define the following set of common prefixes with their corresponding semantic
89
97
|`datum`| Output datum hash | blake2b\_256 digest of output datum |
90
98
|`script_data`| Script data hash | blake2b\_256 digest of script data |
91
99
92
-
####Miscellaneous
100
+
### Miscellaneous
93
101
94
102
| Prefix | Meaning | Contents |
95
103
| --- | --- | --- |
@@ -98,34 +106,33 @@ We define the following set of common prefixes with their corresponding semantic
98
106
|`stake`| Mainnet stake address | Network tag and stake credential |
99
107
|`stake_test`| Testnet stake address | Network tag and stake credential |
100
108
109
+
## Rationale: how does this CIP achieve its goals?
101
110
102
-
## Rationale
103
-
104
-
#### About the `_test` suffix
111
+
### About the `_test` suffix
105
112
106
113
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.
107
114
108
115
Therefore, having a clear human-readable indicator regarding the network discrimination is useful.
109
116
110
-
####About `addr`
117
+
### About `addr`
111
118
112
119
Addresses probably are the most user-facing object in the current Cardano eco-system. Being able to clearly identify them
113
120
114
121
> :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.`
115
122
116
-
####About `stake`
123
+
### About `stake`
117
124
118
125
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.
119
126
120
-
####About `sk` & `vk`
127
+
### About `sk` & `vk`
121
128
122
129
Both are rather transparent abbreviations for **s**igning **k**ey and **v**erification **k**ey.
123
130
124
-
####About `xsk` & `xvk`
131
+
### About `xsk` & `xvk`
125
132
126
133
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.
127
134
128
-
####About `vkh`
135
+
### About `vkh`
129
136
130
137
An abbreviation for **v**erification **k**ey **h**ash.
131
138
@@ -136,13 +143,25 @@ deregistration certificates, etc. As a result, it seems useful to have a
136
143
human-readable prefix by which one can discern the different kinds of
137
144
verification key hashes.
138
145
139
-
## Backwards compatibility
146
+
###Backwards compatibility
140
147
141
148
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.
142
149
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:
Copy file name to clipboardExpand all lines: CIP-0013/README.md
+2-4Lines changed: 2 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -19,21 +19,19 @@ Created: 2020-09-22
19
19
License: CC-BY-4.0
20
20
---
21
21
22
-
# CIP-0013: Cardano URI Scheme
23
-
24
22
## Abstract
25
23
26
24
This proposal describes a basic URI scheme to handle Ada transfers and links to single stake pools or weighted lists of multiple pools.
27
25
28
26
## Motivation: why is this CIP necessary?
29
27
30
-
### For payment URIs:
28
+
### For payment URIs:
31
29
32
30
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).
33
31
34
32
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.
35
33
36
-
### For stake pool URIs:
34
+
### For stake pool URIs:
37
35
38
36
Centralised sources of information have led a growing amount of stake to be disproportionately assigned to pools pushed near & beyond the saturation point.
0 commit comments