Skip to content

Commit

Permalink
Merge pull request #470 from eclipse-tractusx/dpp-tutorial/readme
Browse files Browse the repository at this point in the history
chore: updated guides, fixed issues and typos
  • Loading branch information
matbmoser authored Dec 6, 2024
2 parents a4dd281 + cae6763 commit 2581eb2
Show file tree
Hide file tree
Showing 6 changed files with 119 additions and 52 deletions.
27 changes: 6 additions & 21 deletions dpp-tutorial/builder-path.md
Original file line number Diff line number Diff line change
Expand Up @@ -251,11 +251,8 @@ After creation of the digital twin in previous step, add the twin into Digital T
<summary>Click to see the Windows command</summary>

```bash
curl.exe -v -X POST "<DIGITAL_TWIN_REGISTRY_URL>/shell-descriptors" `
-H "Content-Type: application/json" `
--data-binary "@resources/<YOUR_DT_JSON>.json"
curl.exe -v -X POST "<DIGITAL_TWIN_REGISTRY_URL>/shell-descriptors" -H "Content-Type: application/json" -H "Edc-Bpn: BPNL00000003CSGV" --data-binary "@resources/<YOUR_DT_JSON>.json"
```

</details>


Expand All @@ -264,11 +261,8 @@ curl.exe -v -X POST "<DIGITAL_TWIN_REGISTRY_URL>/shell-descriptors" `
<summary>Click here to see the Mac & Linux command</summary>

```bash
curl --location --request POST '<DIGITAL_TWIN_REGISTRY_URL>/shell-descriptors' \
--header 'Content-Type: application/json' \
--data '@resources/<YOUR_DT_JSON>.json'
curl --location --request POST '<DIGITAL_TWIN_REGISTRY_URL>/shell-descriptors' --header 'Content-Type: application/json' --header "Edc-Bpn: BPNL00000003CSGV" --data '@resources/<YOUR_DT_JSON>.json'
```

</details>

> [!Note]
Expand All @@ -295,8 +289,7 @@ Base64 Encoded: dXJuOnV1aWQ6M2Y4OWQwZDQtZTExYy1mODNiLTE2ZmQtNzMzYzYzZDRlMTIx
<summary>Click to see the Windows command</summary>

```bash
curl.exe -v -X GET "<DIGITAL_TWIN_REGISTRY_URL>/shell-descriptors/<DIGITAL_TWIN_ID_BASE64_ENCODED>" `
-H "Content-Type: application/json"
curl.exe -v -X GET "<DIGITAL_TWIN_REGISTRY_URL>/shell-descriptors/<DIGITAL_TWIN_ID_BASE64_ENCODED>" -H "Content-Type: application/json" -H "Edc-Bpn: BPNL00000003CSGV"
```
</details>

Expand All @@ -305,8 +298,7 @@ curl.exe -v -X GET "<DIGITAL_TWIN_REGISTRY_URL>/shell-descriptors/<DIGITAL_TWIN_
<summary>Click here to see the Mac & Linux command</summary>

```bash
curl --location --request GET '<DIGITAL_TWIN_REGISTRY_URL>/shell-descriptors/<DIGITAL_TWIN_ID_BASE64_ENCODED>' \
--header 'Content-Type: application/json'
curl --location --request GET '<DIGITAL_TWIN_REGISTRY_URL>/shell-descriptors/<DIGITAL_TWIN_ID_BASE64_ENCODED>' --header 'Content-Type: application/json' --header 'Edc-Bpn: BPNL00000003CSGV'
```

</details>
Expand Down Expand Up @@ -349,9 +341,7 @@ In case of error, you can always modify your digital twin using the following co
<summary>Click to see the Windows command</summary>

```bash
curl.exe -Method Put -Uri "<DIGITAL_TWIN_REGISTRY_URL>/shell-descriptors/<DIGITAL_TWIN_ID_BASE64_ENCODED>" `
-ContentType "application/json" `
-InFile "resources\<YOUR_DT_JSON>.json"
curl.exe -v -X PUT "<DIGITAL_TWIN_REGISTRY_URL>/shell-descriptors/<DIGITAL_TWIN_ID_BASE64_ENCODED>" -H "Content-Type: application/json" -H "Edc-Bpn: BPNL00000003CSGV" --data-binary "@<YOUR_DT_JSON>.json"
```
</details>

