pontus-x_cli 0.0.6 → 0.0.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +19 -11
- package/dist/gaia-x_compliance/{generate-participant-credentials → generate-credentials}/index.js +76 -11
- package/dist/gaia-x_compliance/generate-credentials/index.js.map +1 -0
- package/dist/gaia-x_compliance/generate-credentials/templates/dataset.hbs +75 -0
- package/dist/gaia-x_compliance/generate-credentials/templates/service.hbs +55 -0
- package/dist/index.js +161 -64
- package/dist/index.js.map +1 -1
- package/dist/publish/samples/basic-predictor/index.js +9 -8
- package/dist/publish/samples/basic-predictor/index.js.map +1 -1
- package/package.json +12 -3
- package/dist/gaia-x_compliance/generate-participant-credentials/index.js.map +0 -1
- /package/dist/gaia-x_compliance/{generate-participant-credentials → generate-credentials}/templates/lrn-request.hbs +0 -0
- /package/dist/gaia-x_compliance/{generate-participant-credentials → generate-credentials}/templates/participant.hbs +0 -0
- /package/dist/gaia-x_compliance/{generate-participant-credentials → generate-credentials}/templates/tandc.hbs +0 -0
package/README.md
CHANGED
|
@@ -4,7 +4,7 @@ Command Line Interface for the Pontus-X Data Space Ecosystem.
|
|
|
4
4
|
|
|
5
5
|
## Installation
|
|
6
6
|
|
|
7
|
-
If you don't have npm installed, install Node.js and NPM following the instructions at https://docs.npmjs.com/downloading-and-installing-node-js-and-npm
|
|
7
|
+
If you don't have npm installed, install Node.js and NPM following the instructions at <https://docs.npmjs.com/downloading-and-installing-node-js-and-npm>
|
|
8
8
|
|
|
9
9
|
Then, install the Pontus-X CLI globally using npm:
|
|
10
10
|
|
|
@@ -18,6 +18,14 @@ Then, create a `.env` file in your working directory with the network to be used
|
|
|
18
18
|
NETWORK=PONTUSXDEV
|
|
19
19
|
```
|
|
20
20
|
|
|
21
|
+
### Autocompletion
|
|
22
|
+
|
|
23
|
+
To enable autocompletion for the Pontus-X CLI, run the following command:
|
|
24
|
+
|
|
25
|
+
```shell
|
|
26
|
+
pontus-x_cli install-completion
|
|
27
|
+
```
|
|
28
|
+
|
|
21
29
|
## Currently available commands
|
|
22
30
|
|
|
23
31
|
The following subsections detail the available command to interact with the Pontus-X Data Space Ecosystem. Additionally, there is a final section [Prepare yourself for Gaia-X compliance](#prepare-yourself-for-gaia-x-compliance) that will guide you through the process of setting up a DID-Web server and generating the necessary participant credentials following the Gaia-X Trust Framework using two additional `pontus-x_cli` commands.
|
|
@@ -29,7 +37,7 @@ Export your private key as a JSON file, to use later with the login command or f
|
|
|
29
37
|
### login \<keyFile.json>
|
|
30
38
|
|
|
31
39
|
Login to retrieve your private key from a JSON key store and store it in .env:
|
|
32
|
-
|
|
40
|
+
|
|
33
41
|
```shell
|
|
34
42
|
pontus-x_cli login 62078f05eb4450272d7e492f3660835826906822.json
|
|
35
43
|
```
|
|
@@ -70,7 +78,7 @@ pontus-x_cli revoke did:op:052eb04066d696a27430116676c859c6303d82257c7a0ebda51f4
|
|
|
70
78
|
|
|
71
79
|
Associate Gaia-X Self-Description to the asset with the given DID
|
|
72
80
|
|
|
73
|
-
Edit a DID metadata to link it to a Gaia-X Self Description available from the provided URL (it should be compliant with the configured Gaia-X Digital Clearing House, for instance https://compliance.lab.gaia-x.eu/v1-staging/docs):
|
|
81
|
+
Edit a DID metadata to link it to a Gaia-X Self Description available from the provided URL (it should be compliant with the configured Gaia-X Digital Clearing House, for instance <https://compliance.lab.gaia-x.eu/v1-staging/docs>):
|
|
74
82
|
|
|
75
83
|
```shell
|
|
76
84
|
pontus-x_cli self-description did:op:34d5f73d77550843201ee1a43ad9d404d3e557ed6a70772e9afde7a27d863b8f https://compliance.agrospai.udl.cat/.well-known/service_EDA_UdL_devnet.vp.json
|
|
@@ -140,13 +148,13 @@ This section will help you to prepare your institution for Gaia-X compliance. It
|
|
|
140
148
|
|
|
141
149
|
Get a root domain for DID-Web and the associated SSL certificate. We will use for this Let's Encrypt certificates, the free alternative among Gaia-X's [list of defined Trust Anchors](https://gaia-x.gitlab.io/policy-rules-committee/trust-framework/trust_anchors/#list-of-defined-trust-anchors).
|
|
142
150
|
|
|
143
|
-
There are different ways of getting a Let's Encrypt certificate: https://letsencrypt.org/getting-started
|
|
151
|
+
There are different ways of getting a Let's Encrypt certificate: <https://letsencrypt.org/getting-started/>
|
|
144
152
|
|
|
145
153
|
For this example, and as later we will need to publish online some of the generated documents, we will use a Kubernetes cluster with Cert Manager to automate the certificate issuance, plus NGINX to serve the generated documents.
|
|
146
154
|
|
|
147
155
|
First of all, you will need a Kubernetes cluster that is publicly accessible. You can use a cloud provider like Google Cloud Platform (GCP) or Amazon Web Services (AWS), or a local Kubernetes cluster like [Minikube](https://minikube.sigs.k8s.io/docs/start/).
|
|
148
156
|
|
|
149
|
-
Once Minikube is running, don't forget to enable the ingress addon using the command: `minikube addons enable ingress`. Then, install Cert Manager following the instructions at https://cert-manager.io/docs/installation
|
|
157
|
+
Once Minikube is running, don't forget to enable the ingress addon using the command: `minikube addons enable ingress`. Then, install Cert Manager following the instructions at <https://cert-manager.io/docs/installation/>
|
|
150
158
|
|
|
151
159
|
After Cert Manager is installed, you can create a ClusterIssuer resource to issue Let's Encrypt certificates. The file [letsencrypt-production.yaml](src/gaia-x_compliance/letsencrypt-production.yaml) provides an example of a ClusterIssuer resource, which can be applied to your cluster using the command:
|
|
152
160
|
|
|
@@ -180,7 +188,7 @@ NAME READY SECRET AGE
|
|
|
180
188
|
your.domain.org-cert True your.domain.org-cert 2m
|
|
181
189
|
```
|
|
182
190
|
|
|
183
|
-
Now, you can retrieve the certificate chain including the root certificate as required by Gaia-X. We can use an online service like https://whatsmychaincert.com
|
|
191
|
+
Now, you can retrieve the certificate chain including the root certificate as required by Gaia-X. We can use an online service like <https://whatsmychaincert.com>. Use the following command configuring you domain name, e.g. `your.domain.org`, to retrieve the whole chain and store it in `certificate-chain.crt`:
|
|
184
192
|
|
|
185
193
|
```shell
|
|
186
194
|
curl -o certificate-chain.crt "https://whatsmychaincert.com/generate?include_leaf=1&include_root=1&host=your.domain.org"
|
|
@@ -196,7 +204,7 @@ kubectl get secret your.domain.org-cert -n test -o jsonpath='{.data.tls\.key}' |
|
|
|
196
204
|
|
|
197
205
|
Once we have set a public domain and its associated SSL certificate, we can set up a DID-Web source where we can publish Gaia-X complaint credentials for participants and assets.
|
|
198
206
|
|
|
199
|
-
To generate the did.json file required for DID-Web, we will use the Gaia-X [did-web-generator](https://gitlab.com/gaia-x/lab/did-web-generator) and provide as input the base URL for DID-Web, e.g. https://your.domain.org
|
|
207
|
+
To generate the did.json file required for DID-Web, we will use the Gaia-X [did-web-generator](https://gitlab.com/gaia-x/lab/did-web-generator) and provide as input the base URL for DID-Web, e.g. <https://your.domain.org>, and the name of the file with the SSL certificate, e.g. `certificate-chain.crt`.
|
|
200
208
|
|
|
201
209
|
The did.json file is generated using the `generate-did-web` command provided by `pontus-x_cli`:
|
|
202
210
|
|
|
@@ -220,9 +228,9 @@ Then, we update the NGINX deployment to mount the config map in the `/usr/share/
|
|
|
220
228
|
kubectl apply -f test-nginx-did-web.yaml
|
|
221
229
|
```
|
|
222
230
|
|
|
223
|
-
Now, the `did.json` should be available at https://your.domain.org/.well-known/did.json and the certificate chain at https://your.domain.org/.well-known/certificate-chain.crt
|
|
231
|
+
Now, the `did.json` should be available at <https://your.domain.org/.well-known/did.json> and the certificate chain at <https://your.domain.org/.well-known/certificate-chain.crt>.
|
|
224
232
|
|
|
225
|
-
The chain can be checked to see if it constitutes a valid trust anchor chain using the Gaia-X [Trust Anchor Registry](https://registry.lab.gaia-x.eu/v1-staging/docs#/TrustAnchor/TrustAnchorController_verifyTrustAnchorChain) API. The `v1-staging` version accepts Extended Validation (EV) Secure Sockets Layer (SSL) certificate issuers like Let's Encrypt, while the `v1` version only accepts the official [Gaia-X Trust Anchors]((https://gaia-x.gitlab.io/policy-rules-committee/trust-framework/trust_anchors/#list-of-defined-trust-anchors). EV SSL certificates are just recommended for testing.
|
|
233
|
+
The chain can be checked to see if it constitutes a valid trust anchor chain using the Gaia-X [Trust Anchor Registry](https://registry.lab.gaia-x.eu/v1-staging/docs#/TrustAnchor/TrustAnchorController_verifyTrustAnchorChain) API. The `v1-staging` version accepts Extended Validation (EV) Secure Sockets Layer (SSL) certificate issuers like Let's Encrypt, while the `v1` version only accepts the official [Gaia-X Trust Anchors]((<https://gaia-x.gitlab.io/policy-rules-committee/trust-framework/trust_anchors/#list-of-defined-trust-anchors>). EV SSL certificates are just recommended for testing.
|
|
226
234
|
|
|
227
235
|
### Generating Gaia-X Compliant Participant Credentials
|
|
228
236
|
|
|
@@ -286,6 +294,6 @@ kubectl --namespace test create configmap did-web-config --from-file=did.json --
|
|
|
286
294
|
### Additional References
|
|
287
295
|
|
|
288
296
|
Gaia-X: onboarding, first credentials' issuance.
|
|
289
|
-
* Video tutorial: https://www.youtube.com/watch?v=xHaBM-T2--k
|
|
290
|
-
* Jupyter notebook: https://gitlab.com/gaia-x/lab/workshops/gaia-x-101
|
|
291
297
|
|
|
298
|
+
* Video tutorial: <https://www.youtube.com/watch?v=xHaBM-T2--k>
|
|
299
|
+
* Jupyter notebook: <https://gitlab.com/gaia-x/lab/workshops/gaia-x-101>
|
package/dist/gaia-x_compliance/{generate-participant-credentials → generate-credentials}/index.js
RENAMED
|
@@ -36,7 +36,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
36
36
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
37
37
|
};
|
|
38
38
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
-
exports.
|
|
39
|
+
exports.generateCredentials = generateCredentials;
|
|
40
40
|
exports.checkCompliance = checkCompliance;
|
|
41
41
|
const path_1 = require("path");
|
|
42
42
|
const fs_1 = require("fs");
|
|
@@ -68,7 +68,7 @@ async function generateParticipantTandCVC(data, signer) {
|
|
|
68
68
|
async function generateParticipantLNRVC(data) {
|
|
69
69
|
var _a;
|
|
70
70
|
const templateFile = require.resolve('./templates/lrn-request.hbs');
|
|
71
|
-
const notaryService = "https://
|
|
71
|
+
const notaryService = "https://gx-notary.arsys.es/v1/registrationNumberVC";
|
|
72
72
|
const fileContent = (0, fs_1.readFileSync)((0, path_1.resolve)(templateFile), 'utf-8');
|
|
73
73
|
const lnrRequestTemplate = Handlebars.compile(fileContent);
|
|
74
74
|
const lnrRequest = lnrRequestTemplate(data);
|
|
@@ -104,16 +104,77 @@ function generateParticipantVP(participantVC, tandcVC, lrnVC, folder, data) {
|
|
|
104
104
|
console.log(`Verifiable Presentation of the credentials for ${data.participant_legal_name} ` +
|
|
105
105
|
`generated and stored in ${data.participant_name}.vp.json`);
|
|
106
106
|
}
|
|
107
|
-
|
|
107
|
+
function generateAssetVP(participantVC, tandcVC, lrnVC, assetVC, folder, data, ddo) {
|
|
108
|
+
const assetData = extractAssetFromDDO(ddo);
|
|
109
|
+
const vp = {
|
|
110
|
+
"@context": "https://www.w3.org/2018/credentials/v1",
|
|
111
|
+
"type": "VerifiablePresentation",
|
|
112
|
+
"verifiableCredential": [
|
|
113
|
+
participantVC,
|
|
114
|
+
lrnVC,
|
|
115
|
+
tandcVC,
|
|
116
|
+
assetVC
|
|
117
|
+
]
|
|
118
|
+
};
|
|
119
|
+
const dirPath = folder + '/' + data.participant_name;
|
|
120
|
+
if (!(0, fs_1.existsSync)(dirPath)) {
|
|
121
|
+
(0, fs_1.mkdirSync)(dirPath, { recursive: true });
|
|
122
|
+
}
|
|
123
|
+
(0, fs_1.writeFileSync)((0, path_1.resolve)(dirPath, `${ddo.datatokens[0].symbol}_${assetData.network}.vp.json`), JSON.stringify(vp, null, 2), 'utf-8');
|
|
124
|
+
console.log(`Verifiable Presentation of the credentials for ${ddo.metadata.name} ` +
|
|
125
|
+
`generated and stored in ${data.participant_name}/${ddo.datatokens[0].symbol}.${assetData.network}.vp.json`);
|
|
126
|
+
}
|
|
127
|
+
function extractAssetFromDDO(ddo) {
|
|
128
|
+
var _a;
|
|
129
|
+
return {
|
|
130
|
+
chain_id: ddo.chainId,
|
|
131
|
+
network: ddo.chainId === 32456 ? 'devnet' : 'testnet',
|
|
132
|
+
did: ddo.id,
|
|
133
|
+
service_name: ddo.metadata.name,
|
|
134
|
+
type: ddo.metadata.type,
|
|
135
|
+
license: ddo.metadata.license,
|
|
136
|
+
contains_PII: ((_a = ddo.metadata.additionalInformation) === null || _a === void 0 ? void 0 : _a.containsPII) || false,
|
|
137
|
+
service_description: JSON.stringify(ddo.metadata.description).slice(1, -1),
|
|
138
|
+
owner_account: ddo.nft.owner,
|
|
139
|
+
service_type: ddo.services[0].type,
|
|
140
|
+
service_timeout: ddo.services[0].timeout === 0 ? 'unlimited' : ddo.services[0].timeout,
|
|
141
|
+
nft_address: ddo.nftAddress,
|
|
142
|
+
token_name: ddo.datatokens[0].name,
|
|
143
|
+
token_symbol: ddo.datatokens[0].symbol,
|
|
144
|
+
token_address: ddo.datatokens[0].address,
|
|
145
|
+
service_price: ddo.stats.price.value,
|
|
146
|
+
service_endpoint: ddo.services[0].serviceEndpoint
|
|
147
|
+
};
|
|
148
|
+
}
|
|
149
|
+
async function generateAssetVC(ddo, participantData, signer) {
|
|
150
|
+
if (!ddo)
|
|
151
|
+
return null;
|
|
152
|
+
const assetData = extractAssetFromDDO(ddo);
|
|
153
|
+
let templateFile;
|
|
154
|
+
if (assetData.type === 'dataset') {
|
|
155
|
+
templateFile = require.resolve('./templates/dataset.hbs');
|
|
156
|
+
}
|
|
157
|
+
else {
|
|
158
|
+
templateFile = require.resolve('./templates/service.hbs');
|
|
159
|
+
}
|
|
160
|
+
const assetVCSigned = await generateSignedDocument(Object.assign(Object.assign({}, assetData), participantData), templateFile, signer);
|
|
161
|
+
console.log(`Verifiable Credential for asset ${assetData.service_name} ` +
|
|
162
|
+
`successfully generated`);
|
|
163
|
+
return assetVCSigned;
|
|
164
|
+
}
|
|
165
|
+
async function generateCredentials(participantDataFile, didjsonFile, certificateKeyFile, password, ddo) {
|
|
166
|
+
var _a;
|
|
108
167
|
const folder = (0, path_1.dirname)(participantDataFile);
|
|
109
168
|
const participantData = JSON.parse((0, fs_1.readFileSync)(participantDataFile, 'utf-8'));
|
|
110
169
|
participantData.issuance_date = new Date().toISOString();
|
|
111
|
-
const didJson = JSON.parse((0, fs_1.readFileSync)(
|
|
170
|
+
const didJson = JSON.parse((0, fs_1.readFileSync)(didjsonFile, 'utf-8'));
|
|
112
171
|
participantData.issuer_domain = didJson.id.substring(didJson.id.lastIndexOf(':') + 1);
|
|
113
|
-
console.log(`
|
|
172
|
+
console.log(`Asset DDO: ${ddo ? JSON.stringify(ddo, null, 2) : 'N/A'}`);
|
|
173
|
+
console.log(`Generating Gaia-X credentials for ` +
|
|
174
|
+
ddo ? `asset ${(_a = ddo === null || ddo === void 0 ? void 0 : ddo.metadata) === null || _a === void 0 ? void 0 : _a.name}` : `participant ${participantData.participant_legal_name} ` +
|
|
114
175
|
`with issuer ${participantData.issuer_domain}`);
|
|
115
176
|
const pkcs1 = (0, fs_1.readFileSync)(certificateKeyFile, 'utf-8');
|
|
116
|
-
const key = (0, crypto_1.createPrivateKey)(pkcs1);
|
|
177
|
+
const key = (0, crypto_1.createPrivateKey)({ key: pkcs1, passphrase: password });
|
|
117
178
|
const signer = new json_web_signature_2020_1.GaiaXSignatureSigner({
|
|
118
179
|
privateKey: key,
|
|
119
180
|
privateKeyAlg: didJson.verificationMethod[0].publicKeyJwk.alg,
|
|
@@ -122,10 +183,14 @@ async function generateParticipantCredentials(participantDataFile, didFile, cert
|
|
|
122
183
|
await Promise.all([
|
|
123
184
|
generateParticipantVC(participantData, signer),
|
|
124
185
|
generateParticipantTandCVC(participantData, signer),
|
|
125
|
-
generateParticipantLNRVC(participantData)
|
|
186
|
+
generateParticipantLNRVC(participantData),
|
|
187
|
+
generateAssetVC(ddo, participantData, signer)
|
|
126
188
|
])
|
|
127
|
-
.then(([participantVC, tandcVC, lrnVC]) => {
|
|
128
|
-
if (participantVC && tandcVC && lrnVC) {
|
|
189
|
+
.then(([participantVC, tandcVC, lrnVC, assetVC]) => {
|
|
190
|
+
if (participantVC && tandcVC && lrnVC && assetVC) {
|
|
191
|
+
generateAssetVP(participantVC, tandcVC, lrnVC, assetVC, folder, participantData, ddo);
|
|
192
|
+
}
|
|
193
|
+
else if (participantVC && tandcVC && lrnVC) {
|
|
129
194
|
generateParticipantVP(participantVC, tandcVC, lrnVC, folder, participantData);
|
|
130
195
|
}
|
|
131
196
|
else {
|
|
@@ -134,11 +199,11 @@ async function generateParticipantCredentials(participantDataFile, didFile, cert
|
|
|
134
199
|
});
|
|
135
200
|
}
|
|
136
201
|
async function checkCompliance(participantDataFile, vpFile) {
|
|
137
|
-
const complianceService = "https://compliance.lab.gaia-x.eu/v1
|
|
202
|
+
const complianceService = "https://compliance.lab.gaia-x.eu/v1/api/credential-offers";
|
|
138
203
|
const folder = (0, path_1.dirname)(participantDataFile);
|
|
139
204
|
const participantData = JSON.parse((0, fs_1.readFileSync)(participantDataFile, 'utf-8'));
|
|
140
205
|
const vp = JSON.parse((0, fs_1.readFileSync)(vpFile, 'utf-8'));
|
|
141
|
-
axios_1.default.post(`${complianceService}?` +
|
|
206
|
+
await axios_1.default.post(`${complianceService}?` +
|
|
142
207
|
`vcid=https://${participantData.issuer_domain}/.well-known/${participantData.participant_name}.compliance.json`, vp)
|
|
143
208
|
.then(response => {
|
|
144
209
|
if (response.status === 201) {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/gaia-x_compliance/generate-credentials/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
{
|
|
2
|
+
"@context": [
|
|
3
|
+
"https://www.w3.org/2018/credentials/v1",
|
|
4
|
+
"https://w3id.org/security/suites/jws-2020/v1",
|
|
5
|
+
"https://registry.lab.gaia-x.eu/development/api/trusted-shape-registry/v1/shapes/jsonld/trustframework#",
|
|
6
|
+
{
|
|
7
|
+
"pontus-x": "https://pontus-x.eu/vocabulary/"
|
|
8
|
+
}
|
|
9
|
+
],
|
|
10
|
+
"id": "https://{{ issuer_domain }}/.well-known/{{ participant_name }}/{{ token_symbol }}_{{ network }}.vp.json",
|
|
11
|
+
"type": "VerifiableCredential",
|
|
12
|
+
"issuer": "did:web:{{ issuer_domain }}",
|
|
13
|
+
"issuanceDate": "{{ issuance_date }}",
|
|
14
|
+
"credentialSubject": {
|
|
15
|
+
"id": "{{ did }}",
|
|
16
|
+
"type": "gx:ServiceOffering",
|
|
17
|
+
"gx:providedBy": {
|
|
18
|
+
"id": "{{ participant_uri }}"
|
|
19
|
+
},
|
|
20
|
+
"gx:name": "{{ service_name }}",
|
|
21
|
+
"gx:description": "{{ service_description }}",
|
|
22
|
+
"gx:dataProtectionRegime": ["GDPR2016"],
|
|
23
|
+
"gx:termsAndConditions": {
|
|
24
|
+
"gx:URL": "https://portal.agrospai.udl.cat/privacy/en",
|
|
25
|
+
"gx:hash": "2277e2ce08030a6ba9c106be999dbec8f4fe7cd8073ee0bd9811c7a7c035fe2b"
|
|
26
|
+
},
|
|
27
|
+
"gx:dataAccountExport": {
|
|
28
|
+
"gx:requestType": "email",
|
|
29
|
+
"gx:accessType": "digital",
|
|
30
|
+
"gx:formatType": "text/html"
|
|
31
|
+
},
|
|
32
|
+
"gx:policy": "{'@type':'odrl:Policy','odrl:permission':{'odrl:action':'pontus-x:{{ service_type }}','odrl:constraint':{'odrl:leftOperand':'odrl:elapsedTime','odrl:operator':'odrl:eq','odrl:rightOperand':'{{ service_timeout }}'},'odrl:duty':{'odrl:action':'odrl:compensate','odrl:constraint':{'odrl:leftOperand':'odrl:amount','odrl:operator':'odrl:eq','odrl:rightOperand':{{ service_price }},'odrl:unit':'currency:EUR'}},'odrl:target':'{{ did }}'} }",
|
|
33
|
+
{{!-- "gx:aggregationOf": [ --}}
|
|
34
|
+
{{!-- { --}}
|
|
35
|
+
{{!-- "id": "{{ did }}#dataset", --}}
|
|
36
|
+
{{!-- "type": "gx:DataResource", --}}
|
|
37
|
+
{{!-- "gx:producedBy": { --}}
|
|
38
|
+
{{!-- "id": "{{ participant_uri }}" --}}
|
|
39
|
+
{{!-- }, --}}
|
|
40
|
+
{{!-- "gx:copyrightOwnedBy": { --}}
|
|
41
|
+
{{!-- "id": "{{ participant_uri }}" --}}
|
|
42
|
+
{{!-- }, --}}
|
|
43
|
+
{{!-- "gx:name": "{{ service_name }} (Data Resource)", --}}
|
|
44
|
+
{{!-- "gx:description": "Data resource for {{ service_name }}", --}}
|
|
45
|
+
{{!-- "gx:exposedThrough": { --}}
|
|
46
|
+
{{!-- "id": "{{ did }}" --}}
|
|
47
|
+
{{!-- }, --}}
|
|
48
|
+
{{!-- "gx:policy": "{'@type':'odrl:Policy','odrl:permission':{'odrl:action':'pontus-x:{{ service_type }}','odrl:constraint':{'odrl:leftOperand':'odrl:elapsedTime','odrl:operator':'odrl:eq','odrl:rightOperand':'{{ service_timeout }}'},'odrl:duty':{'odrl:action':'odrl:compensate','odrl:constraint':{'odrl:leftOperand':'odrl:amount','odrl:operator':'odrl:eq','odrl:rightOperand':{{ service_price }},'odrl:unit':'currency:EUR'}},'odrl:target':'{{ did }}'} }", --}}
|
|
49
|
+
{{!-- "gx:license": "{{ license }}", --}}
|
|
50
|
+
{{!-- "gx:containsPII": {{ contains_PII }} --}}
|
|
51
|
+
{{!-- } --}}
|
|
52
|
+
{{!-- ], --}}
|
|
53
|
+
"pontus-x:ownerBlockchainAccountId": "{{ owner_account }}",
|
|
54
|
+
"pontus-x:type": "{{ service_type }}",
|
|
55
|
+
"pontus-x:webAddress": "https://portal.agrospai.udl.cat/asset/{{ did }}",
|
|
56
|
+
"pontus-x:blockchainNetwork": [
|
|
57
|
+
{
|
|
58
|
+
"gx:blockchainName": "{{ network }}",
|
|
59
|
+
"gx:blockchainId": "{{ chain_id }}"
|
|
60
|
+
}
|
|
61
|
+
],
|
|
62
|
+
"pontus-x:serviceModel": "subscription",
|
|
63
|
+
"pontus-x:subscriptionDuration": "{{ service_timeout }}",
|
|
64
|
+
"pontus-x:settlement": [
|
|
65
|
+
{
|
|
66
|
+
"pontus-x:currencyAmount": "{{ service_price }}"
|
|
67
|
+
}
|
|
68
|
+
],
|
|
69
|
+
"pontus-x:nftAddress": "{{ nft_address }}",
|
|
70
|
+
"pontus-x:accessTokenName": "{{ token_name}}",
|
|
71
|
+
"pontus-x:accessTokenSymbol": "{{ token_symbol }}",
|
|
72
|
+
"pontus-x:accessTokenAddress": "{{ token_address }}",
|
|
73
|
+
"pontus-x:serviceEndpoint": "{{ service_endpoint }}"
|
|
74
|
+
}
|
|
75
|
+
}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
{
|
|
2
|
+
"@context": [
|
|
3
|
+
"https://www.w3.org/2018/credentials/v1",
|
|
4
|
+
"https://w3id.org/security/suites/jws-2020/v1",
|
|
5
|
+
"https://registry.lab.gaia-x.eu/development/api/trusted-shape-registry/v1/shapes/jsonld/trustframework#",
|
|
6
|
+
{
|
|
7
|
+
"pontus-x": "https://pontus-x.eu/vocabulary/"
|
|
8
|
+
}
|
|
9
|
+
],
|
|
10
|
+
"id": "https://{{ issuer_domain }}/.well-known/{{ participant_name }}/{{ token_symbol }}_{{ network }}.vp.json",
|
|
11
|
+
"type": "VerifiableCredential",
|
|
12
|
+
"issuer": "did:web:{{ issuer_domain }}",
|
|
13
|
+
"issuanceDate": "{{ issuance_date }}",
|
|
14
|
+
"credentialSubject": {
|
|
15
|
+
"id": "{{ did }}",
|
|
16
|
+
"type": "gx:ServiceOffering",
|
|
17
|
+
"gx:providedBy": {
|
|
18
|
+
"id": "{{ participant_uri }}"
|
|
19
|
+
},
|
|
20
|
+
"gx:name": "{{ service_name }}",
|
|
21
|
+
"gx:description": "{{ service_description }}",
|
|
22
|
+
"gx:dataProtectionRegime": ["GDPR2016"],
|
|
23
|
+
"gx:termsAndConditions": {
|
|
24
|
+
"gx:URL": "https://portal.agrospai.udl.cat/privacy/en",
|
|
25
|
+
"gx:hash": "2277e2ce08030a6ba9c106be999dbec8f4fe7cd8073ee0bd9811c7a7c035fe2b"
|
|
26
|
+
},
|
|
27
|
+
"gx:dataAccountExport": {
|
|
28
|
+
"gx:requestType": "email",
|
|
29
|
+
"gx:accessType": "digital",
|
|
30
|
+
"gx:formatType": "text/html"
|
|
31
|
+
},
|
|
32
|
+
"gx:policy": "{'@type':'odrl:Policy','odrl:permission':{'odrl:action':'pontus-x:{{ service_type }}','odrl:constraint':{'odrl:leftOperand':'odrl:elapsedTime','odrl:operator':'odrl:eq','odrl:rightOperand':'{{ service_timeout }}'},'odrl:duty':{'odrl:action':'odrl:compensate','odrl:constraint':{'odrl:leftOperand':'odrl:amount','odrl:operator':'odrl:eq','odrl:rightOperand':{{ service_price }},'odrl:unit':'currency:EUR'}},'odrl:target':'{{ did }}'} }",
|
|
33
|
+
"pontus-x:ownerBlockchainAccountId": "{{ owner_account }}",
|
|
34
|
+
"pontus-x:type": "{{ service_type }}",
|
|
35
|
+
"pontus-x:webAddress": "https://portal.agrospai.udl.cat/asset/{{ did }}",
|
|
36
|
+
"pontus-x:blockchainNetwork": [
|
|
37
|
+
{
|
|
38
|
+
"gx:blockchainName": "{{ network }}",
|
|
39
|
+
"gx:blockchainId": "{{ chain_id }}"
|
|
40
|
+
}
|
|
41
|
+
],
|
|
42
|
+
"pontus-x:serviceModel": "subscription",
|
|
43
|
+
"pontus-x:subscriptionDuration": "{{ service_timeout }}",
|
|
44
|
+
"pontus-x:settlement": [
|
|
45
|
+
{
|
|
46
|
+
"pontus-x:currencyAmount": "{{ service_price }}"
|
|
47
|
+
}
|
|
48
|
+
],
|
|
49
|
+
"pontus-x:nftAddress": "{{ nft_address }}",
|
|
50
|
+
"pontus-x:accessTokenName": "{{ token_name}}",
|
|
51
|
+
"pontus-x:accessTokenSymbol": "{{ token_symbol }}",
|
|
52
|
+
"pontus-x:accessTokenAddress": "{{ token_address }}",
|
|
53
|
+
"pontus-x:serviceEndpoint": "{{ service_endpoint }}"
|
|
54
|
+
}
|
|
55
|
+
}
|
package/dist/index.js
CHANGED
|
@@ -4,60 +4,70 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
5
5
|
};
|
|
6
6
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
const nautilus_1 = require("@deltadao/nautilus");
|
|
8
|
+
const commander_1 = require("commander");
|
|
7
9
|
const dotenv_1 = __importDefault(require("dotenv"));
|
|
8
|
-
|
|
9
|
-
const fs_1 = require("fs");
|
|
10
|
+
const ethereumjs_wallet_1 = __importDefault(require("ethereumjs-wallet"));
|
|
10
11
|
const figlet_1 = require("figlet");
|
|
12
|
+
const fs_1 = require("fs");
|
|
13
|
+
const minimist_1 = __importDefault(require("minimist"));
|
|
11
14
|
const readline_sync_1 = __importDefault(require("readline-sync"));
|
|
12
|
-
const
|
|
15
|
+
const tabtab_1 = __importDefault(require("tabtab"));
|
|
13
16
|
const export_key_as_json_1 = require("./export-key-as-json");
|
|
14
|
-
const utils_1 = require("./utils");
|
|
15
|
-
const ethereumjs_wallet_1 = __importDefault(require("ethereumjs-wallet"));
|
|
16
|
-
const nautilus_1 = require("@deltadao/nautilus");
|
|
17
17
|
const generate_did_web_1 = require("./gaia-x_compliance/generate-did-web");
|
|
18
|
-
const
|
|
18
|
+
const generate_credentials_1 = require("./gaia-x_compliance/generate-credentials");
|
|
19
|
+
const utils_1 = require("./utils");
|
|
20
|
+
dotenv_1.default.config();
|
|
19
21
|
const program = new commander_1.Command();
|
|
22
|
+
const opts = (0, minimist_1.default)(process.argv.slice(2));
|
|
23
|
+
const args = opts._;
|
|
20
24
|
program
|
|
21
25
|
.name("pontus-x_cli")
|
|
22
26
|
.version((0, utils_1.packageVersion)())
|
|
23
27
|
.description("CLI for managing the Pontus-X ecosystem");
|
|
24
|
-
program
|
|
28
|
+
program
|
|
29
|
+
.command("export-private-key")
|
|
25
30
|
.description("Export your private key as a JSON file," +
|
|
26
31
|
" to use latter with the login command or for Pontus-X portals automation")
|
|
27
32
|
.action(() => {
|
|
28
33
|
(0, export_key_as_json_1.exportKeyAsJson)();
|
|
29
34
|
});
|
|
30
|
-
program
|
|
35
|
+
program
|
|
36
|
+
.command("login <keyFile.json>")
|
|
31
37
|
.description("Login to retrieve your private key from a JSON key store and store it in .env")
|
|
32
38
|
.action((keyFileName) => {
|
|
33
|
-
const keyStore = JSON.parse((0, fs_1.readFileSync)(keyFileName,
|
|
39
|
+
const keyStore = JSON.parse((0, fs_1.readFileSync)(keyFileName, "utf8"));
|
|
34
40
|
const password = readline_sync_1.default.question(`Enter the password to decrypt the key file ${keyFileName}: `, { hideEchoBack: true });
|
|
35
|
-
ethereumjs_wallet_1.default.fromV3(keyStore, password)
|
|
41
|
+
ethereumjs_wallet_1.default.fromV3(keyStore, password)
|
|
42
|
+
.then((wallet) => {
|
|
36
43
|
console.log(`Storing your private key for this session with Pontus-X CLI, do not forget to logout.\n`);
|
|
37
|
-
const envConfig = dotenv_1.default.parse((0, fs_1.readFileSync)(
|
|
44
|
+
const envConfig = dotenv_1.default.parse((0, fs_1.readFileSync)(".env", "utf8"));
|
|
38
45
|
envConfig.PRIVATE_KEY = wallet.getPrivateKeyString();
|
|
39
46
|
const updatedEnvConfig = Object.entries(envConfig)
|
|
40
47
|
.map(([key, value]) => `${key}=${value}`)
|
|
41
|
-
.join(
|
|
42
|
-
(0, fs_1.writeFileSync)(
|
|
48
|
+
.join("\n");
|
|
49
|
+
(0, fs_1.writeFileSync)(".env", updatedEnvConfig, "utf8");
|
|
43
50
|
process.exit(0);
|
|
44
|
-
})
|
|
51
|
+
})
|
|
52
|
+
.catch((error) => {
|
|
45
53
|
console.error(`Error decrypting the key file. ${error}\n`);
|
|
46
54
|
process.exit(1);
|
|
47
55
|
});
|
|
48
56
|
});
|
|
49
|
-
program
|
|
57
|
+
program
|
|
58
|
+
.command("logout")
|
|
50
59
|
.description("Logout to remove your private key from .env file")
|
|
51
60
|
.action(() => {
|
|
52
|
-
const envConfig = dotenv_1.default.parse((0, fs_1.readFileSync)(
|
|
61
|
+
const envConfig = dotenv_1.default.parse((0, fs_1.readFileSync)(".env", "utf8"));
|
|
53
62
|
delete envConfig.PRIVATE_KEY;
|
|
54
63
|
const updatedEnvConfig = Object.entries(envConfig)
|
|
55
64
|
.map(([key, value]) => `${key}=${value}`)
|
|
56
|
-
.join(
|
|
57
|
-
(0, fs_1.writeFileSync)(
|
|
65
|
+
.join("\n");
|
|
66
|
+
(0, fs_1.writeFileSync)(".env", updatedEnvConfig, "utf8");
|
|
58
67
|
process.exit(0);
|
|
59
68
|
});
|
|
60
|
-
program
|
|
69
|
+
program
|
|
70
|
+
.command("get <did>")
|
|
61
71
|
.description("Get the available metadata to the asset with the given DID")
|
|
62
72
|
.action(async (did) => {
|
|
63
73
|
console.log(`Retrieving asset metadata for DID: ${did}`);
|
|
@@ -66,7 +76,8 @@ program.command("get <did>")
|
|
|
66
76
|
console.log(`Asset ${did} metadata: \n\n ${JSON.stringify(aquariusAsset, null, 2)} \n`);
|
|
67
77
|
process.exit(0);
|
|
68
78
|
});
|
|
69
|
-
program
|
|
79
|
+
program
|
|
80
|
+
.command("access <did>")
|
|
70
81
|
.description("Access an asset that can be downloaded given its DID")
|
|
71
82
|
.action(async (did) => {
|
|
72
83
|
const { nautilus } = await utils_1.Connection.connect();
|
|
@@ -75,15 +86,16 @@ program.command("access <did>")
|
|
|
75
86
|
console.log(`Download URL: ${accessUrl}\n`);
|
|
76
87
|
process.exit(0);
|
|
77
88
|
});
|
|
78
|
-
program
|
|
89
|
+
program
|
|
90
|
+
.command("revoke <dids...>")
|
|
79
91
|
.description("Publisher revocation of one or more owned DIDs ")
|
|
80
92
|
.action(async (dids) => {
|
|
81
93
|
const connection = await utils_1.Connection.connect();
|
|
82
|
-
if (readline_sync_1.default.keyInYNStrict(`Revoke assets ${dids.join(
|
|
94
|
+
if (readline_sync_1.default.keyInYNStrict(`Revoke assets ${dids.join(", ")}? `)) {
|
|
83
95
|
try {
|
|
84
96
|
for (const did of dids) {
|
|
85
97
|
const aquariusAsset = await connection.nautilus.getAquariusAsset(did);
|
|
86
|
-
console.log(
|
|
98
|
+
console.log("Sending transaction to revoke asset...");
|
|
87
99
|
const tx = await connection.nautilus.setAssetLifecycleState(aquariusAsset, nautilus_1.LifecycleStates.REVOKED_BY_PUBLISHER);
|
|
88
100
|
console.log(`Asset revoked, ` +
|
|
89
101
|
`transaction: ${connection.networkConfig.explorerUri}/tx/${tx.transactionHash}\n`);
|
|
@@ -95,7 +107,8 @@ program.command("revoke <dids...>")
|
|
|
95
107
|
}
|
|
96
108
|
process.exit(0);
|
|
97
109
|
});
|
|
98
|
-
program
|
|
110
|
+
program
|
|
111
|
+
.command("self-description <did> <sdurl>")
|
|
99
112
|
.description("Associate Gaia-X Self-Description to the asset with the given DID")
|
|
100
113
|
.action(async (did, sdurl) => {
|
|
101
114
|
const connection = await utils_1.Connection.connect();
|
|
@@ -103,14 +116,16 @@ program.command("self-description <did> <sdurl>")
|
|
|
103
116
|
try {
|
|
104
117
|
const aquariusAsset = await connection.nautilus.getAquariusAsset(did);
|
|
105
118
|
const assetBuilder = new nautilus_1.AssetBuilder(aquariusAsset);
|
|
106
|
-
const asset = assetBuilder
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
119
|
+
const asset = assetBuilder
|
|
120
|
+
.addAdditionalInformation({
|
|
121
|
+
gaiaXInformation: {
|
|
122
|
+
serviceSD: {
|
|
123
|
+
url: sdurl,
|
|
124
|
+
isVerified: true,
|
|
125
|
+
},
|
|
126
|
+
},
|
|
127
|
+
})
|
|
128
|
+
.build();
|
|
114
129
|
const result = await connection.nautilus.edit(asset);
|
|
115
130
|
console.log(`Self-description associated to the asset, ` +
|
|
116
131
|
`transaction: ${connection.networkConfig.explorerUri}/tx/${result.setMetadataTxReceipt.transactionHash}\n`);
|
|
@@ -121,12 +136,13 @@ program.command("self-description <did> <sdurl>")
|
|
|
121
136
|
}
|
|
122
137
|
process.exit(0);
|
|
123
138
|
});
|
|
124
|
-
program
|
|
139
|
+
program
|
|
140
|
+
.command("change-price <did> <newPrice>")
|
|
125
141
|
.description("Change the price keeping the existing currency for an asset with the given DID")
|
|
126
142
|
.action(async (did, newPrice) => {
|
|
127
143
|
var _a, _b;
|
|
128
144
|
const connection = await utils_1.Connection.connect();
|
|
129
|
-
const newPriceNumber = parseFloat(newPrice.replace(
|
|
145
|
+
const newPriceNumber = parseFloat(newPrice.replace(",", "."));
|
|
130
146
|
if (readline_sync_1.default.keyInYNStrict(`Set the price to ${newPriceNumber.toString()} for asset ${did}? `)) {
|
|
131
147
|
try {
|
|
132
148
|
const aquariusAsset = await connection.nautilus.getAquariusAsset(did);
|
|
@@ -141,7 +157,8 @@ program.command("change-price <did> <newPrice>")
|
|
|
141
157
|
}
|
|
142
158
|
process.exit(0);
|
|
143
159
|
});
|
|
144
|
-
program
|
|
160
|
+
program
|
|
161
|
+
.command("edit-algo <did> <image> <tag> <checksum>")
|
|
145
162
|
.description("Change the container metadata for a given algorithm DID")
|
|
146
163
|
.action(async (did, image, tag, checksum) => {
|
|
147
164
|
const connection = await utils_1.Connection.connect();
|
|
@@ -150,10 +167,12 @@ program.command("edit-algo <did> <image> <tag> <checksum>")
|
|
|
150
167
|
try {
|
|
151
168
|
const aquariusAsset = await connection.nautilus.getAquariusAsset(did);
|
|
152
169
|
const assetBuilder = new nautilus_1.AssetBuilder(aquariusAsset);
|
|
153
|
-
const asset = assetBuilder
|
|
170
|
+
const asset = assetBuilder
|
|
171
|
+
.setAlgorithm(Object.assign(Object.assign({}, aquariusAsset.metadata.algorithm), { container: Object.assign(Object.assign({}, aquariusAsset.metadata.algorithm.container), { // Start with existing container metadata
|
|
154
172
|
image,
|
|
155
173
|
tag,
|
|
156
|
-
checksum }) }))
|
|
174
|
+
checksum }) }))
|
|
175
|
+
.build();
|
|
157
176
|
const result = await connection.nautilus.edit(asset);
|
|
158
177
|
console.log(`Container metadata updated for the algorithm, ` +
|
|
159
178
|
`transaction: ${connection.networkConfig.explorerUri}/tx/${result.setMetadataTxReceipt.transactionHash}\n`);
|
|
@@ -164,17 +183,21 @@ program.command("edit-algo <did> <image> <tag> <checksum>")
|
|
|
164
183
|
}
|
|
165
184
|
process.exit(0);
|
|
166
185
|
});
|
|
167
|
-
program
|
|
186
|
+
program
|
|
187
|
+
.command("edit-trusted-algos <did> <algos...>")
|
|
168
188
|
.description("Overwrite the trusted algorithms for a data asset to the provided algorithm DIDs")
|
|
169
189
|
.action(async (did, algos) => {
|
|
170
190
|
const connection = await utils_1.Connection.connect();
|
|
171
191
|
if (readline_sync_1.default.keyInYNStrict(`Changing the trusted algorithms for ${did} ` +
|
|
172
|
-
`to [${algos.join(
|
|
192
|
+
`to [${algos.join(", ")}]? `)) {
|
|
173
193
|
try {
|
|
174
194
|
const aquariusAsset = await connection.nautilus.getAquariusAsset(did);
|
|
175
195
|
const assetBuilder = new nautilus_1.AssetBuilder(aquariusAsset);
|
|
176
|
-
const serviceBuilder = new nautilus_1.ServiceBuilder({
|
|
177
|
-
|
|
196
|
+
const serviceBuilder = new nautilus_1.ServiceBuilder({
|
|
197
|
+
aquariusAsset,
|
|
198
|
+
serviceId: aquariusAsset.services[0].id,
|
|
199
|
+
});
|
|
200
|
+
serviceBuilder.addTrustedAlgorithms(algos.map((algo) => ({ did: algo })));
|
|
178
201
|
const service = serviceBuilder.build();
|
|
179
202
|
const asset = assetBuilder.addService(service).build();
|
|
180
203
|
const result = await connection.nautilus.edit(asset);
|
|
@@ -187,17 +210,20 @@ program.command("edit-trusted-algos <did> <algos...>")
|
|
|
187
210
|
}
|
|
188
211
|
process.exit(0);
|
|
189
212
|
});
|
|
190
|
-
program
|
|
213
|
+
program
|
|
214
|
+
.command("edit-asset-url <did> <url>")
|
|
191
215
|
.description("Change the URL of an asset DID")
|
|
192
216
|
.action(async (did, url) => {
|
|
193
217
|
const connection = await utils_1.Connection.connect();
|
|
194
|
-
if (readline_sync_1.default.keyInYNStrict(`Changing the URL for ${did} ` +
|
|
195
|
-
`to ${url}? `)) {
|
|
218
|
+
if (readline_sync_1.default.keyInYNStrict(`Changing the URL for ${did} ` + `to ${url}? `)) {
|
|
196
219
|
try {
|
|
197
220
|
const aquariusAsset = await connection.nautilus.getAquariusAsset(did);
|
|
198
221
|
const assetBuilder = new nautilus_1.AssetBuilder(aquariusAsset);
|
|
199
|
-
const serviceBuilder = new nautilus_1.ServiceBuilder({
|
|
200
|
-
|
|
222
|
+
const serviceBuilder = new nautilus_1.ServiceBuilder({
|
|
223
|
+
aquariusAsset,
|
|
224
|
+
serviceId: aquariusAsset.services[0].id,
|
|
225
|
+
});
|
|
226
|
+
serviceBuilder.addFile({ type: "url", url, method: "GET" });
|
|
201
227
|
const service = serviceBuilder.build();
|
|
202
228
|
const asset = assetBuilder.addService(service).build();
|
|
203
229
|
const result = await connection.nautilus.edit(asset);
|
|
@@ -220,7 +246,7 @@ program
|
|
|
220
246
|
const connection = await utils_1.Connection.connect();
|
|
221
247
|
console.log(`Publishing asset ${scriptFolder} in provider ${options.provider} from wallet ${connection.wallet.address}`);
|
|
222
248
|
try {
|
|
223
|
-
await (0, utils_1.invokeFunctionFromFile)(`${scriptFolder}/index.ts`,
|
|
249
|
+
await (0, utils_1.invokeFunctionFromFile)(`${scriptFolder}/index.ts`, "publish", scriptFolder, connection, options.provider, options.dryRun);
|
|
224
250
|
process.exit(0);
|
|
225
251
|
}
|
|
226
252
|
catch (error) {
|
|
@@ -234,16 +260,20 @@ program
|
|
|
234
260
|
.action(async (algo, datasets) => {
|
|
235
261
|
const connection = await utils_1.Connection.connect();
|
|
236
262
|
if (readline_sync_1.default.keyInYNStrict(`Computing algorithm ${algo} ` +
|
|
237
|
-
`on datasets [${datasets.join(
|
|
263
|
+
`on datasets [${datasets.join(", ")}]? `)) {
|
|
238
264
|
try {
|
|
239
265
|
const firstDatasetAsset = await connection.nautilus.getAquariusAsset(datasets[0]);
|
|
240
266
|
const provider = firstDatasetAsset.services[0].serviceEndpoint;
|
|
241
|
-
const dataset = {
|
|
242
|
-
const algorithm = {
|
|
267
|
+
const dataset = { did: datasets[0] };
|
|
268
|
+
const algorithm = { did: algo };
|
|
243
269
|
const additionalDatasets = datasets
|
|
244
270
|
.filter((_, i) => i > 0)
|
|
245
|
-
.map(dataset => ({
|
|
246
|
-
const computeJob = await connection.nautilus.compute({
|
|
271
|
+
.map((dataset) => ({ did: dataset }));
|
|
272
|
+
const computeJob = (await connection.nautilus.compute({
|
|
273
|
+
dataset,
|
|
274
|
+
algorithm,
|
|
275
|
+
additionalDatasets,
|
|
276
|
+
}));
|
|
247
277
|
console.log(`Compute started, check status using command:\n` +
|
|
248
278
|
`pontus-x_cli compute-status ${computeJob[0].jobId} -p ${provider}\n`);
|
|
249
279
|
}
|
|
@@ -261,10 +291,11 @@ program
|
|
|
261
291
|
const connection = await utils_1.Connection.connect();
|
|
262
292
|
try {
|
|
263
293
|
const computeJobStatus = await connection.nautilus.getComputeStatus({
|
|
264
|
-
jobId,
|
|
294
|
+
jobId,
|
|
295
|
+
providerUri: options.provider,
|
|
265
296
|
});
|
|
266
297
|
console.log(`Compute status: ${computeJobStatus.statusText}\n`);
|
|
267
|
-
if (computeJobStatus.statusText ===
|
|
298
|
+
if (computeJobStatus.statusText === "Job finished") {
|
|
268
299
|
console.log(`Get results using command:\n` +
|
|
269
300
|
`pontus-x_cli compute-results ${jobId} -p ${options.provider}\n`);
|
|
270
301
|
}
|
|
@@ -282,7 +313,8 @@ program
|
|
|
282
313
|
const connection = await utils_1.Connection.connect();
|
|
283
314
|
try {
|
|
284
315
|
const computeResultUrl = await connection.nautilus.getComputeResult({
|
|
285
|
-
jobId,
|
|
316
|
+
jobId,
|
|
317
|
+
providerUri: options.provider,
|
|
286
318
|
});
|
|
287
319
|
if (computeResultUrl)
|
|
288
320
|
console.log(`Compute results available from: ${computeResultUrl}\n`);
|
|
@@ -311,13 +343,35 @@ program
|
|
|
311
343
|
});
|
|
312
344
|
program
|
|
313
345
|
.command("generate-participant-credentials")
|
|
314
|
-
.description("Generate the Gaia-X credentials for the participant including their verifiable presentation
|
|
346
|
+
.description("Generate the Gaia-X credentials for the participant including their verifiable presentation")
|
|
315
347
|
.requiredOption("-p, --participant <participant.data.json>", "Path to the JSON file including the required participant data")
|
|
316
|
-
.requiredOption("-d, --
|
|
348
|
+
.requiredOption("-d, --didjson <did.json>", "Path to the did.json file")
|
|
317
349
|
.requiredOption("-c, --certificate <certificate.key>", "Path to the certificate.key file")
|
|
318
350
|
.action(async (options) => {
|
|
319
351
|
try {
|
|
320
|
-
|
|
352
|
+
const password = readline_sync_1.default.question(`Enter the password for your private key file ${options.certificate}: `, { hideEchoBack: true });
|
|
353
|
+
await (0, generate_credentials_1.generateCredentials)(options.participant, options.didjson, options.certificate, password);
|
|
354
|
+
process.exit(0);
|
|
355
|
+
}
|
|
356
|
+
catch (error) {
|
|
357
|
+
console.error(error);
|
|
358
|
+
process.exit(1);
|
|
359
|
+
}
|
|
360
|
+
});
|
|
361
|
+
program
|
|
362
|
+
.command("generate-asset-credentials <did>")
|
|
363
|
+
.description("Generate the Gaia-X credentials for the input DID asset, including its verifiable presentation")
|
|
364
|
+
.requiredOption("-p, --participant <participant.data.json>", "Path to the JSON file including the required participant data")
|
|
365
|
+
.requiredOption("-d, --didjson <did.json>", "Path to the did.json file")
|
|
366
|
+
.requiredOption("-c, --certificate <certificate.key>", "Path to the certificate.key file")
|
|
367
|
+
.action(async (did, options) => {
|
|
368
|
+
console.log(`Retrieving asset metadata for DID: ${did}`);
|
|
369
|
+
const { nautilus } = await utils_1.Connection.connect();
|
|
370
|
+
const ddo = await nautilus.getAquariusAsset(did);
|
|
371
|
+
console.log(`Asset ${did} metadata: \n\n ${JSON.stringify(ddo, null, 2)} \n`);
|
|
372
|
+
try {
|
|
373
|
+
const password = readline_sync_1.default.question(`Enter the password for your private key file ${options.certificate}: `, { hideEchoBack: true });
|
|
374
|
+
await (0, generate_credentials_1.generateCredentials)(options.participant, options.didjson, options.certificate, password, ddo);
|
|
321
375
|
process.exit(0);
|
|
322
376
|
}
|
|
323
377
|
catch (error) {
|
|
@@ -326,13 +380,13 @@ program
|
|
|
326
380
|
}
|
|
327
381
|
});
|
|
328
382
|
program
|
|
329
|
-
.command("check-compliance")
|
|
383
|
+
.command("check-participant-compliance")
|
|
330
384
|
.description("Use Gaia-X Compliance to check a participant Verifiable Presentation")
|
|
331
385
|
.requiredOption("-p, --participant <participant.data.json>", "Path to the JSON file including the required participant data")
|
|
332
386
|
.requiredOption("--vp <participant.vp.json>", "Path to the participant Verifiable Presentation file")
|
|
333
387
|
.action(async (options) => {
|
|
334
388
|
try {
|
|
335
|
-
await (0,
|
|
389
|
+
await (0, generate_credentials_1.checkCompliance)(options.participant, options.vp);
|
|
336
390
|
process.exit(0);
|
|
337
391
|
}
|
|
338
392
|
catch (error) {
|
|
@@ -340,13 +394,56 @@ program
|
|
|
340
394
|
process.exit(1);
|
|
341
395
|
}
|
|
342
396
|
});
|
|
397
|
+
program
|
|
398
|
+
.command("install-completion")
|
|
399
|
+
.description("Install the autocompletion for the Pontus-X CLI using tabtab");
|
|
400
|
+
program
|
|
401
|
+
.command("uninstall-completion")
|
|
402
|
+
.description("Uninstall the autocompletion for the Pontus-X CLI using tabtab");
|
|
403
|
+
const commands = program.commands.map((cmd) => cmd.name());
|
|
404
|
+
const options = ["--help", "--version", "-d", "-p", "-c"];
|
|
405
|
+
const completion = (env) => {
|
|
406
|
+
if (!env.complete)
|
|
407
|
+
return;
|
|
408
|
+
if (commands.includes(env.prev)) {
|
|
409
|
+
return tabtab_1.default.log(["--help"]);
|
|
410
|
+
}
|
|
411
|
+
return tabtab_1.default.log([...options, ...commands]);
|
|
412
|
+
};
|
|
413
|
+
const run = async () => {
|
|
414
|
+
const cmd = args[0];
|
|
415
|
+
if (cmd === "install-completion") {
|
|
416
|
+
await tabtab_1.default
|
|
417
|
+
.install({
|
|
418
|
+
name: "pontus-x_cli",
|
|
419
|
+
completer: "pontus-x_cli",
|
|
420
|
+
})
|
|
421
|
+
.catch((err) => console.error("INSTALL ERROR", err));
|
|
422
|
+
console.log("✅ Autocompletion installed.");
|
|
423
|
+
return;
|
|
424
|
+
}
|
|
425
|
+
if (cmd === "uninstall-completion") {
|
|
426
|
+
await tabtab_1.default
|
|
427
|
+
.uninstall({
|
|
428
|
+
name: "pontus-x_cli",
|
|
429
|
+
})
|
|
430
|
+
.catch((err) => console.error("UNINSTALL ERROR", err));
|
|
431
|
+
console.log("❌ Autocompletion uninstalled.");
|
|
432
|
+
return;
|
|
433
|
+
}
|
|
434
|
+
if (cmd === "completion") {
|
|
435
|
+
const env = tabtab_1.default.parseEnv(process.env);
|
|
436
|
+
return completion(env);
|
|
437
|
+
}
|
|
438
|
+
program.addHelpText("beforeAll", (0, figlet_1.textSync)("Pontus-X CLI", "Doom"));
|
|
439
|
+
program.parseAsync(process.argv);
|
|
440
|
+
};
|
|
343
441
|
try {
|
|
344
|
-
|
|
345
|
-
program.parse(process.argv);
|
|
442
|
+
run();
|
|
346
443
|
}
|
|
347
444
|
catch (e) {
|
|
348
445
|
if (e instanceof Error) {
|
|
349
|
-
console.error(e.message +
|
|
446
|
+
console.error(e.message + "\n");
|
|
350
447
|
}
|
|
351
448
|
else {
|
|
352
449
|
console.error(e);
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,7 +8,7 @@ const publish = async (folder, connection, provider, dryRun) => {
|
|
|
8
8
|
const consumerParametersBuilder = new nautilus_1.ConsumerParameterBuilder();
|
|
9
9
|
const consumerParameters = [];
|
|
10
10
|
consumerParameters.push(consumerParametersBuilder
|
|
11
|
-
.setName("
|
|
11
|
+
.setName("Dataset parameters")
|
|
12
12
|
.setLabel("dataset")
|
|
13
13
|
.setDescription("Dataset parameters to train the model with, such as: separator, target_column, split, random_state and stratify.")
|
|
14
14
|
.setDefault(JSON.stringify(JSON.parse((0, fs_1.readFileSync)(`${folder}/dataset-default.json`, "utf8"))))
|
|
@@ -17,7 +17,7 @@ const publish = async (folder, connection, provider, dryRun) => {
|
|
|
17
17
|
.build());
|
|
18
18
|
consumerParametersBuilder.reset(); // Reset the builder to create a new parameter
|
|
19
19
|
consumerParameters.push(consumerParametersBuilder
|
|
20
|
-
.setName("
|
|
20
|
+
.setName("Model parameters")
|
|
21
21
|
.setLabel("model")
|
|
22
22
|
.setDescription("Model parameters to train the model with, such as: name, params and metrics.")
|
|
23
23
|
.setDefault(JSON.stringify(JSON.parse((0, fs_1.readFileSync)(`${folder}/model-default.json`, "utf8"))))
|
|
@@ -27,12 +27,13 @@ const publish = async (folder, connection, provider, dryRun) => {
|
|
|
27
27
|
// ALGORITHM METADATA
|
|
28
28
|
const algoMetadata = {
|
|
29
29
|
language: "python",
|
|
30
|
-
version: "0.
|
|
30
|
+
version: "0.3",
|
|
31
31
|
container: {
|
|
32
|
-
entrypoint: "
|
|
32
|
+
entrypoint: "python $ALGO",
|
|
33
|
+
// entrypoint: "sleep infinity",
|
|
33
34
|
image: "clopezgarcia/basic-predictor",
|
|
34
|
-
tag: "0.
|
|
35
|
-
checksum: "sha256:
|
|
35
|
+
tag: "0.2.2",
|
|
36
|
+
checksum: "sha256:b4b24cce742d43329b6cc458770f7be87f13bba4349f5acfc466441f143dc27c",
|
|
36
37
|
},
|
|
37
38
|
consumerParameters: consumerParameters,
|
|
38
39
|
};
|
|
@@ -52,11 +53,11 @@ const publish = async (folder, connection, provider, dryRun) => {
|
|
|
52
53
|
.build();
|
|
53
54
|
const asset = new nautilus_1.AssetBuilder()
|
|
54
55
|
.setType("algorithm")
|
|
55
|
-
.setName("SciKit-
|
|
56
|
+
.setName("SciKit-Learn Model Trainer")
|
|
56
57
|
.setAuthor("Universitat de Lleida (UdL)")
|
|
57
58
|
.setOwner(connection.wallet.address)
|
|
58
59
|
.setDescription((0, fs_1.readFileSync)(`${folder}/description.md`, "utf8"))
|
|
59
|
-
.addTags(["ml", "sklearn", "scikit-learn", "tabular-data", "pandas", "udl"])
|
|
60
|
+
.addTags(["ml", "sklearn", "scikit-learn", "tabular-data", "pandas", "udl", "agrospai"])
|
|
60
61
|
.setLicense("MIT")
|
|
61
62
|
.setNftData({
|
|
62
63
|
name: "UdL scikit-learn model trainer",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/publish/samples/basic-predictor/index.ts"],"names":[],"mappings":";;AAAA,2BAAkC;AAClC,iDAI4B;AAC5B,iDAA6E;AAI7E,MAAM,OAAO,GAAG,KAAK,EACnB,MAAc,EACd,UAAe,EACf,QAAgB,EAChB,MAAe,EACf,EAAE;IAEF,4BAA4B;IAC5B,MAAM,yBAAyB,GAAG,IAAI,mCAAwB,EAAE,CAAC;IACjE,MAAM,kBAAkB,GAAwB,EAAE,CAAC;IAEnD,kBAAkB,CAAC,IAAI,CACrB,yBAAyB;SACtB,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/publish/samples/basic-predictor/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "pontus-x_cli",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.7",
|
|
4
4
|
"main": "dist/index.js",
|
|
5
5
|
"bin": {
|
|
6
6
|
"pontus-x_cli": "./dist/index.js"
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
"scripts": {
|
|
9
9
|
"start": "NODE_NO_WARNINGS=1 ts-node src/index.ts",
|
|
10
10
|
"build": "tsc && chmod +x ./dist/index.js && npm run copy-templates",
|
|
11
|
-
"copy-templates": "copyfiles -u 1 src/gaia-x_compliance/generate-
|
|
11
|
+
"copy-templates": "copyfiles -u 1 src/gaia-x_compliance/generate-credentials/templates/* dist",
|
|
12
12
|
"clean": "rm -rf ./dist/",
|
|
13
13
|
"rebuild": "npm run clean & npm run build",
|
|
14
14
|
"local-install": "npm install -g ."
|
|
@@ -17,7 +17,12 @@
|
|
|
17
17
|
"type": "git",
|
|
18
18
|
"url": "https://github.com/rhizomik/pontus-x_cli.git"
|
|
19
19
|
},
|
|
20
|
-
"keywords": [
|
|
20
|
+
"keywords": [
|
|
21
|
+
"data space",
|
|
22
|
+
"cli",
|
|
23
|
+
"pontus-x",
|
|
24
|
+
"gaia-x"
|
|
25
|
+
],
|
|
21
26
|
"author": "Roberto García <https://rhizomik.net/~roberto>",
|
|
22
27
|
"license": "Apache-2.0",
|
|
23
28
|
"bugs": {
|
|
@@ -35,13 +40,17 @@
|
|
|
35
40
|
"ethers": "^5.7.2",
|
|
36
41
|
"figlet": "^1.7.0",
|
|
37
42
|
"handlebars": "^4.7.8",
|
|
43
|
+
"minimist": "^1.2.8",
|
|
38
44
|
"readline-sync": "^1.4.10",
|
|
45
|
+
"tabtab": "^3.0.2",
|
|
39
46
|
"ts-node": "^10.9.2"
|
|
40
47
|
},
|
|
41
48
|
"devDependencies": {
|
|
42
49
|
"@types/figlet": "^1.7.0",
|
|
50
|
+
"@types/minimist": "^1.2.5",
|
|
43
51
|
"@types/node": "^22.13.4",
|
|
44
52
|
"@types/readline-sync": "^1.4.8",
|
|
53
|
+
"@types/tabtab": "^3.0.4",
|
|
45
54
|
"copyfiles": "^2.4.1",
|
|
46
55
|
"typescript": "^5.7.3"
|
|
47
56
|
},
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/gaia-x_compliance/generate-participant-credentials/index.ts"],"names":[],"mappings":"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"}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|