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
* first draft remediation of CIP-0010
* spelled NA instead of standard N/A
* revert accidental change intended for concurrent cardano-foundation#730
* fixing spurious change, perhaps from upstream merge
Cardano transaction metadata forces metadata entries to namespace their content using an unsigned integer key. This specification is a registry of which use cases has allocated which number to avoid collisions.
15
19
16
-
## Terminology
20
+
## Motivation: why is this CIP necessary?
21
+
22
+
The top level of the transaction metadata CBOR object is a mapping of `transaction_metadatum_label` to the actual metadata where the `transaction_metadatum_label` represents an (ideally unique) key for a metadata use case. This allows enables the following:
23
+
24
+
1) Fast lookup for nodes to query all transactions containing metadata that uses a specific key
25
+
2) Allows a single transaction to include multiple metadata entries for different standards
26
+
27
+
## Specification
28
+
29
+
### Terminology
17
30
18
31
Transaction metadata refers to an optional CBOR object in every transaction since the start of the Shelley era. It is defined as the follow CDDL data structure
The top level of the transaction metadata CBOR object is a mapping of `transaction_metadatum_label` to the actual metadata where the `transaction_metadatum_label` represents an (ideally unique) key for a metadata use case. This allows enables the following:
37
-
38
-
1) Fast lookup for nodes to query all transactions containing metadata that uses a specific key
39
-
2) Allows a single transaction to include multiple metadata entries for different standards
40
-
41
-
Creating a registry for `transaction_metadatum_label` values has the following benefit:
42
-
43
-
1) It makes it easy for developers to know which `transaction_metadatum_label` to use to query their node if looking for transactions that use a standard
44
-
2) It makes it easy to avoid collisions with other standards that use transaction metadata
45
-
46
-
## Specification
47
+
### Structure
47
48
48
49
These are the reserved `transaction_metadatum_label` values
49
50
@@ -57,6 +58,24 @@ this file.
57
58
58
59
\* It's best to avoid using `0` or any a similar number like `1` that other people are very likely to use. Prefer instead to generate a random number
59
60
61
+
## Rationale: how does this CIP achieve its goals?
62
+
63
+
Creating a registry for `transaction_metadatum_label` values has the following benefit:
64
+
65
+
1) It makes it easy for developers to know which `transaction_metadatum_label` to use to query their node if looking for transactions that use a standard
66
+
2) It makes it easy to avoid collisions with other standards that use transaction metadata
67
+
68
+
## Path to Active
69
+
70
+
### Acceptance Criteria
71
+
72
+
-[x] Consistent, long-term use by Cardano implementors of the metadata label registry by all applications requiring a universally acknowledged metadata label.
73
+
-[x] Consistent, long-term use in the CIP editing process: tagging, verifying, and merging new label requirements.
74
+
75
+
### Implementation Plan
76
+
77
+
-[x] Confirmed interest and cooperation in this metadata labelling standard and its `registry.json` convention by Cardano implementors: including NFT creators, data aggregators, and sidechains.
78
+
60
79
## Copyright
61
80
62
81
This CIP is licensed under [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/legalcode)
0 commit comments