@@ -24,11 +24,128 @@ did:peer:4zQmb7xLdVY9TXx8oov5XgpGUmGELgqiAV2699s43i6Qdm3M:zQSJgiFTYiCHjQ9MktwNTh
24
24
>> > from did_peer_4 import resolve
25
25
>> > document = resolve(did)
26
26
>> > print (document)
27
- {' hello' : ' world' , ' alsoKnownAs ' : [ ' did:peer:4zQmb7xLdVY9TXx8oov5XgpGUmGELgqiAV2699s43i6Qdm3M' ] , ' id ' : ' did:peer:4zQmb7xLdVY9TXx8oov5XgpGUmGELgqiAV2699s43i6Qdm3M:zQSJgiFTYiCHjQ9MktwNThRXM7a ' }
27
+ {' hello' : ' world' , ' id ' : ' did:peer:4zQmb7xLdVY9TXx8oov5XgpGUmGELgqiAV2699s43i6Qdm3M:zQSJgiFTYiCHjQ9MktwNThRXM7a ' , ' alsoKnownAs ' : [ ' did:peer:4zQmb7xLdVY9TXx8oov5XgpGUmGELgqiAV2699s43i6Qdm3M' ] }
28
28
>> > from did_peer_4 import resolve_short
29
29
>> > short_document = resolve_short(did)
30
30
>> > print (short_document)
31
- {' hello' : ' world' , ' alsoKnownAs' : [' did:peer:4zQmb7xLdVY9TXx8oov5XgpGUmGELgqiAV2699s43i6Qdm3M:zQSJgiFTYiCHjQ9MktwNThRXM7a' ], ' id' : ' did:peer:4zQmb7xLdVY9TXx8oov5XgpGUmGELgqiAV2699s43i6Qdm3M' }
31
+ {' hello' : ' world' , ' id' : ' did:peer:4zQmb7xLdVY9TXx8oov5XgpGUmGELgqiAV2699s43i6Qdm3M' , ' alsoKnownAs' : [' did:peer:4zQmb7xLdVY9TXx8oov5XgpGUmGELgqiAV2699s43i6Qdm3M:zQSJgiFTYiCHjQ9MktwNThRXM7a' ]}
32
+
33
+ ```
34
+
35
+ ### With Input Document generation helper
36
+
37
+ ``` python
38
+ >> > import json
39
+ >> > from did_peer_4 import encode, resolve
40
+ >> > from did_peer_4.input_doc import input_doc_from_keys_and_services, KeySpec
41
+ >> > key1 = KeySpec(
42
+ ... multikey = " z6MkqRYqQiSgvZQdnBytw86Qbs2ZWUkGv22od935YF4s8M7V" ,
43
+ ... relationships = [" authentication" , " capabilityDelegation" ],
44
+ ... )
45
+ >> > key2 = KeySpec(
46
+ ... multikey = " z6LSbysY2xFMRpGMhb7tFTLMpeuPRaqaWM1yECx2AtzE3KCc" ,
47
+ ... relationships = [" keyAgreement" ],
48
+ ... )
49
+ >> > service = {
50
+ ... " id" : " #didcomm-0" ,
51
+ ... " type" : " DIDCommMessaging" ,
52
+ ... " serviceEndpoint" : {
53
+ ... " uri" : " didcomm:transport/queue" ,
54
+ ... " accept" : [" didcomm/v2" ]
55
+ ... }
56
+ ... }
57
+ >> > input_doc = input_doc_from_keys_and_services([key1, key2], [service])
58
+ >> > print (json.dumps(input_doc, indent = 2 ))
59
+ {
60
+ " @context" : [
61
+ " https://www.w3.org/ns/did/v1" ,
62
+ " https://w3id.org/security/multikey/v1"
63
+ ],
64
+ " verificationMethod" : [
65
+ {
66
+ " id" : " #key-0" ,
67
+ " type" : " Multikey" ,
68
+ " publicKeyMultibase" : " z6MkqRYqQiSgvZQdnBytw86Qbs2ZWUkGv22od935YF4s8M7V"
69
+ },
70
+ {
71
+ " id" : " #key-1" ,
72
+ " type" : " Multikey" ,
73
+ " publicKeyMultibase" : " z6LSbysY2xFMRpGMhb7tFTLMpeuPRaqaWM1yECx2AtzE3KCc"
74
+ }
75
+ ],
76
+ " authentication" : [
77
+ " #key-0"
78
+ ],
79
+ " capabilityDelegation" : [
80
+ " #key-0"
81
+ ],
82
+ " service" : [
83
+ {
84
+ " id" : " #didcomm-0" ,
85
+ " type" : " DIDCommMessaging" ,
86
+ " serviceEndpoint" : {
87
+ " uri" : " didcomm:transport/queue" ,
88
+ " accept" : [
89
+ " didcomm/v2"
90
+ ]
91
+ }
92
+ }
93
+ ],
94
+ " keyAgreement" : [
95
+ " #key-1"
96
+ ]
97
+ }
98
+ >> > did = encode(input_doc)
99
+ >> > print (did)
100
+ did:peer:4zQmQabhRUiFPAmn7CX6B8V6qmfrs7nQQyFb6zAD7EAWvW3c :zMoDtDfb4quiz6yXy8ftBst291RGXBJaVy8FMivQWVLPbYUSAS68WgeWNxtdR5aBNraMHsPZi4iSWizFpbbZxQ2Cw56HwPxwG3SMa3wCtUkRj1LrAjcC1EE11t7vq1mggN2Y5xHTJpEbCLNnrUHG99RBb7fDEJff2YzCFqKxW4NU6tdjtw5fEy6Kz5f3KzeybV74aZY8QwWFMi3j9brksFsNhhCWyk65tKgaE2b5qyD6tLF5u3rNuEAUGNTTaJ1hPGKgCZaAAm4TdjuaSXoVaSxiXXkWjEsxRnLnqeNbw6djogDw41v2tpEawTQX7ZqL5ZbYzPi6N6L2e9Kkf4i2K2WMVLTW41n6AGmDguJPqrgkpCb71v2WiMGSsQPzk5EyPucdfQmxyn7tj4E21nZGNfY415Sp2XQZZ7yQPAimq3WrYf54srZfVjXvJBrMosCPDdm5bVKitRLjmh8ueQ3Pa8CcT3zHy8RtQRuKTQgKyWLUvMitN1eQEtaRo1vLNLYEX4cXhG51haarXRfEFyCr3FZeE9oBRWkZioCrkZTEL8rz4GAAnpPojxCPXsecE1WJXkcqZw1bS9YwU5gugNybPAFpoc2AhwtcQNvj9UhaZisVvPiEsynRG2cmwyjqi5dD8b6FvwCMUq8FzkpyV2UR8ePMMt3Co8FofVvKCkU4a4CRWF6hWCrEQqpSC5abNscuvpcMUfzvSVNrFVZyCiSMX2Wwa7tnxvujZTjutKXr
101
+ >> > document = resolve_short(did)
102
+ >> > print (json.dumps(document, indent = 2 ))
103
+ {
104
+ " @context" : [
105
+ " https://www.w3.org/ns/did/v1" ,
106
+ " https://w3id.org/security/multikey/v1"
107
+ ],
108
+ " verificationMethod" : [
109
+ {
110
+ " id" : " #key-0" ,
111
+ " type" : " Multikey" ,
112
+ " publicKeyMultibase" : " z6MkqRYqQiSgvZQdnBytw86Qbs2ZWUkGv22od935YF4s8M7V" ,
113
+ " controller" : " did:peer:4zQmQabhRUiFPAmn7CX6B8V6qmfrs7nQQyFb6zAD7EAWvW3c"
114
+ },
115
+ {
116
+ " id" : " #key-1" ,
117
+ " type" : " Multikey" ,
118
+ " publicKeyMultibase" : " z6LSbysY2xFMRpGMhb7tFTLMpeuPRaqaWM1yECx2AtzE3KCc" ,
119
+ " controller" : " did:peer:4zQmQabhRUiFPAmn7CX6B8V6qmfrs7nQQyFb6zAD7EAWvW3c"
120
+ }
121
+ ],
122
+ " authentication" : [
123
+ " #key-0"
124
+ ],
125
+ " capabilityDelegation" : [
126
+ " #key-0"
127
+ ],
128
+ " service" : [
129
+ {
130
+ " id" : " #didcomm-0" ,
131
+ " type" : " DIDCommMessaging" ,
132
+ " serviceEndpoint" : {
133
+ " uri" : " didcomm:transport/queue" ,
134
+ " accept" : [
135
+ " didcomm/v2"
136
+ ]
137
+ }
138
+ }
139
+ ],
140
+ " keyAgreement" : [
141
+ " #key-1"
142
+ ],
143
+ " id" : " did:peer:4zQmQabhRUiFPAmn7CX6B8V6qmfrs7nQQyFb6zAD7EAWvW3c" ,
144
+ " alsoKnownAs" : [
145
+ " did:peer:4zQmQabhRUiFPAmn7CX6B8V6qmfrs7nQQyFb6zAD7EAWvW3c:zMoDtDfb4quiz6yXy8ftBst291RGXBJaVy8FMivQWVLPbYUSAS68WgeWNxtdR5aBNraMHsPZi4iSWizFpbbZxQ2Cw56HwPxwG3SMa3wCtUkRj1LrAjcC1EE11t7vq1mggN2Y5xHTJpEbCLNnrUHG99RBb7fDEJff2YzCFqKxW4NU6tdjtw5fEy6Kz5f3KzeybV74aZY8QwWFMi3j9brksFsNhhCWyk65tKgaE2b5qyD6tLF5u3rNuEAUGNTTaJ1hPGKgCZaAAm4TdjuaSXoVaSxiXXkWjEsxRnLnqeNbw6djogDw41v2tpEawTQX7ZqL5ZbYzPi6N6L2e9Kkf4i2K2WMVLTW41n6AGmDguJPqrgkpCb71v2WiMGSsQPzk5EyPucdfQmxyn7tj4E21nZGNfY415Sp2XQZZ7yQPAimq3WrYf54srZfVjXvJBrMosCPDdm5bVKitRLjmh8ueQ3Pa8CcT3zHy8RtQRuKTQgKyWLUvMitN1eQEtaRo1vLNLYEX4cXhG51haarXRfEFyCr3FZeE9oBRWkZioCrkZTEL8rz4GAAnpPojxCPXsecE1WJXkcqZw1bS9YwU5gugNybPAFpoc2AhwtcQNvj9UhaZisVvPiEsynRG2cmwyjqi5dD8b6FvwCMUq8FzkpyV2UR8ePMMt3Co8FofVvKCkU4a4CRWF6hWCrEQqpSC5abNscuvpcMUfzvSVNrFVZyCiSMX2Wwa7tnxvujZTjutKXr"
146
+ ]
147
+ }
148
+
32
149
```
33
150
34
151
## Tutorial
0 commit comments