zf

zenflows testing
git clone https://s.sonu.ch/~srfsh/zf.git
Log | Files | Refs | Submodules | README | LICENSE

commit 4b9c1cee7babcec058fe445f9b6d673420733fdb
parent 21ded61daf58f31bfcedcb7e9f8c6386ebdd4729
Author: Jaromil <jaromil@dyne.org>
Date:   Thu, 21 Jul 2022 10:12:07 +0200

completed docs

Diffstat:
Mdocs/user-creation-flow.md | 22++++++++++++++++++++++
Mmix.exs | 1+
Azencode/src/create_otp.zen | 4++++
Mzencode/src/keygen.zen | 2+-
4 files changed, 28 insertions(+), 1 deletion(-)

diff --git a/docs/user-creation-flow.md b/docs/user-creation-flow.md @@ -21,3 +21,25 @@ participant E as Email B->B: save user pub keys B->>F: OK, confirm creation ``` + +## User create/claim + +User **creation** should create a new corresponding Agent in Valueflows (User and Agent coincide) + +User **claiming** should happen if an **Agent with the same Email** already exists in the database, then the Agent is filled with the new information from this process (public keys, name, etc.) and becomes valid for login. + +## Public keys + +The public keys are created in the [keygen.zen](zencode/src/keygen.zen) script and they are structured as follows: + +``` + ethereum_address = octet[20] , + pubkeys = { + ecdh_public_key = octet[65] , + eddsa_public_key = octet[32] , + reflow_public_key = ecp2[192] , + schnorr_public_key = octet[48] + } +``` + +They values stated above are specifying their binary format in Zenroom, however both the Frontend and the Backend do not need to decode them and access them in binary format, all they need to do is to save them as encoded strings, each in their own respecting encoding (most base64, some hex). diff --git a/mix.exs b/mix.exs @@ -93,6 +93,7 @@ defp docs() do "docs/software-licences.md", "docs/dependency-management.md", "docs/style-guide.md", + "docs/user-creation-flow.md", "LICENSE", "CONTRIBUTING.md", ], diff --git a/zencode/src/create_otp.zen b/zencode/src/create_otp.zen @@ -0,0 +1,3 @@ +Given nothing +When I create the random object of '32' bytes +then print the 'random object' as 'base58' +\ No newline at end of file diff --git a/zencode/src/keygen.zen b/zencode/src/keygen.zen @@ -22,7 +22,7 @@ When I create the eddsa public key and I move 'eddsa public key' in 'pubkeys' When I create the ethereum address - +and schema Then print the 'keyring' and print the 'pubkeys' and print the 'ethereum address'