From b930a7b95d45b28faae6d41ed0f819a9b476c060 Mon Sep 17 00:00:00 2001 From: andysign Date: Thu, 23 Nov 2023 17:06:30 +0000 Subject: [PATCH 1/7] Added the first piece of documentation for hyproof --- docs/hyproof/index.md | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 docs/hyproof/index.md diff --git a/docs/hyproof/index.md b/docs/hyproof/index.md new file mode 100644 index 0000000..1ae0965 --- /dev/null +++ b/docs/hyproof/index.md @@ -0,0 +1,35 @@ +# DSCP Lang Flows For HyProof + +DSCP is a _domain-specific-language_ ( DSL ) for designing **[token process flows](https://github.com/digicatapult/dscp-documentation/blob/main/docs/tokenModels/language.md)**. This new way of doing flows has a compiler for automatically generating process **[guard rails](https://github.com/digicatapult/dscp-documentation/blob/main/docs/tokenModels/guardRails.md)** using the previously mentioned purpose built compiler. + +The **`dscp-lang`**, tool we use for parsing token flows, can be found in the **[dscp-node](https://github.com/digicatapult/dscp-node)** repository. + +To differentiate documents with code that has a high-level of abstraction from other things, let's consider using the custom file extension **`*.dscp`**. + +## DSCP Lang Flows For HyProof: Overview + +In terms of how the information that needs to be persisted in on-chain looks like, it is important explain the big picture. + +The process is currently designed in such a way so that certain users can mint out of nothing, burn-and-create and burn tokens. There are two token types - (1) the first one represents NFT tokens that have no Embodied CO2 data attached to them yet and only Hydrogen amount in g while (2) the second one has Embodied CO2 while the hydrogen amount is removed to avoid being redundant. + +Assuming a simple user flow made out of two steps (1) token **A** gets created from nothingness; (2) token **B** gets spawned from the previously one: + +* Token **A** will have two key-value pairs: (A1) hydrogen owner where the owner will be an address like the one owned by Heidi the H producer and (A2) the respective H amount. + +* Token **B** will have three key-value pairs: (B1) which is basically a clone of A1, (B2) energy owner where the owner will be an address like the one owned by Emma the energy maker or any other address different than the A1 address and (B3) the embodied CO2. + +## DSCP Lang Flows For HyProof: Preparing and Testing + +To compile the final _token flow json_ using the _token dscp code_ as an input the **[dscp-lang](https://github.com/digicatapult/dscp-node/tree/main/tools/lang)** needs to be used, therefore a command like the following: + +```sh +dscp-lang -- build -v ./hyproof-token-flows.dscp -o hyproof-token-flows.json +``` + +To create, as in, deploy the new token flows ( described in the json ) into the node's _processValidation_ set, something like the following can be used ( make sure the chain is running first ): + +```sh +process-management create -h localhost -p 9944 -u //Alice -f hyproof-token-flows.json # OR 127.0.0.1 +``` + +--- From 729fb5a1cab42569b185bec25fda3eae5d4ea20b Mon Sep 17 00:00:00 2001 From: andysign Date: Thu, 23 Nov 2023 17:37:35 +0000 Subject: [PATCH 2/7] Small fixes --- docs/hyproof/index.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/hyproof/index.md b/docs/hyproof/index.md index 1ae0965..1dc21c2 100644 --- a/docs/hyproof/index.md +++ b/docs/hyproof/index.md @@ -10,11 +10,11 @@ To differentiate documents with code that has a high-level of abstraction from o In terms of how the information that needs to be persisted in on-chain looks like, it is important explain the big picture. -The process is currently designed in such a way so that certain users can mint out of nothing, burn-and-create and burn tokens. There are two token types - (1) the first one represents NFT tokens that have no Embodied CO2 data attached to them yet and only Hydrogen amount in g while (2) the second one has Embodied CO2 while the hydrogen amount is removed to avoid being redundant. +The process is currently designed in such a way so that certain users can mint out of nothing, burn-and-create and burn tokens. There are two token types - (1) the first one represents NFT tokens that have no Embodied CO2 data attached to them yet and only Hydrogen amount in whatever unit we decide to use here while (2) the second one has Embodied CO2 while the hydrogen amount is removed to avoid being redundant. Assuming a simple user flow made out of two steps (1) token **A** gets created from nothingness; (2) token **B** gets spawned from the previously one: -* Token **A** will have two key-value pairs: (A1) hydrogen owner where the owner will be an address like the one owned by Heidi the H producer and (A2) the respective H amount. +* Token **A** will have two key-value pairs: (A1) hydrogen owner where the owner will be an address like the one owned by Heidi the H producer, (A2) the proposed owner where the owner will be an address like the one owner by the Emma the E producer and (A3) the respective H amount. * Token **B** will have three key-value pairs: (B1) which is basically a clone of A1, (B2) energy owner where the owner will be an address like the one owned by Emma the energy maker or any other address different than the A1 address and (B3) the embodied CO2. From 767c75ab45da813f01737fa0f0746230d346ba76 Mon Sep 17 00:00:00 2001 From: andysign Date: Sun, 3 Dec 2023 20:14:14 +0000 Subject: [PATCH 3/7] Added a small fix to the hyproof index md document. --- docs/hyproof/index.md | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/docs/hyproof/index.md b/docs/hyproof/index.md index 1dc21c2..eabb450 100644 --- a/docs/hyproof/index.md +++ b/docs/hyproof/index.md @@ -6,6 +6,8 @@ The **`dscp-lang`**, tool we use for parsing token flows, can be found in the ** To differentiate documents with code that has a high-level of abstraction from other things, let's consider using the custom file extension **`*.dscp`**. +--- + ## DSCP Lang Flows For HyProof: Overview In terms of how the information that needs to be persisted in on-chain looks like, it is important explain the big picture. @@ -18,18 +20,20 @@ Assuming a simple user flow made out of two steps (1) token **A** gets created f * Token **B** will have three key-value pairs: (B1) which is basically a clone of A1, (B2) energy owner where the owner will be an address like the one owned by Emma the energy maker or any other address different than the A1 address and (B3) the embodied CO2. +--- + ## DSCP Lang Flows For HyProof: Preparing and Testing To compile the final _token flow json_ using the _token dscp code_ as an input the **[dscp-lang](https://github.com/digicatapult/dscp-node/tree/main/tools/lang)** needs to be used, therefore a command like the following: ```sh -dscp-lang -- build -v ./hyproof-token-flows.dscp -o hyproof-token-flows.json +dscp-lang -- build -v ./processFlows.dscp -o processFlows.json ``` To create, as in, deploy the new token flows ( described in the json ) into the node's _processValidation_ set, something like the following can be used ( make sure the chain is running first ): ```sh -process-management create -h localhost -p 9944 -u //Alice -f hyproof-token-flows.json # OR 127.0.0.1 +process-management create -h localhost -p 9944 -u //Alice -f processFlows.json # OR 127.0.0.1 ``` --- From 7d17a81d06a8e1dd7bcf442ba0aa0da7abd1a58a Mon Sep 17 00:00:00 2001 From: andysign Date: Sun, 3 Dec 2023 20:45:25 +0000 Subject: [PATCH 4/7] Moved index to token flows md --- docs/hyproof/{index.md => token-flows.md} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename docs/hyproof/{index.md => token-flows.md} (100%) diff --git a/docs/hyproof/index.md b/docs/hyproof/token-flows.md similarity index 100% rename from docs/hyproof/index.md rename to docs/hyproof/token-flows.md From e8ec53996af8e60fe0a0253f9895535ed121a068 Mon Sep 17 00:00:00 2001 From: andysign Date: Sun, 3 Dec 2023 20:51:02 +0000 Subject: [PATCH 5/7] Added link to .dscp and .json file --- docs/hyproof/token-flows.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/docs/hyproof/token-flows.md b/docs/hyproof/token-flows.md index eabb450..5cab8d1 100644 --- a/docs/hyproof/token-flows.md +++ b/docs/hyproof/token-flows.md @@ -22,6 +22,14 @@ Assuming a simple user flow made out of two steps (1) token **A** gets created f --- +## DSCP Lang Flows For HyProof: The Token Flows DSCP Code + +The token model has been written originally in our Domain Specific Language ( DSCP DSL Lang ) and added to the API repo, as in **`dscp-hyproof-api`**, specifically, in **[processFlows.dscp](https://github.com/digicatapult/dscp-hyproof-api/blob/main/processFlows.dscp)**. + +The final JSON file containing all the flow guardrail restrictions has been compiled from that file. The file has been added to the same repo, more exactly, in **[processFlows.json](https://github.com/digicatapult/dscp-hyproof-api/blob/main/processFlows.json)**. + +--- + ## DSCP Lang Flows For HyProof: Preparing and Testing To compile the final _token flow json_ using the _token dscp code_ as an input the **[dscp-lang](https://github.com/digicatapult/dscp-node/tree/main/tools/lang)** needs to be used, therefore a command like the following: From f504deb26ab58677310d9e4ae6d8a5d48d0b0b8b Mon Sep 17 00:00:00 2001 From: andysign Date: Sun, 3 Dec 2023 20:56:15 +0000 Subject: [PATCH 6/7] Added text in the main index.md file. --- docs/hyproof/index.md | 48 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 docs/hyproof/index.md diff --git a/docs/hyproof/index.md b/docs/hyproof/index.md new file mode 100644 index 0000000..aa1e23b --- /dev/null +++ b/docs/hyproof/index.md @@ -0,0 +1,48 @@ +# HyProof + +## HyProof: Overview + +**HyProof**, aka **Hydrogen Proof** is the codename for our new **HII Seed** blockchain project. _HII Seed_ aims to push the boundaries when it comes to building and researching the socio-technical acceptability and business implications of a fully digitised UK certification infrastructure for verifiable hydrogen provenance ( green hydrogen to be more exact ), and develop an MVP-grade demonstration of the same. + +As verifiable hydrogen provenance seems to be the key focus nowadays and as this seems to be a major business driver for UK exports and domestic usage, this blockchain is trying to do exactly that. + +This is the opportune moment for HII-SEED to shine a light on this alternate, more trustworthy, more performant, lower cost future to +enable the UK hydrogen ecosystem. + +For this proof of concept it has been decided that the consensus layer will be constructed using our in-house build **[DSCP](https://github.com/digicatapult/dscp-documentation)** ( **D**istributed-**S**upply-**C**hain-**P**latform ). However, this layer will not include the vanilla default version of DSCP but a special flavor of this platform that uses a purposely-build custom process flow. + +--- + +## HyProof: Process Flows + +The token model or better said, the the definition of the two token types plus flow restriction functions for this project can be found with proper explanations in the **[token-flows.md](./token-flows.md)** document. + +The token model is also available in our Domain Specific Language ( .DSCP ) and can be found in **`dscp-hyproof-api`** repository, more exactly in **[processFlows.dscp](https://github.com/digicatapult/dscp-hyproof-api/blob/main/processFlows.dscp)**. + +--- + +## HyProof: Service Architecture Diagram + +TBD + +--- + +## HyProof: API Flow + +TBD + +--- + +## HyProof: Data Flow & Architecture Diagram + +TBD + +--- + +## HyProof: Glossary of Terms + +TBD + +--- + + From b5c626bfead1ec41205f3502f552940da9b19c23 Mon Sep 17 00:00:00 2001 From: andysign Date: Mon, 4 Dec 2023 09:08:50 +0000 Subject: [PATCH 7/7] Small fix --- docs/hyproof/index.md | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/docs/hyproof/index.md b/docs/hyproof/index.md index aa1e23b..db999e3 100644 --- a/docs/hyproof/index.md +++ b/docs/hyproof/index.md @@ -33,7 +33,13 @@ TBD --- -## HyProof: Data Flow & Architecture Diagram +## HyProof: Data Flow + +TBD + +--- + +## HyProof: Architecture Diagram TBD