Expand All @@ -360,18 +350,13 @@ curl.exe -Method Put -Uri "<DIGITAL_TWIN_REGISTRY_URL>/shell-descriptors/<DIGITA
<summary>Click here to see the Mac & Linux command</summary>

```bash
curl --location --request PUT '<DIGITAL_TWIN_REGISTRY_URL>/shell-descriptors/<DIGITAL_TWIN_ID_BASE64_ENCODED>' \
--header 'Content-Type: application/json' \
--data '@resources/<YOUR_DT_JSON>.json'
curl --location --request PUT '<DIGITAL_TWIN_REGISTRY_URL>/shell-descriptors/<DIGITAL_TWIN_ID_BASE64_ENCODED>' --header 'Content-Type: application/json' --header "Edc-Bpn: BPNL00000003CSGV" --data '@resources/<YOUR_DT_JSON>.json'
```
</details>

If everything works fine, then you have reached the end of data provisioning guide.


Congratulations, you have successfully setup the data provider. It is now available and ready to exchange data in the dataspace.

You can now process further with the original DPP-Tutorial at Step 3 - Generate the QR-Code. Click <a href= "/dpp-tutorial/README.md#step-3---generate-the-qr-code" target="_blank">here</a> to access the next steps.
Expand Down
120 changes: 97 additions & 23 deletions dpp-tutorial/irs-drill-down.md
Original file line number Diff line number Diff line change
Expand Up @@ -146,24 +146,56 @@ The BOMAsBuilt relationships, you stored temporarily in your notepad editor from
Open a new terminal and run the following command to add your data into the data service:
> POST /<<BOMAsBuiltID>BOMAsBuiltID>
*Windows*
<details>
<summary>Click to see the Windows command</summary>

```bash
curl --location '<DATA_SERVICE_URL>/<BOMAsBuiltID>' \
--header 'Content-Type: application/json' \
--data "@<YOUR_JSON_FILE>.json"
curl.exe -v -X POST "<Data_SERVICE_URL>/<BOMAsBuiltID>" -H "Content-Type: application/json"--data-binary "@<YOUR_JSON_FILE>.json"
```

</details>

*Mac & Linux*
<details>
<summary>Click here to see the Mac & Linux command</summary>

```bash
curl --location '<DATA_SERVICE_URL>/<BOMAsBuiltID>' --header 'Content-Type: application/json' --data "@<YOUR_JSON_FILE>.json"
```

</details>


