diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..9f11b75 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.idea/ diff --git a/README.md b/README.md index ab10d5b..09def53 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,82 @@ -# artifacts +# Artifacts + Artifacts that illustrate Earth Program use cases and solutions + +## Renewable Energy Certificates + +These artifacts help realize the Renewable Energy Certificates Focal Use Case. + +### Cryptographic Materials + +Many of the identifiers used in this set of artifacts are DIDs based on cryptographic public/private keypairs. This allows the artifacts' identifiers to be created offline and secured using cryptographic signatures. + +The public/private key pairs are Secp256k1 keys generated using [didkit](https://spruceid.dev/docs/didkit/) and represented in [Json Web Key](https://datatracker.ietf.org/doc/html/rfc7517) format. The .jwk files contain both the public and private keys for each actor. From these keys a DID and associated DID document has been generated using didkit. + +* **HydroElec** — The producer behind the proposed project. + * Key pair [./rec/keys/hydroelec.jwk](./rec/keys/hydroelec.jwk) + * DID document [./rec/dids/hydroelec.did.json](./rec/dids/hydroelec.did.json) + +* **Smart Meter 1** — The first of two electric meters that issue signed VCs as evidence of electricity production. + * Key pair [./rec/keys/meter1.jwk](./rec/keys/meter1.jwk) + * DID document [./rec/dids/meter1.did.json](./rec/dids/meter1.did.json) + +* **Smart Meter 2** — The second of two electric meters that issue signed VCs as evidence of electricity production. + * Key pair [./rec/keys/meter2.jwk](./rec/keys/meter2.jwk) + * DID document [./rec/dids/meter2.did.json](./rec/dids/meter2.did.json) + +* **UN FCCC** — The issuing authority for REC2022 Renewable Energy Certificates. + * Key pair [./rec/keys/unfccc.jwl](./rec/keys/unfccc.jwk) + * DID document [./rec/dids/unfccc.did.json](./rec/dids/unfccc.did.json) + +* **UN Rec2022** (DOES THIS NEED TO BE CRYPTOGRAPHIC?) + * Key pair [./rec/keys/un.rec2022.jwk](./rec/keys/un.rec2022.jwk) + * DID document [./rec/dids/un.rec2022.did.json](./rec/dids/un.rec2022.did.json) + +* **Certifier** — A UN authorized project certifier. They review the project proposal from the producer and issue an REC2022 Certification verifiable credential. + * Key pair [./rec/keys/certifier.jwk](./rec/keys/certifier.jwk) + * DID document [./rec/dids/certifier.did.json](./rec/dids/certifier.did.json) + +* **Verifier** — A UN authorized project verifier. They review the project on-site and issue an REC2022 Verification verifiable credential, based the propsoal, the REC2022 Certification, and the evidence produced by the Project's smart meters. + * Key pair [./rec/keys/verifier.jwk](./rec/keys/verifier.jwk) + * DID document [./rec/dids/verifier.did.json](./rec/dids/verifier.did.json) + + +### Verifiable Credentials (VCs) + +1. Project Proposal + +This VC captures the automated metadata about the project and refers definitively for a descriptive PDF with additional details. [./rec/credentials/hydroelec.project1.json](./rec/credentials/hydroelec.project1.json) + +That file is a fully formed VC describing the following metadata: +* **producer**: HydroElec's DID for exercising control over this project +* **geographicLocation**: The GPS coordinates for the project location in Capetown, South Africa. +* **dateProposed**: January 30, 2022 +* **annualTarget**: The expected annual electricity production of 1000 MWh + +It is signed by HydroElec. (Or, it will be. Currently the proof is faked.) + +2. Certifier Credential +3. Verifier Credential +4. Project Certification +5. Project Verification +6. Electricity Production + +### DIDs +Throughout these examples, we use a fictional did:example which uses an Ed25519 public key for both the method-specific identifier and all of its verification methods. + +#### 1. HydroElec + +The file [./rec/keys/hydroelec.jwk](./rec/hydroelec.ed25519) is a representation of the private and public keys, respectively, that control this DID: + +```did:key:zQ3shPm1156YHd3pzvhz8BMtZPT9LnTxtGyFBnm8tzJmjnBWD``` + +When this DID is resolved it returns the DID document found in [./rec/dids/hydroelec.did.json](./rec/dids/hydroelec.did.json) + +2. UNFCCC +3. Certifier +4. Verifier +5. Project (as registered) + +### IIDs +1. The NFT class created by the UNFCCC +2. The particular NFT tokens minted \ No newline at end of file diff --git a/docs/Artifacts.isf b/docs/Artifacts.isf new file mode 100644 index 0000000..2f114a3 Binary files /dev/null and b/docs/Artifacts.isf differ diff --git a/docs/Capability for Minting Tokens.isf b/docs/Capability for Minting Tokens.isf new file mode 100644 index 0000000..2d70988 Binary files /dev/null and b/docs/Capability for Minting Tokens.isf differ diff --git a/minimalDID.json b/minimalDID.json new file mode 100644 index 0000000..7a15dee --- /dev/null +++ b/minimalDID.json @@ -0,0 +1,27 @@ +{ + "@context": [ + "https://www.w3.org/ns/did/v1", + "https://w3id.org/security/suites/ed25519-2020/v1" + ], + "id": "did:cosmos:ixo:nft:1:AAAAC3NzaC1lZDI1NTE5AAAAICwtd+9EJPeiBDh37Ffi6uJ6grYqtH97WrJW0fyui9rX", + "verificationMethod": [ + { + "id": "#key-0", + "type": "Ed25519VerificationKey2020", + "controller": "did:example:AAAAC3NzaC1lZDI1NTE5AAAAICwtd+9EJPeiBDh37Ffi6uJ6grYqtH97WrJW0fyui9rX", + "publicKeyMultibase": "AAAAC3NzaC1lZDI1NTE5AAAAICwtd+9EJPeiBDh37Ffi6uJ6grYqtH97WrJW0fyui9rX" + } + ], + "authentication": [ + "#key-0" + ], + "assertionMethod": [ + "#key-0" + ], + "capabilityDelegation": [ + "#key-0" + ], + "capabilityInvocation": [ + "#key-0" + ] +} \ No newline at end of file diff --git a/rec/credentials/hydroelec.project1.json b/rec/credentials/hydroelec.project1.json new file mode 100644 index 0000000..13adbde --- /dev/null +++ b/rec/credentials/hydroelec.project1.json @@ -0,0 +1,37 @@ +{ + "@context": [ + "https://www.w3.org/2018/credentials/v1", + "https://www.w3id.org/earth/iid/v1", + "https://unfccc.int.example.com/ns/2022/rec/v1", + ], + "id": "https://hydroelec.example.com/projects/1", + "type": "REC2022/Proposal", + "producer": "did:example:AAAAC3NzaC1lZDI1NTE5AAAAICwtd+9EJPeiBDh37Ffi6uJ6grYqtH97WrJW0fyui9rX", + "geographicLocation": { + "lat" : -33.918861, + "long" : 18.423300 + }, + "dateProposed": "2022-01-30", + "annualTarget": 1000, + "linkedResource": { + "id": "proposal", + "path": "proposal", + "rel": "detail", + "type": "iid:ResourceDescriptor", + "resourceFormat": "application/pdf", + "compression": "gzip", + "endpoint": "https://www.w3id.org/earth/artifacts/hydroelec.proposal.pdf.gzip", + "proof": { + "type": "iid:hash", + "stage": "raw", + "value": "asdrioqweindcuioqweroiasdcnuieasdnjcjasdkf", + } + }, + "proof": { + "type": "Ed25519Signature2020", + "created": "2022-01-30T03:50:55Z", + "proofValue": "z5SpZtDGGz5a89PJbQT2sgbRUiyyAGhhgjcf86aJHfYcfvPjxn6vej5na6kUzmw1jMAR9PJU9mowshQFFdGmDN14D", + "proofPurpose": "assertionMethod", + "verificationMethod": "did:example:AAAAC3NzaC1lZDI1NTE5AAAAICwtd+9EJPeiBDh37Ffi6uJ6grYqtH97WrJW0fyui9rX#key-0" + } +} \ No newline at end of file diff --git a/rec/dids/certifier.did.json b/rec/dids/certifier.did.json new file mode 100644 index 0000000..d42d192 --- /dev/null +++ b/rec/dids/certifier.did.json @@ -0,0 +1,32 @@ +{ + "@context": [ + "https://www.w3.org/ns/did/v1", + { + "EcdsaSecp256k1VerificationKey2019": "https://w3id.org/security#EcdsaSecp256k1VerificationKey2019", + "publicKeyJwk": { + "@id": "https://w3id.org/security#publicKeyJwk", + "@type": "@json" + } + } + ], + "id": "did:key:zQ3shgcxqAs77QCN4azCsfUgPHcSLhNvKatmePUrHXRfkiLm8", + "verificationMethod": [ + { + "id": "did:key:zQ3shgcxqAs77QCN4azCsfUgPHcSLhNvKatmePUrHXRfkiLm8#zQ3shgcxqAs77QCN4azCsfUgPHcSLhNvKatmePUrHXRfkiLm8", + "type": "EcdsaSecp256k1VerificationKey2019", + "controller": "did:key:zQ3shgcxqAs77QCN4azCsfUgPHcSLhNvKatmePUrHXRfkiLm8", + "publicKeyJwk": { + "kty": "EC", + "crv": "secp256k1", + "x": "HWxpqouTfGstEAMGjJ53JLWJoKcEtxtw1K-mxCLE4oM", + "y": "6MC-pwz3WJBH8-9ySNjawc1fgKeoTaePP1Py8uktoHM" + } + } + ], + "authentication": [ + "did:key:zQ3shgcxqAs77QCN4azCsfUgPHcSLhNvKatmePUrHXRfkiLm8#zQ3shgcxqAs77QCN4azCsfUgPHcSLhNvKatmePUrHXRfkiLm8" + ], + "assertionMethod": [ + "did:key:zQ3shgcxqAs77QCN4azCsfUgPHcSLhNvKatmePUrHXRfkiLm8#zQ3shgcxqAs77QCN4azCsfUgPHcSLhNvKatmePUrHXRfkiLm8" + ] +} \ No newline at end of file diff --git a/rec/dids/hydroelec.did.json b/rec/dids/hydroelec.did.json new file mode 100644 index 0000000..98cd398 --- /dev/null +++ b/rec/dids/hydroelec.did.json @@ -0,0 +1,32 @@ +{ + "@context": [ + "https://www.w3.org/ns/did/v1", + { + "EcdsaSecp256k1VerificationKey2019": "https://w3id.org/security#EcdsaSecp256k1VerificationKey2019", + "publicKeyJwk": { + "@id": "https://w3id.org/security#publicKeyJwk", + "@type": "@json" + } + } + ], + "id": "did:key:zQ3shPm1156YHd3pzvhz8BMtZPT9LnTxtGyFBnm8tzJmjnBWD", + "verificationMethod": [ + { + "id": "did:key:zQ3shPm1156YHd3pzvhz8BMtZPT9LnTxtGyFBnm8tzJmjnBWD#zQ3shPm1156YHd3pzvhz8BMtZPT9LnTxtGyFBnm8tzJmjnBWD", + "type": "EcdsaSecp256k1VerificationKey2019", + "controller": "did:key:zQ3shPm1156YHd3pzvhz8BMtZPT9LnTxtGyFBnm8tzJmjnBWD", + "publicKeyJwk": { + "kty": "EC", + "crv": "secp256k1", + "x": "IuTV_ZHm7TnHNkxXkk_wib9-4fumceoVpKajqlNMIO4", + "y": "6lbfKH4cC8NN2_t-9ZzVETxA2zEIiQcDIglYTgG7MmA" + } + } + ], + "authentication": [ + "did:key:zQ3shPm1156YHd3pzvhz8BMtZPT9LnTxtGyFBnm8tzJmjnBWD#zQ3shPm1156YHd3pzvhz8BMtZPT9LnTxtGyFBnm8tzJmjnBWD" + ], + "assertionMethod": [ + "did:key:zQ3shPm1156YHd3pzvhz8BMtZPT9LnTxtGyFBnm8tzJmjnBWD#zQ3shPm1156YHd3pzvhz8BMtZPT9LnTxtGyFBnm8tzJmjnBWD" + ] +} \ No newline at end of file diff --git a/rec/dids/meter1.did.json b/rec/dids/meter1.did.json new file mode 100644 index 0000000..4cc98b3 --- /dev/null +++ b/rec/dids/meter1.did.json @@ -0,0 +1,32 @@ +{ + "@context": [ + "https://www.w3.org/ns/did/v1", + { + "EcdsaSecp256k1VerificationKey2019": "https://w3id.org/security#EcdsaSecp256k1VerificationKey2019", + "publicKeyJwk": { + "@id": "https://w3id.org/security#publicKeyJwk", + "@type": "@json" + } + } + ], + "id": "did:key:zQ3shnrp17gjuGWX1BMREpKJEEyb6dM9nYnjzyVPG3PHh6kWc", + "verificationMethod": [ + { + "id": "did:key:zQ3shnrp17gjuGWX1BMREpKJEEyb6dM9nYnjzyVPG3PHh6kWc#zQ3shnrp17gjuGWX1BMREpKJEEyb6dM9nYnjzyVPG3PHh6kWc", + "type": "EcdsaSecp256k1VerificationKey2019", + "controller": "did:key:zQ3shnrp17gjuGWX1BMREpKJEEyb6dM9nYnjzyVPG3PHh6kWc", + "publicKeyJwk": { + "kty": "EC", + "crv": "secp256k1", + "x": "eh6u5aeo_50eqf0fjANmK3KdRDCtJixeHA9Wa5IfTIk", + "y": "mOrVKorsRzAsFmb-u828cbbgHs4NVnk32qAAU-PS5Lk" + } + } + ], + "authentication": [ + "did:key:zQ3shnrp17gjuGWX1BMREpKJEEyb6dM9nYnjzyVPG3PHh6kWc#zQ3shnrp17gjuGWX1BMREpKJEEyb6dM9nYnjzyVPG3PHh6kWc" + ], + "assertionMethod": [ + "did:key:zQ3shnrp17gjuGWX1BMREpKJEEyb6dM9nYnjzyVPG3PHh6kWc#zQ3shnrp17gjuGWX1BMREpKJEEyb6dM9nYnjzyVPG3PHh6kWc" + ] +} \ No newline at end of file diff --git a/rec/dids/meter2.did.json b/rec/dids/meter2.did.json new file mode 100644 index 0000000..b776ede --- /dev/null +++ b/rec/dids/meter2.did.json @@ -0,0 +1,32 @@ +{ + "@context": [ + "https://www.w3.org/ns/did/v1", + { + "EcdsaSecp256k1VerificationKey2019": "https://w3id.org/security#EcdsaSecp256k1VerificationKey2019", + "publicKeyJwk": { + "@id": "https://w3id.org/security#publicKeyJwk", + "@type": "@json" + } + } + ], + "id": "did:key:zQ3shPipfYsVQK5HGjPDBZ34qAHFG5JMWeBDWYJU3kAavXj5c", + "verificationMethod": [ + { + "id": "did:key:zQ3shPipfYsVQK5HGjPDBZ34qAHFG5JMWeBDWYJU3kAavXj5c#zQ3shPipfYsVQK5HGjPDBZ34qAHFG5JMWeBDWYJU3kAavXj5c", + "type": "EcdsaSecp256k1VerificationKey2019", + "controller": "did:key:zQ3shPipfYsVQK5HGjPDBZ34qAHFG5JMWeBDWYJU3kAavXj5c", + "publicKeyJwk": { + "kty": "EC", + "crv": "secp256k1", + "x": "IlX8l1TAUuqaNY73XwrxXy2CzKcb-8-ueyguKhHTX1M", + "y": "U0L8gvB0AbhmSbTL_VMV4JMSOdVgKIFeEBrZG6aoaV4" + } + } + ], + "authentication": [ + "did:key:zQ3shPipfYsVQK5HGjPDBZ34qAHFG5JMWeBDWYJU3kAavXj5c#zQ3shPipfYsVQK5HGjPDBZ34qAHFG5JMWeBDWYJU3kAavXj5c" + ], + "assertionMethod": [ + "did:key:zQ3shPipfYsVQK5HGjPDBZ34qAHFG5JMWeBDWYJU3kAavXj5c#zQ3shPipfYsVQK5HGjPDBZ34qAHFG5JMWeBDWYJU3kAavXj5c" + ] +} \ No newline at end of file diff --git a/rec/dids/un.rec2022.did.json b/rec/dids/un.rec2022.did.json new file mode 100644 index 0000000..9c3f9cc --- /dev/null +++ b/rec/dids/un.rec2022.did.json @@ -0,0 +1,32 @@ +{ + "@context": [ + "https://www.w3.org/ns/did/v1", + { + "EcdsaSecp256k1VerificationKey2019": "https://w3id.org/security#EcdsaSecp256k1VerificationKey2019", + "publicKeyJwk": { + "@id": "https://w3id.org/security#publicKeyJwk", + "@type": "@json" + } + } + ], + "id": "did:key:zQ3shjVFnfpw8Pb4rZPaZQZbmcGo5MgssdnnNKkhSaGG9ksE4", + "verificationMethod": [ + { + "id": "did:key:zQ3shjVFnfpw8Pb4rZPaZQZbmcGo5MgssdnnNKkhSaGG9ksE4#zQ3shjVFnfpw8Pb4rZPaZQZbmcGo5MgssdnnNKkhSaGG9ksE4", + "type": "EcdsaSecp256k1VerificationKey2019", + "controller": "did:key:zQ3shjVFnfpw8Pb4rZPaZQZbmcGo5MgssdnnNKkhSaGG9ksE4", + "publicKeyJwk": { + "kty": "EC", + "crv": "secp256k1", + "x": "SAYAEh62gmVXnTHoqEtI0_86hkbwAe6U8xdO9jFvMtU", + "y": "zR1jwZRCiUOskmNWqehw1wJ0BTlbBKtCjC0ezfIQQ8E" + } + } + ], + "authentication": [ + "did:key:zQ3shjVFnfpw8Pb4rZPaZQZbmcGo5MgssdnnNKkhSaGG9ksE4#zQ3shjVFnfpw8Pb4rZPaZQZbmcGo5MgssdnnNKkhSaGG9ksE4" + ], + "assertionMethod": [ + "did:key:zQ3shjVFnfpw8Pb4rZPaZQZbmcGo5MgssdnnNKkhSaGG9ksE4#zQ3shjVFnfpw8Pb4rZPaZQZbmcGo5MgssdnnNKkhSaGG9ksE4" + ] +} \ No newline at end of file diff --git a/rec/dids/unfccc.did.json b/rec/dids/unfccc.did.json new file mode 100644 index 0000000..8f74efd --- /dev/null +++ b/rec/dids/unfccc.did.json @@ -0,0 +1,32 @@ +{ + "@context": [ + "https://www.w3.org/ns/did/v1", + { + "EcdsaSecp256k1VerificationKey2019": "https://w3id.org/security#EcdsaSecp256k1VerificationKey2019", + "publicKeyJwk": { + "@id": "https://w3id.org/security#publicKeyJwk", + "@type": "@json" + } + } + ], + "id": "did:key:zQ3shT1KWQc6o3qrC3PPnig2twVet2ir618NUw9s8Q5KXrrLq", + "verificationMethod": [ + { + "id": "did:key:zQ3shT1KWQc6o3qrC3PPnig2twVet2ir618NUw9s8Q5KXrrLq#zQ3shT1KWQc6o3qrC3PPnig2twVet2ir618NUw9s8Q5KXrrLq", + "type": "EcdsaSecp256k1VerificationKey2019", + "controller": "did:key:zQ3shT1KWQc6o3qrC3PPnig2twVet2ir618NUw9s8Q5KXrrLq", + "publicKeyJwk": { + "kty": "EC", + "crv": "secp256k1", + "x": "UyLz3FWAd5zIN7DulIXOqPy3uVCfDFWzxQufjo6bvKo", + "y": "iqt8lR9HbYoI_j09_Z01eTFpck_iUwRb6fpgoGU-vj4" + } + } + ], + "authentication": [ + "did:key:zQ3shT1KWQc6o3qrC3PPnig2twVet2ir618NUw9s8Q5KXrrLq#zQ3shT1KWQc6o3qrC3PPnig2twVet2ir618NUw9s8Q5KXrrLq" + ], + "assertionMethod": [ + "did:key:zQ3shT1KWQc6o3qrC3PPnig2twVet2ir618NUw9s8Q5KXrrLq#zQ3shT1KWQc6o3qrC3PPnig2twVet2ir618NUw9s8Q5KXrrLq" + ] +} \ No newline at end of file diff --git a/rec/dids/verifier.did.json b/rec/dids/verifier.did.json new file mode 100644 index 0000000..bbf0e28 --- /dev/null +++ b/rec/dids/verifier.did.json @@ -0,0 +1,32 @@ +{ + "@context": [ + "https://www.w3.org/ns/did/v1", + { + "EcdsaSecp256k1VerificationKey2019": "https://w3id.org/security#EcdsaSecp256k1VerificationKey2019", + "publicKeyJwk": { + "@id": "https://w3id.org/security#publicKeyJwk", + "@type": "@json" + } + } + ], + "id": "did:key:zQ3shv9K3mWECTkBBbd9VXtRbmgbpfBsRKijgvzmvYPfgbCnT", + "verificationMethod": [ + { + "id": "did:key:zQ3shv9K3mWECTkBBbd9VXtRbmgbpfBsRKijgvzmvYPfgbCnT#zQ3shv9K3mWECTkBBbd9VXtRbmgbpfBsRKijgvzmvYPfgbCnT", + "type": "EcdsaSecp256k1VerificationKey2019", + "controller": "did:key:zQ3shv9K3mWECTkBBbd9VXtRbmgbpfBsRKijgvzmvYPfgbCnT", + "publicKeyJwk": { + "kty": "EC", + "crv": "secp256k1", + "x": "5lqgcTPez3h4xtPtDN-H6-IDlrk8Ea4zPebgdBIKH1g", + "y": "BWBKVbVwCQLM4FAVgO4V-azr6AZojBpG4JQ9tALisYk" + } + } + ], + "authentication": [ + "did:key:zQ3shv9K3mWECTkBBbd9VXtRbmgbpfBsRKijgvzmvYPfgbCnT#zQ3shv9K3mWECTkBBbd9VXtRbmgbpfBsRKijgvzmvYPfgbCnT" + ], + "assertionMethod": [ + "did:key:zQ3shv9K3mWECTkBBbd9VXtRbmgbpfBsRKijgvzmvYPfgbCnT#zQ3shv9K3mWECTkBBbd9VXtRbmgbpfBsRKijgvzmvYPfgbCnT" + ] +} \ No newline at end of file diff --git a/rec/keys/certifier.jwk b/rec/keys/certifier.jwk new file mode 100644 index 0000000..fbd7966 --- /dev/null +++ b/rec/keys/certifier.jwk @@ -0,0 +1 @@ +{"kty":"EC","crv":"secp256k1","x":"HWxpqouTfGstEAMGjJ53JLWJoKcEtxtw1K-mxCLE4oM","y":"6MC-pwz3WJBH8-9ySNjawc1fgKeoTaePP1Py8uktoHM","d":"6QEeveOCezFpuOKi3O-XsyZ1oC0QQf0lATz_Xww7EUU"} diff --git a/rec/keys/hydroelec.jwk b/rec/keys/hydroelec.jwk new file mode 100644 index 0000000..ddb8159 --- /dev/null +++ b/rec/keys/hydroelec.jwk @@ -0,0 +1 @@ +{"kty":"EC","crv":"secp256k1","x":"IuTV_ZHm7TnHNkxXkk_wib9-4fumceoVpKajqlNMIO4","y":"6lbfKH4cC8NN2_t-9ZzVETxA2zEIiQcDIglYTgG7MmA","d":"j2YZsSgLSm8ZHinzD32svQ2pK1A1aJbGMJsAQO8K34U"} diff --git a/rec/keys/meter1.jwk b/rec/keys/meter1.jwk new file mode 100644 index 0000000..329d3eb --- /dev/null +++ b/rec/keys/meter1.jwk @@ -0,0 +1 @@ +{"kty":"EC","crv":"secp256k1","x":"eh6u5aeo_50eqf0fjANmK3KdRDCtJixeHA9Wa5IfTIk","y":"mOrVKorsRzAsFmb-u828cbbgHs4NVnk32qAAU-PS5Lk","d":"yD5v0UJxtXuPnZ1CsWO7Y5wKB6Rd842meIw6cFni79Q"} diff --git a/rec/keys/meter2.jwk b/rec/keys/meter2.jwk new file mode 100644 index 0000000..a2fbb0d --- /dev/null +++ b/rec/keys/meter2.jwk @@ -0,0 +1 @@ +{"kty":"EC","crv":"secp256k1","x":"IlX8l1TAUuqaNY73XwrxXy2CzKcb-8-ueyguKhHTX1M","y":"U0L8gvB0AbhmSbTL_VMV4JMSOdVgKIFeEBrZG6aoaV4","d":"sP1AvAEd911yd9abUiLNm2xZhC0JBCeQklbdkG4AGK0"} diff --git a/rec/keys/un.rec2022.jwk b/rec/keys/un.rec2022.jwk new file mode 100644 index 0000000..058922a --- /dev/null +++ b/rec/keys/un.rec2022.jwk @@ -0,0 +1 @@ +{"kty":"EC","crv":"secp256k1","x":"SAYAEh62gmVXnTHoqEtI0_86hkbwAe6U8xdO9jFvMtU","y":"zR1jwZRCiUOskmNWqehw1wJ0BTlbBKtCjC0ezfIQQ8E","d":"n0iLyxNh47jVLoAsoVsnHcNjhtuxYIJ421suCZEJKCY"} diff --git a/rec/keys/unfccc.jwk b/rec/keys/unfccc.jwk new file mode 100644 index 0000000..1ccc2c5 --- /dev/null +++ b/rec/keys/unfccc.jwk @@ -0,0 +1 @@ +{"kty":"EC","crv":"secp256k1","x":"UyLz3FWAd5zIN7DulIXOqPy3uVCfDFWzxQufjo6bvKo","y":"iqt8lR9HbYoI_j09_Z01eTFpck_iUwRb6fpgoGU-vj4","d":"BWP5NjBRk2PWYIbSiDNf5zDMi96I0-6Io3e5s9ksRlM"} diff --git a/rec/keys/verifier.jwk b/rec/keys/verifier.jwk new file mode 100644 index 0000000..fdbac19 --- /dev/null +++ b/rec/keys/verifier.jwk @@ -0,0 +1 @@ +{"kty":"EC","crv":"secp256k1","x":"5lqgcTPez3h4xtPtDN-H6-IDlrk8Ea4zPebgdBIKH1g","y":"BWBKVbVwCQLM4FAVgO4V-azr6AZojBpG4JQ9tALisYk","d":"XdnnfcT-U7iR_KvCq3FHqi-a87ErzvH4cIg3XieFcns"} diff --git a/simpleIID.json b/simpleIID.json new file mode 100644 index 0000000..8ea2b64 --- /dev/null +++ b/simpleIID.json @@ -0,0 +1,42 @@ +{ + "@context": [ + "https://www.w3.org/ns/did/v1", + "https://w3id.org/security/suites/ed25519-2020/v1", + "http://legreq.com/earth/iid/v1" + ], + "id": "did:cosmos:ixo:nft:1:AAAAC3NzaC1lZDI1NTE5AAAAICwtd+9EJPeiBDh37Ffi6uJ6grYqtH97WrJW0fyui9rX", + "verificationMethod": [ + { + "id": "#key-0", + "type": "Ed25519VerificationKey2020", + "controller": "did:example:AAAAC3NzaC1lZDI1NTE5AAAAICwtd+9EJPeiBDh37Ffi6uJ6grYqtH97WrJW0fyui9rX", + "publicKeyMultibase": "AAAAC3NzaC1lZDI1NTE5AAAAICwtd+9EJPeiBDh37Ffi6uJ6grYqtH97WrJW0fyui9rX" + } + ], + "authentication": [ + "#key-0" + ], + "assertionMethod": [ + "#key-0" + ], + "capabilityDelegation": [ + "#key-0" + ], + "capabilityInvocation": [ + "#key-0" + ], + "linkedResource": { + "id": "#proposal", + "path": "/proposal", + "rel": "detail", + "type": "iid:ResourceDescriptor", + "resourceFormat": "application/pdf", + "compression": "gzip", + "endpoint": "https://www.w3id.org/earth/artifacts/hydroelec.proposal.pdf.gzip", + "proof": { + "type": "iid:hash", + "stage": "raw", + "value": "asdrioqweindcuioqweroiasdcnuieasdnjcjasdkf" + } + } +} \ No newline at end of file