> [!TIP]
> The placeholder <YOUR_JSON_FILE> is the json file which was stored in [step 2](#2-lookup-bomasbuilt-relationships-of-the-component)

Verify your data is registerd in the service

> GET /<<BOMAsBuiltID>BOMAsBuiltID>
*Windows*
<details>
<summary>Click to see the Windows command</summary>

```bash
curl --location '<DATA_SERVICE_URL>/<BOMAsBuiltID>' \
--header 'Content-Type: application/json' \
curl.exe -v -X GET "<DATA_SERVICE_URL>/<BOMAsBuiltID>" -H "Content-Type: application/json"
```

</details>

*Mac & Linux*
<details>
<summary>Click here to see the Mac & Linux command</summary>

```bash
curl --location '<DATA_SERVICE_URL>/<BOMAsBuiltID>'--header 'Content-Type: application/json'
```

</details>


## 4° Lookup SerialPart Item of the Component


Expand Down Expand Up @@ -220,23 +252,52 @@ The serial part data, you stored temporarily in your notepad editor from [step 4
Open a new terminal and run the following command to add your data into the data service:
> POST /<SerialPartID<SerialPartID>>
*Windows*
<details>
<summary>Click to see the Windows command</summary>

```bash
curl.exe -v -X POST "<Data_SERVICE_URL>/<SerialPartID>" -H "Content-Type: application/json" --data-binary "@<YOUR_JSON_FILE>.json"
```
</details>

*Mac & Linux*
<details>
<summary>Click here to see the Mac & Linux command</summary>

```bash
curl --location '<DATA_SERVICE_URL>/<SerialPartID>' \
--header 'Content-Type: application/json' \
--data "@<YOUR_JSON_FILE>.json"
curl --location '<DATA_SERVICE_URL>/<SerialPartID>' --header 'Content-Type: application/json' --data "@<YOUR_JSON_FILE>.json"
```

</details>


> [!TIP]
> The placeholder <YOUR_JSON_FILE> is the json file which was stored in [step 4](#4-lookup-serialpart-item-of-the-component)

Verify your data is registerd in the service

> GET /<SerialPartID<SerialPartID>>
*Windows*
<details>
<summary>Click to see the Windows command</summary>

```bash
curl.exe -v -X GET "<Data_SERVICE_URL>/<SerialPartID>" -H "Content-Type: application/json"
```
</details>

*Mac & Linux*
<details>
<summary>Click here to see the Mac & Linux command</summary>

```bash
curl --location '<DATA_SERVICE_URL>/<SerialPartID>' \
--header 'Content-Type: application/json' \
curl --location '<DATA_SERVICE_URL>/<SerialPartID>' --header 'Content-Type: application/json'
```
</details>


## 6° Add BOMAsBuilt and SerialPart to Existing Digital Twin

Expand All @@ -249,24 +310,38 @@ The digital twin registered can be checked/verified from the following command:
```bash
Example:
Digital Twin Id: urn:uuid:3f89d0d4-e11c-f83b-16fd-733c63d4e121
Base64 Encoded: dXJuOnV1aWQ6M2Y4OWQwZDQtZTExYy1mODNiLTE2ZmQtNzMzYzYzZDRlMTIx
Digital Twin Id: 3f89d0d4-e11c-f83b-16fd-733c63d4e121
Base64 Encoded: M2Y4OWQwZDQtZTExYy1mODNiLTE2ZmQtNzMzYzYzZDRlMTIx
```

> GET /shell-descriptors/<DIGITAL_TWIN_ID_BASE64_ENCODED>

*Windows*
<details>
<summary>Click to see the Windows command</summary>

```bash
curl.exe -X GET "<DIGITAL_TWIN_REGISTRY_URL>/shell-descriptors/<DIGITAL_TWIN_ID_BASE64_ENCODED>" -H "Content-Type: application/json" -H "Edc-Bpn: BPNL00000003CSGV"
```

</details>

*Mac & Linux*
<details>
<summary>Click here to see the Mac & Linux command</summary>

```bash
curl --location --request GET '<DIGITAL_TWIN_REGISTRY_URL>/shell-descriptors/<DIGITAL_TWIN_ID_BASE64_ENCODED>' \
--header 'Content-Type: application/json' \
--header 'Edc-Bpn: BPNL00000003CSGV'
curl --location --request GET '<DIGITAL_TWIN_REGISTRY_URL>/shell-descriptors/<DIGITAL_TWIN_ID_BASE64_ENCODED>' --header 'Content-Type: application/json' --header 'Edc-Bpn: BPNL00000003CSGV'
```
</details>

Example JSON response:
```json
{
"description": [],
"displayName": [],
"id": "urn:uuid:a530baad-77ad-4ffc-a925-f3a207839791",
"id": "a530baad-77ad-4ffc-a925-f3a207839791",
"specificAssetIds": [
{
"name": "manufacturerPartId",
Expand Down Expand Up @@ -304,6 +379,9 @@ Example JSON response:

- Copy your response and add the following json content into the submodelDescriptors array:

> [!IMPORTANT]
> Please ensure that each Id attribute must contain the `urn:uuid` as prefix. The Digital Twin Id is an exception.
```json
{
"endpoints": [
Expand Down Expand Up @@ -412,21 +490,17 @@ Update the digital twin submodel using the following command:
<summary>Click to see the Windows command</summary>

```bash
curl.exe -v -X PUT "<DIGITAL_TWIN_REGISTRY_URL>/shell-descriptors/<DIGITAL_TWIN_ID_BASE64_ENCODED>" `
-H "Content-Type: application/json"
--data-binary "@<YOUR_JSON_FILE>.json"`"
curl.exe -v -X PUT "<DIGITAL_TWIN_REGISTRY_URL>/shell-descriptors/<DIGITAL_TWIN_ID_BASE64_ENCODED>" -H "Content-Type: application/json" -H "Edc-Bpn: BPNL00000003CSGV" --data-binary "@<YOUR_DT_JSON>.json"
```
</details>


*Mac & Linux*
<details>
<summary>Click here to see the Mac & Linux command</summary>

```bash
curl --location '<DIGITAL_TWIN_REGISTRY_URL>/shell-descriptors/<DIGITAL_TWIN_ID_BASE64_ENCODED>' \
--header 'Content-Type: application/json' \
--data "@<YOUR_JSON_FILE>.json"
curl --location --request PUT '<DIGITAL_TWIN_REGISTRY_URL>/shell-descriptors/<DIGITAL_TWIN_ID_BASE64_ENCODED>' --header 'Content-Type: application/json' --header "Edc-Bpn: BPNL00000003CSGV" --data '@resources/<YOUR_DT_JSON>.json'
```
</details>

Expand Down
4 changes: 2 additions & 2 deletions dpp-tutorial/resources/digital-twins/car-dt-template.json
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,7 @@
{
"interface": "SUBMODEL-3.0",
"protocolInformation": {
"href": "<EDC_DATAPLANE_URL>/api/public/<digitalTwinSubmodelId>",
"href": "<EDC_DATAPLANE_URL>/api/public/urn:uuid:<digitalTwinSubmodelId>",
"endpointProtocol": "HTTP",
"endpointProtocolVersion": ["1.1"],
"subprotocol": "DSP",
Expand All @@ -90,7 +90,7 @@
}
],
"idShort": "digitalProductPass",
"id": "<digitalTwinSubmodelId>",
"id": "urn:uuid:<digitalTwinSubmodelId>",
"semanticId": {
"type": "ExternalReference",
"keys": [
Expand Down
4 changes: 2 additions & 2 deletions dpp-tutorial/resources/digital-twins/example-dt.json
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,7 @@
{
"interface": "SUBMODEL-3.0",
"protocolInformation": {
"href": "<EDC_DATAPLANE_URL>/api/public/<digitalTwinSubmodelId>",
"href": "<EDC_DATAPLANE_URL>/api/public/urn:uuid:<digitalTwinSubmodelId>",
"endpointProtocol": "HTTP",
"endpointProtocolVersion": ["1.1"],
"subprotocol": "DSP",
Expand All @@ -90,7 +90,7 @@
}
],
"idShort": "digitalProductPass",
"id": "<digitalTwinSubmodelId>",
"id": "urn:uuid:<digitalTwinSubmodelId>",
"semanticId": {
"type": "ExternalReference",
"keys": [
Expand Down

Large diffs are not rendered by default.

14 changes: 11 additions & 3 deletions dpp-tutorial/verification.md
Original file line number Diff line number Diff line change
Expand Up @@ -125,20 +125,28 @@ Example Response:

### Step 1.3 Issue the Verifiable Credentials

- Copy the DPP aspect model from the Step 2.1.1 and replace `<DPP_JSON_PAYLOAD_OBJECT>` with the payload that you copied.
- Copy the DPP aspect model API response from the Step 2.1.2 and replace `<DPP_JSON_PAYLOAD_OBJECT>` with the payload that you copied.

- Subsitute `<DPP_PROVIDER_WALLET_URL>` with its value given in a paper.

- Execute the API call.

### Step 1.4 Update Verifiable Aspect in Submodel Server

- Copy the API response from the Step 1.3 and replace `<PASTE_RESPONSE_FROM_STEP_1.3>` with the payload that you copied.

- Subsitute the url placeholders: `<DATA_SERVICE_URL>` from the given paper and `<digitalTwinSubmodelId>` which was used in step 2.1.1 in the collection

- Execute the API call.


## Verification Section

### Verify the Proof

- Copy the response from the [Step 1.3](#step-13-issue-the-verifiable-credentials)
- Copy the Json response from the API Step 1.3 in insomnia collection

- Paste the response and replace `<PASTE_RESPONSE_FROM_STEP_1.3>`
- Paste the response and replace `<PASTE_RESPONSE_FROM_STEP_1.4>`

- Execute the API call.

Expand Down

0 comments on commit 2581eb2

Please sign in to comment.